Browse Source

Replace TreeView with SharpTreeView in MainWindow

pull/19/head
PeterForstmeier 14 years ago
parent
commit
aaa09c6bfe
  1. 3
      src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj
  2. 42
      src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs
  3. 11
      src/AddIns/Analysis/CodeQuality/Src/DependencyTreeNode.cs
  4. 55
      src/AddIns/Analysis/CodeQuality/Src/Helper.cs
  5. 54
      src/AddIns/Analysis/CodeQuality/Src/Helpers.cs
  6. 14
      src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml
  7. 12
      src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml.cs

3
src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj

@ -113,7 +113,6 @@ @@ -113,7 +113,6 @@
<Compile Include="..\..\..\Main\GlobalAssemblyInfo.cs">
<Link>Properties\GlobalAssemblyInfo.cs</Link>
</Compile>
<Compile Include="Src\Controls\DependecyTreeNode.cs" />
<Compile Include="Src\Controls\DependencyEdge.cs" />
<Compile Include="Src\Controls\DependencyGraph.cs" />
<Compile Include="Src\Controls\DependencyGraphLayout.cs" />
@ -127,8 +126,10 @@ @@ -127,8 +126,10 @@
<DependentUpon>TreeMatrixControl.xaml</DependentUpon>
</Compile>
<Compile Include="Src\DependencyGraphCommand.cs" />
<Compile Include="Src\DependencyTreeNode.cs" />
<Compile Include="Src\Event.cs" />
<Compile Include="Src\Field.cs" />
<Compile Include="Src\Helper.cs" />
<Compile Include="Src\INode.cs" />
<Compile Include="Src\Instruction.cs" />
<Compile Include="Src\IValue.cs" />

42
src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs

@ -43,46 +43,8 @@ namespace ICSharpCode.CodeQualityAnalysis.Controls @@ -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);
}
}
}

11
src/AddIns/Analysis/CodeQuality/Src/Controls/DependecyTreeNode.cs → src/AddIns/Analysis/CodeQuality/Src/DependencyTreeNode.cs

@ -2,17 +2,17 @@ @@ -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
{
/// <summary>
/// Description of DependecyTreeNode.
/// Description of DependencyTreeNode.
/// </summary>
public class DependecyTreeNode:SharpTreeNode
{
@ -30,5 +30,10 @@ namespace ICSharpCode.CodeQualityAnalysis.Controls @@ -30,5 +30,10 @@ namespace ICSharpCode.CodeQualityAnalysis.Controls
public override object ToolTip {
get { return node.Name; }
}
public INode INode
{
get {return node;}
}
}
}

55
src/AddIns/Analysis/CodeQuality/Src/Helper.cs

@ -0,0 +1,55 @@ @@ -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
{
/// <summary>
/// Description of Helper.
/// </summary>
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;
}
}
}

54
src/AddIns/Analysis/CodeQuality/Src/Helpers.cs

@ -0,0 +1,54 @@ @@ -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
{
/// <summary>
/// Description of Helpers.
/// </summary>
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;
}
}
}

14
src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml

@ -7,6 +7,8 @@ @@ -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 @@ @@ -88,12 +90,12 @@
</ToolBar>
</ToolBarTray>
<TreeView Name="definitionTree" Grid.Row="1" Grid.Column="0"
SelectedItemChanged="definitionTree_SelectedItemChanged"
ItemsSource="{Binding}"
DataContext="{Binding Path=MetricsReader.Modules}"
ItemTemplate="{StaticResource ModuleTemplate}">
</TreeView>
<tree:SharpTreeView Name="definitionTree"
Grid.Row="1" Grid.Column="0"
SelectionChanged="definitionTree_SelectedItemChanged">
</tree:SharpTreeView>
<Controls:ZoomControl Grid.Row="1" Grid.Column="1" Name="zoom" AlwaysShowZoomButtons="True" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible">
<Graph:DependencyGraphLayout x:Name="graphLayout"

12
src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml.cs

@ -74,6 +74,7 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -74,6 +74,7 @@ namespace ICSharpCode.CodeQualityAnalysis
progressBar.Visibility = Visibility.Hidden;
assemblyStats.Visibility = Visibility.Visible;
mainTabs.IsEnabled = true;
Helper.FillTree(definitionTree, metricsReader.MainModule);
FillMatrix();
};
@ -109,17 +110,18 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -109,17 +110,18 @@ namespace ICSharpCode.CodeQualityAnalysis
matrixControl.DrawTree(metricsReader.MainModule);
}
private void definitionTree_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
var item = definitionTree.SelectedItem as INode;
if (item != null && item.Dependency != null)
private void definitionTree_SelectedItemChanged(object sender, SelectionChangedEventArgs e)
{
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;

Loading…
Cancel
Save