public void UpdateCaretPosition() { CodeDocument codeDocument = this.sandDockManager1.ActiveTabbedDocument as CodeDocument; if (codeDocument == null) { return; } NomadTextBox.Position caretPosition = codeDocument.Content.CaretPosition; this.lineStatusLabel.Text = "Line " + (caretPosition.line + 1); this.columnStatusLabel.Text = "Col " + (caretPosition.column + 1); this.codeMapViewerDock1.Image = codeDocument.GetLineImage(codeDocument.Content.CaretPosition.line); }
public void ShowCodeHelper() { if (this.m_caretPosition.column == 0) { return; } string line = this.m_lines[this.m_caretPosition.line].line; int num = line.LastIndexOf('(', this.m_caretPosition.column - 1); if (num == -1) { return; } int num2 = base.FindWordStart(line, num); string key = line.Substring(num2, num - num2); Wilderness.FunctionDef function; if (!NomadCodeBox.s_functions.TryGetValue(key, out function)) { return; } NomadTextBox.Position position = new NomadTextBox.Position(this.m_caretPosition.line, num + 1); int x; int num3; base.GetPointFromPosition(position, out x, out num3); int num4 = line.IndexOf(')', this.m_caretPosition.column - 1); if (num4 == -1) { num4 = line.Length; } this.m_codeHelperRange = new NomadTextBox.Selection(new NomadTextBox.Position(this.m_caretPosition.line, num), new NomadTextBox.Position(this.m_caretPosition.line, num4)); if (this.m_codeHelper == null) { this.m_codeHelper = new CodeHelper(); } else { this.m_codeHelper.Visible = false; } this.m_codeHelper.Setup(function); this.m_codeHelper.Location = new Point(x, num3 + base.LineHeight); base.SuspendLayout(); this.m_codeHelper.Parent = this; base.ResumeLayout(); this.m_codeHelper.Visible = true; }
protected override void DrawTextFormat(Graphics g, IntPtr hFont, NomadTextBox.Position position, int x, int y, string s) { Color color = this.ForeColor; int i; int num; for (i = 0; i < s.Length; i = num) { i = base.SkipSpaceEnd(s, i); string token = this.GetToken(s, i); if (token == null) { break; } num = i + token.Length; if (token == "--") { x += base.DrawText(g, hFont, position, x, y, s.Substring(position.column, i - position.column), color); color = Color.Green; position.column = i; i = s.Length; break; } Color color2; if (NomadCodeBox.s_keywords.ContainsKey(token)) { color2 = Color.Blue; } else { if (NomadCodeBox.s_functions.ContainsKey(token)) { color2 = Color.Maroon; } else { color2 = this.ForeColor; } } if (color != color2) { x += base.DrawText(g, hFont, position, x, y, s.Substring(position.column, i - position.column), color); color = color2; position.column = i; } } x += base.DrawText(g, hFont, position, x, y, s.Substring(position.column, i - position.column), color); }
protected override void OnContentChanged(NomadTextBox.Position oldRef, NomadTextBox.Position newRef) { base.UpdatePosition(ref this.m_codeHelperRange.start, oldRef, newRef); base.UpdatePosition(ref this.m_codeHelperRange.end, oldRef, newRef); base.OnContentChanged(oldRef, newRef); }