Пример #1
0
 private void CodeEditor_RowClick(object sender, NTDLS.Windows.Forms.CodeEditor.RowMouseEventArgs e)
 {
     this.HighLightActiveLine = false;
 }
Пример #2
0
        void CodeEditor_RowMouseUp(object sender, NTDLS.Windows.Forms.CodeEditor.RowMouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                ContextMenuStrip popupMenu = new ContextMenuStrip();
                popupMenu.ItemClicked += new ToolStripItemClickedEventHandler(CodeEditor_RowMouseUp_ItemClicked);

                PopupMenuInfo menuInfo = new PopupMenuInfo();

                menuInfo.Editor = (NTDLS.Windows.Forms.CodeEditorControl)sender;
                menuInfo.Row    = menuInfo.Editor.Caret.CurrentRow;

                Point xE = menuInfo.Editor.PointToClient(Cursor.Position);

                if (menuInfo.Editor.Selection.Text.Trim().Length > 0)
                {
                    string WatchText = menuInfo.Editor.Selection.Text.Trim();
                    if (WatchText.Length > 0 && WatchText.Length < 1028)
                    {
                        if (WatchText.Length > 50)
                        {
                            WatchText = WatchText.Substring(0, 47) + "...";
                        }

                        popupMenu.Items.Add("Watch: " + WatchText, TransparentImage(Properties.Resources.TabWatch)).Tag = menuInfo.Editor.Selection.Text.Trim();
                        popupMenu.Items.Add("-");
                    }

                    if (_RunningApplication.IsRunning)
                    {
                        _RunningApplication.TipMenuItem      = new ToolStripMenuItem();
                        _RunningApplication.TipMenuItem.Text = "Properties";
                        _RunningApplication.TipMenuItem.DropDownItems.Add("Name: " + menuInfo.Editor.Selection.Text.Trim());
                        _RunningApplication.TipMenuItem.DropDownOpening += new EventHandler(CodeEditor_RowMouseUp_DropDownOpening);
                        _RunningApplication.TipMenuItem.Tag              = menuInfo.Editor.Selection.Text.Trim();

                        popupMenu.Items.Add(_RunningApplication.TipMenuItem);
                    }

                    if (popupMenu.Items.Count > 0)
                    {
                        popupMenu.Items.Add("Cut", TransparentImage(Properties.Resources.ToolCut)).Enabled = !_RunningApplication.IsRunning;
                        popupMenu.Items.Add("Copy", TransparentImage(Properties.Resources.ToolCopy));
                        popupMenu.Items.Add("Paste", TransparentImage(Properties.Resources.ToolPaste)).Enabled = !_RunningApplication.IsRunning;
                    }
                }
                else
                {
                    NTDLS.Syntax.TextPoint textPoint = menuInfo.Editor.CharFromPixel(xE.X, xE.Y);
                    if (textPoint != null)
                    {
                        //If nothing is selected, then move the cursor.
                        menuInfo.Editor.Caret.Position = textPoint;
                        menuInfo.Editor.Refresh();
                        menuInfo.Row = menuInfo.Editor.Caret.CurrentRow;

                        NTDLS.Syntax.Word word = menuInfo.Editor.Document.GetValidWordFromPos(textPoint);
                        if (word != null && word.Text.Trim().Length > 0)
                        {
                            string wordText = word.Text.Trim();
                            if (wordText.Substring(wordText.Length - 1) == ",")
                            {
                                wordText = wordText.Substring(0, wordText.Length - 1);
                            }
                            if (wordText.Trim().Length > 0)
                            {
                                string sFriendly = wordText.Trim().Replace("\r", " ").Replace("\n", " ").Replace("\t", " ");
                                if (sFriendly.Length > 50)
                                {
                                    sFriendly = sFriendly.Substring(0, 50) + "...";
                                }

                                menuInfo.Text = wordText;

                                string WatchText = wordText;
                                if (WatchText.Length > 0 && WatchText.Length < 1028)
                                {
                                    if (WatchText.Length > 50)
                                    {
                                        WatchText = WatchText.Substring(0, 47) + "...";
                                    }

                                    popupMenu.Items.Add("Watch: " + WatchText, TransparentImage(Properties.Resources.TabWatch)).Tag = wordText;
                                }

                                if (_RunningApplication.IsRunning)
                                {
                                    ToolStripMenuItem quickWatch = new ToolStripMenuItem();
                                    quickWatch.Text = "Quick Watch";

                                    quickWatch.Click += new EventHandler(CodeEditor_QuickWatch_RowMouseUp_DropDownOpening);

                                    quickWatch.Tag = wordText.Trim();

                                    popupMenu.Items.Add(quickWatch);

                                    if (popupMenu.Items.Count > 0)
                                    {
                                        popupMenu.Items.Add("-");
                                    }
                                }

                                if (_RunningApplication.IsRunning)
                                {
                                    _RunningApplication.TipMenuItem      = new ToolStripMenuItem();
                                    _RunningApplication.TipMenuItem.Text = "Properties";

                                    _RunningApplication.TipMenuItem.DropDownItems.Add("Name: " + wordText.Trim());

                                    _RunningApplication.TipMenuItem.DropDownOpening += new EventHandler(CodeEditor_RowMouseUp_DropDownOpening);

                                    _RunningApplication.TipMenuItem.Tag = wordText.Trim();

                                    popupMenu.Items.Add(_RunningApplication.TipMenuItem);
                                }

                                if (popupMenu.Items.Count > 0)
                                {
                                    popupMenu.Items.Add("-");
                                }

                                popupMenu.Items.Add("Copy", TransparentImage(Properties.Resources.ToolCopy));
                                popupMenu.Items.Add("Paste", TransparentImage(Properties.Resources.ToolPaste)).Enabled = !_RunningApplication.IsRunning;
                            }
                        }
                    }
                }

                if (popupMenu.Items.Count == 0 && menuInfo.Row != null)
                {
                    menuInfo.Text = menuInfo.Row.Text;
                    if (menuInfo.Row.Text.Length > 0)
                    {
                        popupMenu.Items.Add("Cut", TransparentImage(Properties.Resources.ToolCut)).Enabled = !_RunningApplication.IsRunning;
                        popupMenu.Items.Add("Copy", TransparentImage(Properties.Resources.ToolCopy));
                    }
                    popupMenu.Items.Add("Paste", TransparentImage(Properties.Resources.ToolPaste)).Enabled = !_RunningApplication.IsRunning;
                }

                if (popupMenu.Items.Count > 0)
                {
                    popupMenu.Items.Add("-");
                    popupMenu.Items.Add("Toggle Breakpoint", TransparentImage(Properties.Resources.ToolBreakpoint));
                    popupMenu.Tag = menuInfo;
                    popupMenu.Show(menuInfo.Editor, xE);
                }
            }
        }