Example #1
0
        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);
        }
Example #2
0
        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;
        }
Example #3
0
        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);
        }
Example #4
0
 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;
 }
Example #5
0
 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);
 }