diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin
index 646be89dae..e6ef2df692 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin
@@ -153,10 +153,18 @@
-
+
+
+
+
+
+
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.csproj b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.csproj
index c9cb830659..3c14dc9d30 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.csproj
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.csproj
@@ -146,7 +146,6 @@
EditBreakpointScriptForm.cs
-
Configuration\GlobalAssemblyInfo.cs
@@ -200,8 +199,17 @@
-
+
+
+ GridVisualizerWindow.xaml
+ Code
+
+
+
+
+
+
@@ -275,6 +283,7 @@
+
{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}
NRefactory
@@ -296,6 +305,7 @@
+
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/PositionedNode.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/PositionedNode.cs
index 0199f60f14..35f5d63f93 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/PositionedNode.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/PositionedNode.cs
@@ -37,7 +37,7 @@ namespace Debugger.AddIn.Visualizers.Graph.Layout
}
}
- public PositionedNodeProperty AddProperty(ObjectProperty objectProperty, bool isExpanded)
+ public PositionedNodeProperty AddProperty(ObjectGraphProperty objectProperty, bool isExpanded)
{
var newProperty = new PositionedNodeProperty(objectProperty, this);
newProperty.IsExpanded = isExpanded;
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/PositionedNodeProperty.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/PositionedNodeProperty.cs
index 596b4087e1..9851258ac6 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/PositionedNodeProperty.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/PositionedNodeProperty.cs
@@ -17,7 +17,7 @@ namespace Debugger.AddIn.Visualizers.Graph.Layout
/// Creates new PositionedNodeProperty.
///
/// Underlying
- public PositionedNodeProperty(ObjectProperty objectProperty, PositionedNode containingNode)
+ public PositionedNodeProperty(ObjectGraphProperty objectProperty, PositionedNode containingNode)
{
this.objectProperty = objectProperty;
this.containingNode = containingNode;
@@ -25,11 +25,11 @@ namespace Debugger.AddIn.Visualizers.Graph.Layout
public bool IsExpanded { get; set; }
- private ObjectProperty objectProperty;
+ private ObjectGraphProperty objectProperty;
///
/// Underlying .
///
- public ObjectProperty ObjectProperty
+ public ObjectGraphProperty ObjectProperty
{
get { return this.objectProperty; }
}
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/Tree/TreeLayouter.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/Tree/TreeLayouter.cs
index c5f943fc97..d2f022e550 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/Tree/TreeLayouter.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/Layout/Tree/TreeLayouter.cs
@@ -64,7 +64,7 @@ namespace Debugger.AddIn.Visualizers.Graph.Layout
treeNodeFor[objectGraphNode] = newTreeNode;
double subtreeSize = 0;
- foreach (ObjectProperty property in objectGraphNode.Properties)
+ foreach (ObjectGraphProperty property in objectGraphNode.Properties)
{
if (property.TargetNode != null)
{
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectGraphBuilder.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectGraphBuilder.cs
index 74a111a1aa..834a55afb6 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectGraphBuilder.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectGraphBuilder.cs
@@ -168,7 +168,7 @@ namespace Debugger.AddIn.Visualizers.Graph
///
private void loadChildrenRecursive(ObjectNode thisNode, ExpandedNodes expandedNodes)
{
- foreach(ObjectProperty complexProperty in thisNode.ComplexProperties)
+ foreach(ObjectGraphProperty complexProperty in thisNode.ComplexProperties)
{
Expression memberExpr = complexProperty.Expression;
ObjectNode targetNode = null;
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectGraphProperty.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectGraphProperty.cs
new file mode 100644
index 0000000000..9224ce40b1
--- /dev/null
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectGraphProperty.cs
@@ -0,0 +1,23 @@
+//
+//
+//
+//
+// $Revision$
+//
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Debugger.AddIn.Visualizers.Graph
+{
+ ///
+ /// ObjectProperty used in ObjectGraph. Has TargetNode.
+ ///
+ public class ObjectGraphProperty : ObjectProperty
+ {
+ ///
+ /// Node that this property points to. Can be null. Always null if is true.
+ ///
+ public ObjectNode TargetNode { get; set; }
+ }
+}
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectNode.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectNode.cs
index 562fad418c..34d6d25c83 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectNode.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectNode.cs
@@ -46,9 +46,9 @@ namespace Debugger.AddIn.Visualizers.Graph
_edges.Add(new ObjectEdge { Name = edgeName, SourceNode = this, TargetNode = targetNode });
}*/
- class PropertyComparer : IComparer
+ class PropertyComparer : IComparer
{
- public int Compare(ObjectProperty prop1, ObjectProperty prop2)
+ public int Compare(ObjectGraphProperty prop1, ObjectGraphProperty prop2)
{
// order by IsAtomic, Name
int atomic = prop2.IsAtomic.CompareTo(prop1.IsAtomic);
@@ -67,11 +67,11 @@ namespace Debugger.AddIn.Visualizers.Graph
private bool sorted = false;
- private List properties = new List();
+ private List properties = new List();
///
/// Properties (either atomic or complex) of the object this node represents.
///
- public List Properties
+ public List Properties
{
get
{
@@ -86,7 +86,7 @@ namespace Debugger.AddIn.Visualizers.Graph
///
/// Only complex properties filtered out of
///
- public IEnumerable ComplexProperties
+ public IEnumerable ComplexProperties
{
get
{
@@ -103,7 +103,7 @@ namespace Debugger.AddIn.Visualizers.Graph
///
internal void AddAtomicProperty(string name, string value, Expression expression)
{
- properties.Add(new ObjectProperty
+ properties.Add(new ObjectGraphProperty
{ Name = name, Value = value, Expression = expression, IsAtomic = true, TargetNode = null });
}
@@ -112,7 +112,7 @@ namespace Debugger.AddIn.Visualizers.Graph
///
internal void AddComplexProperty(string name, string value, Expression expression, ObjectNode targetNode, bool isNull)
{
- properties.Add(new ObjectProperty
+ properties.Add(new ObjectGraphProperty
{ Name = name, Value = value, Expression = expression, IsAtomic = false, TargetNode = targetNode, IsNull = isNull });
}
}
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ShowObjectGraphVisualizerCommand.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ShowObjectGraphVisualizerCommand.cs
index 81394c3116..e62b4a0412 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ShowObjectGraphVisualizerCommand.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ShowObjectGraphVisualizerCommand.cs
@@ -6,7 +6,6 @@
//
using System;
using System.Text;
-using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/WinFormsControl.resx b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/WinFormsControl.resx
deleted file mode 100644
index 7080a7d118..0000000000
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/WinFormsControl.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/GridVisualizerWindow.xaml b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/GridVisualizerWindow.xaml
new file mode 100644
index 0000000000..a4e01adea4
--- /dev/null
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/GridVisualizerWindow.xaml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+ Expression:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/GridVisualizerWindow.xaml.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/GridVisualizerWindow.xaml.cs
new file mode 100644
index 0000000000..49e1719aef
--- /dev/null
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/GridVisualizerWindow.xaml.cs
@@ -0,0 +1,29 @@
+//
+//
+//
+//
+// $Revision$
+//
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+
+namespace Debugger.AddIn.Visualizers.GridVisualizer
+{
+ ///
+ /// Interaction logic for GridVisualizerWindow.xaml
+ ///
+ public partial class GridVisualizerWindow : Window
+ {
+ public GridVisualizerWindow()
+ {
+ InitializeComponent();
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ObjectValue.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ObjectValue.cs
new file mode 100644
index 0000000000..f523b2d270
--- /dev/null
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ObjectValue.cs
@@ -0,0 +1,32 @@
+//
+//
+//
+//
+// $Revision$
+//
+using System;
+using System.Collections.Generic;
+using Debugger.AddIn.Visualizers.Utils;
+
+namespace Debugger.AddIn.Visualizers.GridVisualizer
+{
+ ///
+ /// Description of ObjectValue.
+ ///
+ public class ObjectValue
+ {
+ private Dictionary properties = new Dictionary();
+
+ public ObjectProperty this[string key]
+ {
+ get
+ {
+ return properties.GetValue(key);
+ }
+ set
+ {
+ properties[key] = value;
+ }
+ }
+ }
+}
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ShowGridVisualizerCommand.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ShowGridVisualizerCommand.cs
new file mode 100644
index 0000000000..a8f0da22dc
--- /dev/null
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ShowGridVisualizerCommand.cs
@@ -0,0 +1,24 @@
+//
+//
+//
+//
+// $Revision$
+//
+using ICSharpCode.Core;
+using System;
+
+namespace Debugger.AddIn.Visualizers.GridVisualizer
+{
+ ///
+ /// Description of ShowGridVisualizerCommand.
+ ///
+ public class ShowGridVisualizerCommand : AbstractMenuCommand
+ {
+ public override void Run()
+ {
+ GridVisualizerWindow window = new GridVisualizerWindow();
+ window.Topmost = true;
+ window.Show();
+ }
+ }
+}
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ValueProviders/EnumerableValuesProvider.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ValueProviders/EnumerableValuesProvider.cs
new file mode 100644
index 0000000000..5b8b6a3c5b
--- /dev/null
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ValueProviders/EnumerableValuesProvider.cs
@@ -0,0 +1,38 @@
+//
+//
+//
+//
+// $Revision$
+//
+using System;
+using Debugger.Expressions;
+using ICSharpCode.SharpDevelop.Services;
+using System.Collections.Generic;
+
+namespace Debugger.AddIn.Visualizers.GridVisualizer.ValueProviders
+{
+ ///
+ /// Provides s for debugee objects implementing IEnumerable.
+ ///
+ public class EnumerableValuesProvider
+ {
+ private WindowsDebugger debugger;
+
+ public EnumerableValuesProvider(WindowsDebugger debuggerService, Expression targetObject)
+ {
+ this.debugger = debuggerService;
+ this.itemsSource = enumerateItems(targetObject);
+ }
+
+ private IEnumerable itemsSource;
+ public IEnumerable ItemsSource
+ {
+ get { return this.itemsSource; }
+ }
+
+ private IEnumerable enumerateItems(Expression targetObject)
+ {
+ return null;
+ }
+ }
+}
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ValueProviders/ListValuesProvider.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ValueProviders/ListValuesProvider.cs
new file mode 100644
index 0000000000..c515302594
--- /dev/null
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/GridVisualizer/ValueProviders/ListValuesProvider.cs
@@ -0,0 +1,37 @@
+//
+//
+//
+//
+// $Revision$
+//
+using System;
+using ICSharpCode.SharpDevelop.Services;
+using Debugger.Expressions;
+
+namespace Debugger.AddIn.Visualizers.GridVisualizer.ValueProviders
+{
+ ///
+ /// Provides s for debugee objects implementing IList.
+ ///
+ public class ListValuesProvider
+ {
+ private WindowsDebugger debugger;
+ private Expression targetObject;
+
+ public ListValuesProvider(WindowsDebugger debuggerService, Expression targetObject)
+ {
+ this.debugger = debuggerService;
+ this.targetObject = targetObject;
+ }
+
+ public int GetCount()
+ {
+ return -1;
+ }
+
+ public ObjectValue GetItemAt(int index)
+ {
+ return null;
+ }
+ }
+}
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectProperty.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/ObjectProperty.cs
similarity index 67%
rename from src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectProperty.cs
rename to src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/ObjectProperty.cs
index b6416bf0e2..14e8117708 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraph/ObjectProperty.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/ObjectProperty.cs
@@ -5,17 +5,15 @@
// $Revision$
//
using System;
-using System.Collections.Generic;
-using System.Text;
-namespace Debugger.AddIn.Visualizers.Graph
+namespace Debugger.AddIn.Visualizers
{
- ///
- /// Primitive property of an object, in string form.
- ///
- public class ObjectProperty
- {
- ///
+ ///
+ /// Property of an object, in string form.
+ ///
+ public class ObjectProperty
+ {
+ ///
/// e.g. "Age"
///
public string Name { get; set; }
@@ -35,14 +33,9 @@ namespace Debugger.AddIn.Visualizers.Graph
///
public bool IsAtomic { get; set; }
- ///
- /// Node that this property points to. Can be null. Always null if is true.
- ///
- public ObjectNode TargetNode { get; set; }
-
///
/// Is this property value null? Only meaningful if is false.
///
public bool IsNull { get; set; }
- }
+ }
}