Browse Source

Use ICSharpCode.TreeView in DependencyMatrixControl

pull/19/head
PeterForstmeier 14 years ago
parent
commit
582a1cf7f1
  1. 5
      src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj
  2. 12
      src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.sln
  3. 34
      src/AddIns/Analysis/CodeQuality/Src/Controls/DependecyTreeNode.cs
  4. 40
      src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml
  5. 38
      src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs

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

@ -113,6 +113,7 @@ @@ -113,6 +113,7 @@
<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" />
@ -210,6 +211,10 @@ @@ -210,6 +211,10 @@
<Project>{D68133BD-1E63-496E-9EDE-4FBDBF77B486}</Project>
<Name>Mono.Cecil</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj">
<Project>{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}</Project>
<Name>ICSharpCode.TreeView</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project>
<Name>ICSharpCode.SharpDevelop</Name>

12
src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.sln

@ -18,6 +18,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Do @@ -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
@ -73,13 +75,21 @@ Global @@ -73,13 +75,21 @@ Global
{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}.Release|x86.Build.0 = Release|Any CPU
{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}.Release|x86.ActiveCfg = Release|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.Build.0 = net_2_0_Debug|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.ActiveCfg = net_2_0_Debug|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|x86.Build.0 = net_2_0_Debug|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|x86.ActiveCfg = net_2_0_Debug|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.Build.0 = net_2_0_Debug|Any CPU
{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

34
src/AddIns/Analysis/CodeQuality/Src/Controls/DependecyTreeNode.cs

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

40
src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml

@ -1,21 +1,22 @@ @@ -1,21 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<UserControl
x:Class="ICSharpCode.CodeQualityAnalysis.Controls.TreeMatrixControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Controls="clr-namespace:ICSharpCode.CodeQualityAnalysis.Controls">
x:Class="ICSharpCode.CodeQualityAnalysis.Controls.TreeMatrixControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:ICSharpCode.CodeQualityAnalysis.Controls"
xmlns:tree="http://icsharpcode.net/sharpdevelop/treeview">
<UserControl.Resources>
<Style
TargetType="{x:Type TreeViewItem}">
<Setter
Property="BorderBrush"
Value="Red" />
<Setter
Property="Header"
Value="test" />
TargetType="{x:Type tree:SharpTreeNodeView}"
>
<Setter Property="Height" Value="36" />
</Style>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition
Height="Auto" />
Height="70" />
<RowDefinition
Height="3" />
<RowDefinition
@ -24,39 +25,38 @@ @@ -24,39 +25,38 @@
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="Auto" />
Width="70" />
<ColumnDefinition
Width="3" />
<ColumnDefinition
Width="*" />
</Grid.ColumnDefinitions>
<TreeView
<tree:SharpTreeView
Name="leftTree"
Grid.Row="2"
Grid.Column="0">
<TreeView.Resources></TreeView.Resources>
</TreeView>
</tree:SharpTreeView>
<GridSplitter Grid.Column="1" Width="3"
Grid.RowSpan="3"
ResizeDirection="Columns"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"></GridSplitter>
<TreeView
<tree:SharpTreeView
Name="topTree"
Grid.Row="0"
Grid.Column="2">
<TreeView.LayoutTransform>
<tree:SharpTreeView.LayoutTransform>
<RotateTransform
Angle="-90" />
</TreeView.LayoutTransform>
</TreeView>
</tree:SharpTreeView.LayoutTransform>
</tree:SharpTreeView>
<GridSplitter Grid.Row="1"
Grid.Column="2"
Height="3"
Height="3"
ResizeDirection="Rows"
HorizontalAlignment="Stretch"></GridSplitter>

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

@ -44,48 +44,44 @@ namespace ICSharpCode.CodeQualityAnalysis.Controls @@ -44,48 +44,44 @@ namespace ICSharpCode.CodeQualityAnalysis.Controls
{
FillTree (leftTree,module);
FillTree (topTree,module);
}
private void FillTree (System.Windows.Controls.TreeView tree,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 leftType = CreateTreeItem(ns.Name);
tree.Items.Add(leftType);
var namespaceNode = CreateTreeItem(ns);
tree.Root.Children.Add(namespaceNode);
foreach (var type in ns.Types)
{
var lType = CreateTreeItem(type.Name);
leftType.Items.Add(lType);
var typeNode = CreateTreeItem(type);
namespaceNode.Children.Add(typeNode);
foreach (var method in type.Methods)
{
var leftMethod = CreateTreeItem(method.Name);
leftType.Items.Add(leftMethod);
var methodName = CreateTreeItem(method);
namespaceNode.Children.Add(methodName);
}
foreach (var field in type.Fields)
{
var leftField = CreateTreeItem(field.Name);
leftType.Items.Add(leftField);
var fieldNode = CreateTreeItem(field);
namespaceNode.Children.Add(fieldNode);
}
}
}
}
private TreeViewItem CreateTreeItem (string ns)
private DependecyTreeNode CreateTreeItem (INode node)
{
var nsType = new TreeViewItem
{
Header = ns,
ToolTip = ns
};
// nsType.Height = matrixControl.CellHeight;
return nsType;
DependecyTreeNode dtn = new DependecyTreeNode(node);
return dtn;
}
}
}

Loading…
Cancel
Save