diff --git a/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj b/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj index 1c15a0ac8f..ec89eced33 100644 --- a/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj +++ b/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj @@ -113,7 +113,6 @@ Properties\GlobalAssemblyInfo.cs - @@ -127,8 +126,10 @@ TreeMatrixControl.xaml + + diff --git a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs index 5c9e7a5bd3..fdc0273d61 100644 --- a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs +++ b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs @@ -43,46 +43,8 @@ namespace ICSharpCode.CodeQualityAnalysis.Controls public void DrawTree(Module module) { - FillTree (leftTree,module); - FillTree (topTree,module); - } - - - private void FillTree (ICSharpCode.TreeView.SharpTreeView tree,Module module) - { - var root = CreateTreeItem(module); - tree.Root = root; - - foreach (var ns in module.Namespaces) - { - var namespaceNode = CreateTreeItem(ns); - tree.Root.Children.Add(namespaceNode); - - foreach (var type in ns.Types) - { - var typeNode = CreateTreeItem(type); - namespaceNode.Children.Add(typeNode); - - foreach (var method in type.Methods) - { - var methodName = CreateTreeItem(method); - namespaceNode.Children.Add(methodName); - } - - foreach (var field in type.Fields) - { - var fieldNode = CreateTreeItem(field); - namespaceNode.Children.Add(fieldNode); - } - } - } - } - - - private DependecyTreeNode CreateTreeItem (INode node) - { - DependecyTreeNode dtn = new DependecyTreeNode(node); - return dtn; + Helper.FillTree (leftTree,module); + Helper.FillTree (topTree,module); } } } diff --git a/src/AddIns/Analysis/CodeQuality/Src/Controls/DependecyTreeNode.cs b/src/AddIns/Analysis/CodeQuality/Src/DependencyTreeNode.cs similarity index 77% rename from src/AddIns/Analysis/CodeQuality/Src/Controls/DependecyTreeNode.cs rename to src/AddIns/Analysis/CodeQuality/Src/DependencyTreeNode.cs index 2811090c3f..9a7df32799 100644 --- a/src/AddIns/Analysis/CodeQuality/Src/Controls/DependecyTreeNode.cs +++ b/src/AddIns/Analysis/CodeQuality/Src/DependencyTreeNode.cs @@ -2,17 +2,17 @@ * Created by SharpDevelop. * User: Peter Forstmeier * Date: 02.09.2011 - * Time: 15:10 + * Time: 23:08 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; using ICSharpCode.TreeView; -namespace ICSharpCode.CodeQualityAnalysis.Controls +namespace ICSharpCode.CodeQualityAnalysis { /// - /// Description of DependecyTreeNode. + /// Description of DependencyTreeNode. /// public class DependecyTreeNode:SharpTreeNode { @@ -30,5 +30,10 @@ namespace ICSharpCode.CodeQualityAnalysis.Controls public override object ToolTip { get { return node.Name; } } + + public INode INode + { + get {return node;} + } } } diff --git a/src/AddIns/Analysis/CodeQuality/Src/Helper.cs b/src/AddIns/Analysis/CodeQuality/Src/Helper.cs new file mode 100644 index 0000000000..eb94392f4c --- /dev/null +++ b/src/AddIns/Analysis/CodeQuality/Src/Helper.cs @@ -0,0 +1,55 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 02.09.2011 + * Time: 23:10 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; + +namespace ICSharpCode.CodeQualityAnalysis +{ + /// + /// Description of Helper. + /// + public class Helper + { + public static void FillTree (ICSharpCode.TreeView.SharpTreeView tree,Module module) + { + var root = CreateTreeItem(module); + tree.Root = root; + + foreach (var ns in module.Namespaces) + { + var namespaceNode = CreateTreeItem(ns); + tree.Root.Children.Add(namespaceNode); + + foreach (var type in ns.Types) + { + var typeNode = CreateTreeItem(type); + namespaceNode.Children.Add(typeNode); + + foreach (var method in type.Methods) + { + var methodName = CreateTreeItem(method); + namespaceNode.Children.Add(methodName); + } + + foreach (var field in type.Fields) + { + var fieldNode = CreateTreeItem(field); + namespaceNode.Children.Add(fieldNode); + } + } + } + } + + + private static DependecyTreeNode CreateTreeItem (INode node) + { + DependecyTreeNode dtn = new DependecyTreeNode(node); + return dtn; + } + } +} diff --git a/src/AddIns/Analysis/CodeQuality/Src/Helpers.cs b/src/AddIns/Analysis/CodeQuality/Src/Helpers.cs new file mode 100644 index 0000000000..baec055d2c --- /dev/null +++ b/src/AddIns/Analysis/CodeQuality/Src/Helpers.cs @@ -0,0 +1,54 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 02.09.2011 + * Time: 23:01 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; + +namespace ICSharpCode.CodeQualityAnalysis +{ + /// + /// Description of Helpers. + /// + internal class Helpers + { + public void FillTree (ICSharpCode.TreeView.SharpTreeView tree,Module module) + { + var root = CreateTreeItem(module); + tree.Root = root; + + foreach (var ns in module.Namespaces) + { + var namespaceNode = CreateTreeItem(ns); + tree.Root.Children.Add(namespaceNode); + + foreach (var type in ns.Types) + { + var typeNode = CreateTreeItem(type); + namespaceNode.Children.Add(typeNode); + + foreach (var method in type.Methods) + { + var methodName = CreateTreeItem(method); + namespaceNode.Children.Add(methodName); + } + + foreach (var field in type.Fields) + { + 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 b/src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml index ca596267e8..2da63bf93a 100644 --- a/src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml +++ b/src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml @@ -7,6 +7,8 @@ xmlns:src="clr-namespace:ICSharpCode.CodeQualityAnalysis" xmlns:debug="clr-namespace:System.Diagnostics;assembly=System" xmlns:datavis="clr-namespace:System.Windows.Controls.DataVisualization;assembly=System.Windows.Controls.DataVisualization.Toolkit" + xmlns:tree="http://icsharpcode.net/sharpdevelop/treeview" + Title="Code Quality Analysis" DataContext="{Binding RelativeSource={RelativeSource Self}}" x:Name="root"> @@ -88,12 +90,12 @@ - - + + + + e) + + + private void definitionTree_SelectedItemChanged(object sender, SelectionChangedEventArgs e) { - var item = definitionTree.SelectedItem as INode; - - if (item != null && item.Dependency != null) + var item = definitionTree.SelectedItem as DependecyTreeNode; + if (item != null && item.INode.Dependency != null) { - var graph = item.Dependency.BuildDependencyGraph(); + var graph = item.INode.Dependency.BuildDependencyGraph(); graphLayout.ChangeGraph(graph); } } - + + private void graphLayout_VertexClick(object sender, MouseButtonEventArgs e) { var vertexControl = sender as VertexControl;