Ejemplo n.º 1
0
        public override void Run()
        {
            if (this.Owner is WatchPad)
            {
                WatchPad pad = (WatchPad)this.Owner;

                var inputWindow = new WatchInputBox(StringParser.Parse("${res:MainWindow.Windows.Debug.Watch.AddWatch}"),
                                                    StringParser.Parse("${res:MainWindow.Windows.Debug.Watch.EnterExpression}"));
                inputWindow.Owner = ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainWindow;
                if (inputWindow.ShowDialog() != true)
                {
                    return;
                }

                string input = inputWindow.CommandText;

                if (!string.IsNullOrEmpty(input))
                {
                    var text = new TextNode(null, input, inputWindow.ScriptLanguage).ToSharpTreeNode();
                    var list = pad.WatchList;

                    if (!list.WatchItems.Any(n => text.Node.FullName == ((TreeNodeWrapper)n).Node.FullName))
                    {
                        list.WatchItems.Add(text);
                    }
                }

                pad.InvalidatePad();
            }
        }
Ejemplo n.º 2
0
        public override void Run()
        {
            if (this.Owner is WatchPad)
            {
                WatchPad pad = (WatchPad)this.Owner;

                var inputWindow = new WatchInputBox(StringParser.Parse("${res:MainWindow.Windows.Debug.Watch.AddWatch}"),
                                                    StringParser.Parse("${res:MainWindow.Windows.Debug.Watch.EnterExpression}"));
                inputWindow.Owner = ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainWindow;
                var result = inputWindow.ShowDialog();
                if (!result.HasValue || !result.Value)
                {
                    return;
                }

                string input = inputWindow.CommandText;

                if (!string.IsNullOrEmpty(input))
                {
                    // get language
                    if (ProjectService.CurrentProject == null)
                    {
                        return;
                    }

                    string language = ProjectService.CurrentProject.Language;

                    TextNode text = new TextNode(input,
                                                 language == "VB" || language == "VBNet" ? SupportedLanguage.VBNet : SupportedLanguage.CSharp);
                    var list = pad.WatchList;

                    if (!list.WatchItems.ContainsItem(text))
                    {
                        list.WatchItems.Add(text);
                    }
                }

                pad.RefreshPad();
            }
        }