|
|
@ -79,13 +79,18 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads |
|
|
|
MessageBox.Show("You can not set name to an empty string!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); |
|
|
|
MessageBox.Show("You can not set name to an empty string!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (((TreeViewVarNode)node).Content is ValueNode) |
|
|
|
if (((TreeViewVarNode)node).Content is ValueNode) { |
|
|
|
|
|
|
|
WatchPad.Instance.Watches.RemoveAll(item => item.Name == ((ValueNode)((TreeViewVarNode)node).Content).Name); |
|
|
|
((ValueNode)((TreeViewVarNode)node).Content).SetName(value.ToString()); |
|
|
|
((ValueNode)((TreeViewVarNode)node).Content).SetName(value.ToString()); |
|
|
|
else { |
|
|
|
} else { |
|
|
|
if (((TreeViewVarNode)node).Content is TextNode) |
|
|
|
if (((TreeViewVarNode)node).Content is TextNode) { |
|
|
|
|
|
|
|
WatchPad.Instance.Watches.RemoveAll(item => item.Name == ((TextNode)((TreeViewVarNode)node).Content).Name); |
|
|
|
((TextNode)((TreeViewVarNode)node).Content).SetName(value.ToString()); |
|
|
|
((TextNode)((TreeViewVarNode)node).Content).SetName(value.ToString()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WatchPad.Instance.Watches.Add(new TextNode(value as string)); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
public override void MouseDown(TreeNodeAdvMouseEventArgs args) |
|
|
|
public override void MouseDown(TreeNodeAdvMouseEventArgs args) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -226,7 +231,6 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads |
|
|
|
if (nfo.Control is WatchItemName) |
|
|
|
if (nfo.Control is WatchItemName) |
|
|
|
((EditableControl)nfo.Control).MouseUp(new TreeNodeAdvMouseEventArgs(e)); |
|
|
|
((EditableControl)nfo.Control).MouseUp(new TreeNodeAdvMouseEventArgs(e)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -281,17 +285,16 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads |
|
|
|
Utils.DoEvents(debuggedProcess); |
|
|
|
Utils.DoEvents(debuggedProcess); |
|
|
|
List<TreeViewVarNode> nodes = new List<TreeViewVarNode>(); |
|
|
|
List<TreeViewVarNode> nodes = new List<TreeViewVarNode>(); |
|
|
|
|
|
|
|
|
|
|
|
foreach (TreeViewVarNode nod in this.watchList.Root.Children) { |
|
|
|
foreach (var nod in watches) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
LoggingService.Info("Evaluating: " + (string.IsNullOrEmpty(nod.Content.Name) ? "is null or empty!" : nod.Content.Name)); |
|
|
|
LoggingService.Info("Evaluating: " + (string.IsNullOrEmpty(nod.Name) ? "is null or empty!" : nod.Name)); |
|
|
|
Value val = AstEvaluator.Evaluate(nod.Content.Name, SupportedLanguage.CSharp, debuggedProcess.SelectedStackFrame); |
|
|
|
Value val = AstEvaluator.Evaluate(nod.Name, SupportedLanguage.CSharp, debuggedProcess.SelectedStackFrame); |
|
|
|
ValueNode valNode = new ValueNode(val); |
|
|
|
ValueNode valNode = new ValueNode(val); |
|
|
|
valNode.SetName(nod.Content.Name); |
|
|
|
valNode.SetName(nod.Name); |
|
|
|
|
|
|
|
|
|
|
|
nodes.Add(new TreeViewVarNode(debuggedProcess, watchList, valNode)); |
|
|
|
nodes.Add(new TreeViewVarNode(debuggedProcess, watchList, valNode)); |
|
|
|
} catch (GetValueException) { |
|
|
|
} catch (GetValueException) { |
|
|
|
string error = String.Format(StringParser.Parse("${res:MainWindow.Windows.Debug.Watch.InvalidExpression}"), nod.Content.Name); |
|
|
|
string error = String.Format(StringParser.Parse("${res:MainWindow.Windows.Debug.Watch.InvalidExpression}"), nod.Name); |
|
|
|
ErrorInfoNode infoNode = new ErrorInfoNode(nod.Content.Name, error); |
|
|
|
ErrorInfoNode infoNode = new ErrorInfoNode(nod.Name, error); |
|
|
|
nodes.Add(new TreeViewVarNode(debuggedProcess, watchList, infoNode)); |
|
|
|
nodes.Add(new TreeViewVarNode(debuggedProcess, watchList, infoNode)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|