Example #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;
				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;
					
					var text = new TextNode(null, input,
					                        language == "VB" || language == "VBNet" ? SupportedLanguage.VBNet : SupportedLanguage.CSharp).ToSharpTreeNode();
					var list = pad.WatchList;
					
					if(!list.WatchItems.Any(n => text.Node.FullName == ((TreeNodeWrapper)n).Node.FullName))
						list.WatchItems.Add(text);
				}
				
				pad.RefreshPad();
			}
		}
		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();
			}
		}