Browse Source

Popup in DependencyMatrix

pull/18/head
PeterForstmeier 14 years ago
parent
commit
16279c1a3d
  1. 28
      src/AddIns/Analysis/CodeQuality/Gui/DependencyMatrixView.xaml
  2. 11
      src/AddIns/Analysis/CodeQuality/Gui/DependencyMatrixView.xaml.cs
  3. 2
      src/AddIns/Analysis/CodeQuality/Gui/MainView.xaml
  4. 25
      src/AddIns/Analysis/CodeQuality/Gui/NodeDescription.xaml
  5. 20
      src/AddIns/Analysis/CodeQuality/Gui/NodeDescriptionViewModel.cs

28
src/AddIns/Analysis/CodeQuality/Gui/DependencyMatrixView.xaml

@ -46,10 +46,32 @@
ShowsPreview="True" ShowsPreview="True"
Height="5" /> Height="5" />
<!-- Left TreeView --> <!-- Left TreeView -->
<tv:SharpTreeView Name="leftTree" Grid.Row="2" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Hidden" MouseMove="LeftTreeMouseMove" ScrollViewer.ScrollChanged="ViewScrollChanged"> <tv:SharpTreeView Name="leftTree"
Grid.Row="2"
ScrollViewer.HorizontalScrollBarVisibility="Visible"
ScrollViewer.VerticalScrollBarVisibility="Hidden"
MouseMove="LeftTreeMouseMove"
ScrollViewer.ScrollChanged="ViewScrollChanged">
</tv:SharpTreeView> </tv:SharpTreeView>
<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" Grid.Row="2" Grid.Column="2" Name="scrollViewer" CanContentScroll="True" ScrollChanged="ViewScrollChanged">
<gui:DependencyMatrixControl x:Name="matrix" HoveredCellChanged="MatrixHoveredCellChanged" /> <Popup Name="popUp"
PlacementTarget="{Binding ElementName=matrix}"
Placement="Relative"
VerticalOffset="30" HorizontalOffset="100"
PopupAnimation="Slide" AllowsTransparency="True">
<Viewbox VerticalAlignment="Top">
<TextBlock x:Name="xx" Text="Please select an Assembly....." FontSize="15"/>
</Viewbox>
</Popup>
<ScrollViewer Name="scrollViewer"
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible"
Grid.Row="2" Grid.Column="2"
CanContentScroll="True"
ScrollChanged="ViewScrollChanged">
<gui:DependencyMatrixControl x:Name="matrix" HoveredCellChanged="MatrixHoveredCellChanged"/>
</ScrollViewer> </ScrollViewer>
</Grid> </Grid>
</UserControl> </UserControl>

11
src/AddIns/Analysis/CodeQuality/Gui/DependencyMatrixView.xaml.cs

@ -34,16 +34,26 @@ namespace ICSharpCode.CodeQuality.Gui
public DependencyMatrixView() public DependencyMatrixView()
{ {
InitializeComponent(); InitializeComponent();
Visibility = Visibility.Hidden;
popUp.IsOpen = true;
nodeDescriptionViewModel = new NodeDescriptionViewModel(); nodeDescriptionViewModel = new NodeDescriptionViewModel();
this.inform.DataContext = nodeDescriptionViewModel; this.inform.DataContext = nodeDescriptionViewModel;
topTree.Root = new ICSharpCode.TreeView.SharpTreeNode(); topTree.Root = new ICSharpCode.TreeView.SharpTreeNode();
leftTree.Root = new ICSharpCode.TreeView.SharpTreeNode(); leftTree.Root = new ICSharpCode.TreeView.SharpTreeNode();
matrix.Colorizer = new DependencyColorizer(); matrix.Colorizer = new DependencyColorizer();
matrix.ScrollOwner = scrollViewer; matrix.ScrollOwner = scrollViewer;
} }
public void Update(IEnumerable<INode> nodes) public void Update(IEnumerable<INode> nodes)
{ {
this.Visibility = Visibility.Visible;
popUp.IsOpen = false;
popUp.StaysOpen = true;
Extensions.FillTree(topTree, nodes); Extensions.FillTree(topTree, nodes);
Extensions.FillTree(leftTree, nodes); Extensions.FillTree(leftTree, nodes);
@ -58,6 +68,7 @@ namespace ICSharpCode.CodeQuality.Gui
this.matrix.Matrix = matrix; this.matrix.Matrix = matrix;
BuildLeftINodeList(null, null); BuildLeftINodeList(null, null);
BuildTopINodeList(null, null); BuildTopINodeList(null, null);
} }
void AddChildrenToMatrix(DependencyMatrix matrix, IEnumerable<INode> nodes) void AddChildrenToMatrix(DependencyMatrix matrix, IEnumerable<INode> nodes)

2
src/AddIns/Analysis/CodeQuality/Gui/MainView.xaml

@ -8,7 +8,7 @@
</ToolBar> </ToolBar>
<TabControl> <TabControl>
<TabItem Header="Dependency Matrix"> <TabItem Header="Dependency Matrix">
<gui:DependencyMatrixView x:Name="matrix" /> <gui:DependencyMatrixView x:Name="matrix"/>
</TabItem> </TabItem>
</TabControl> </TabControl>
</DockPanel> </DockPanel>

25
src/AddIns/Analysis/CodeQuality/Gui/NodeDescription.xaml

@ -1,7 +1,7 @@
<UserControl x:Class="ICSharpCode.CodeQuality.Gui.NodeDescription" <UserControl x:Class="ICSharpCode.CodeQuality.Gui.NodeDescription"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Border BorderBrush="Black" CornerRadius="8" BorderThickness="3" > <Border BorderBrush="LightGray" CornerRadius="8" BorderThickness="3" >
<Grid> <Grid>
<Grid Margin="5"> <Grid Margin="5">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
@ -12,17 +12,22 @@
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Text="Class" ></TextBlock>
<TextBlock Text="Children" Grid.Row="1"></TextBlock>
<TextBlock Text="Uses" Grid.Row="2"></TextBlock>
<TextBlock Text="Usedby" Grid.Row="3"></TextBlock>
<TextBlock Text="{Binding Node.Name}" Grid.Column="1"></TextBlock> <TextBlock Text="Type :" ></TextBlock>
<TextBlock Text="{Binding Node.Children.Count}" Grid.Column="1" Grid.Row="1" ></TextBlock> <TextBlock Text="Class :" Grid.Row="1"></TextBlock>
<TextBlock Text="{Binding Uses}" Grid.Column="1" Grid.Row="2"></TextBlock> <TextBlock Text="Children :" Grid.Row="2"></TextBlock>
<TextBlock Text="{Binding UsedBy}" Grid.Column="1" Grid.Row="3"></TextBlock> <!--
<TextBlock Text="Uses" Grid.Row="3"></TextBlock>
<TextBlock Text="Usedby" Grid.Row="4"></TextBlock>
-->
<TextBlock Text="{Binding ClassType}" Grid.Column="1"></TextBlock>
<TextBlock Text="{Binding Node.Name}" Grid.Column="1" Grid.Row="1"></TextBlock>
<TextBlock Text="{Binding Node.Children.Count}" Grid.Column="1" Grid.Row="2" ></TextBlock>
<!--
<TextBlock Text="{Binding Uses}" Grid.Column="1" Grid.Row="3"></TextBlock>
<TextBlock Text="{Binding UsedBy}" Grid.Column="1" Grid.Row="4"></TextBlock>-->
</Grid> </Grid>
</Grid> </Grid>
</Border> </Border>

20
src/AddIns/Analysis/CodeQuality/Gui/NodeDescriptionViewModel.cs

@ -29,15 +29,29 @@ namespace ICSharpCode.CodeQuality.Gui
INode node; INode node;
public INode Node { public INode Node
{
get { return node; } get { return node; }
set { node = value; set {
base.RaisePropertyChanged(()=>Node);} node = value;
// Console.WriteLine("{0} - {1}",node.Uses.Count().ToString(),node.UsedBy.Count().ToString());
base.RaisePropertyChanged(()=>Node);
base.RaisePropertyChanged(()=>ClassType);
}
} }
public int Uses {get {return Node.Uses.Count();}} public int Uses {get {return Node.Uses.Count();}}
public int UsesBy {get {return Node.UsedBy.Count();}} public int UsesBy {get {return Node.UsedBy.Count();}}
public string ClassType
{
get
{
var n = node.GetType().Name;
Console.WriteLine(n.Substring(0,n.Length -4));
return (n.Substring(0,n.Length -4));
}
}
} }
} }

Loading…
Cancel
Save