diff --git a/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj b/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj
index ddd9e0ec3c..1c15a0ac8f 100644
--- a/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj
+++ b/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj
@@ -113,6 +113,7 @@
Properties\GlobalAssemblyInfo.cs
+
@@ -212,6 +213,10 @@
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}
Mono.Cecil
+
+ {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}
+ ICSharpCode.TreeView
+
{2748AD25-9C63-4E12-877B-4DCE96FBED54}
ICSharpCode.SharpDevelop
diff --git a/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.sln b/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.sln
index db89b0e1c7..c67ec6b861 100644
--- a/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.sln
+++ b/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.sln
@@ -18,6 +18,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Do
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "..\..\..\Libraries\Mono.Cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "..\..\..\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -80,6 +82,14 @@ Global
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.ActiveCfg = net_2_0_Debug|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|x86.Build.0 = net_2_0_Debug|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|x86.ActiveCfg = net_2_0_Debug|Any CPU
+ {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|x86.Build.0 = Debug|Any CPU
+ {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|x86.Build.0 = Release|Any CPU
+ {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/AddIns/Analysis/CodeQuality/Src/Controls/DependecyTreeNode.cs b/src/AddIns/Analysis/CodeQuality/Src/Controls/DependecyTreeNode.cs
new file mode 100644
index 0000000000..2811090c3f
--- /dev/null
+++ b/src/AddIns/Analysis/CodeQuality/Src/Controls/DependecyTreeNode.cs
@@ -0,0 +1,34 @@
+/*
+ * Created by SharpDevelop.
+ * User: Peter Forstmeier
+ * Date: 02.09.2011
+ * Time: 15:10
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+using System;
+using ICSharpCode.TreeView;
+
+namespace ICSharpCode.CodeQualityAnalysis.Controls
+{
+ ///
+ /// Description of DependecyTreeNode.
+ ///
+ public class DependecyTreeNode:SharpTreeNode
+ {
+ private INode node;
+ public DependecyTreeNode(INode node)
+ {
+ this.node = node;
+ }
+
+ public override object Text
+ {
+ get { return node.Name; }
+ }
+
+ public override object ToolTip {
+ get { return node.Name; }
+ }
+ }
+}
diff --git a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml
index b6039b74e3..618ff83ddd 100644
--- a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml
+++ b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml
@@ -1,38 +1,73 @@
-
+
+
-
-
-
+
+
+
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
-
-
+
+
\ No newline at end of file
diff --git a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs
index 24b2fdaf62..5c9e7a5bd3 100644
--- a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs
+++ b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs
@@ -12,6 +12,7 @@ using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Forms;
+using System.Linq;
using ICSharpCode.CodeQualityAnalysis.Utility;
namespace ICSharpCode.CodeQualityAnalysis.Controls
@@ -39,52 +40,49 @@ namespace ICSharpCode.CodeQualityAnalysis.Controls
InitializeComponent();
}
- public void DrawMatrix()
+
+ public void DrawTree(Module module)
{
- // matrixControl.DrawMatrix();
+ FillTree (leftTree,module);
+ FillTree (topTree,module);
}
- public void DrawTree(Module module)
+
+ private void FillTree (ICSharpCode.TreeView.SharpTreeView tree,Module module)
{
+ var root = CreateTreeItem(module);
+ tree.Root = root;
+
foreach (var ns in module.Namespaces)
{
- var nsType = new TreeViewItem
- {
- Header = ns.Name
- };
-
- leftTree.Items.Add(nsType);
-
+ var namespaceNode = CreateTreeItem(ns);
+ tree.Root.Children.Add(namespaceNode);
+
foreach (var type in ns.Types)
{
- var itemType = new TreeViewItem
- {
- Header = type.Name
- };
-
- nsType.Items.Add(itemType);
+ var typeNode = CreateTreeItem(type);
+ namespaceNode.Children.Add(typeNode);
foreach (var method in type.Methods)
{
- var itemMethod = new TreeViewItem
- {
- Header = method.Name
- };
-
- itemType.Items.Add(itemMethod);
+ var methodName = CreateTreeItem(method);
+ namespaceNode.Children.Add(methodName);
}
foreach (var field in type.Fields)
{
- var itemField = new TreeViewItem
- {
- Header = field.Name
- };
-
- itemType.Items.Add(itemField);
+ var fieldNode = CreateTreeItem(field);
+ namespaceNode.Children.Add(fieldNode);
}
}
}
}
+
+
+ private DependecyTreeNode CreateTreeItem (INode node)
+ {
+ DependecyTreeNode dtn = new DependecyTreeNode(node);
+ return dtn;
+ }
}
}
diff --git a/src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml.cs b/src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml.cs
index 34bcac635d..b481a9de52 100644
--- a/src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml.cs
+++ b/src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml.cs
@@ -106,7 +106,6 @@ namespace ICSharpCode.CodeQualityAnalysis
}
matrixControl.Matrix = matrix;
- matrixControl.DrawMatrix();
matrixControl.DrawTree(metricsReader.MainModule);
}