From 482d40312510bab0bc101ad016661202a367ab88 Mon Sep 17 00:00:00 2001 From: PeterForstmeier Date: Sun, 4 Sep 2011 19:04:42 +0200 Subject: [PATCH] Cleanup MouseMove --- .../Src/Controls/TreeMatrixControl.xaml | 2 +- .../Src/Controls/TreeMatrixControl.xaml.cs | 53 ++++++++++++++----- 2 files changed, 42 insertions(+), 13 deletions(-) diff --git a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml index 3eb55124ab..c81673a59a 100644 --- a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml +++ b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml @@ -33,7 +33,7 @@ Name="leftTree" Grid.Row="2" ScrollViewer.ScrollChanged="LeftTree_ScrollChanged" - + MouseMove="LeftTree_MouseMove" Grid.Column="0"> diff --git a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs index 2ade3a5049..ed39c797da 100644 --- a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs +++ b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs @@ -53,26 +53,20 @@ namespace ICSharpCode.CodeQualityAnalysis.Controls } + public void DrawTree(Module module) { var leftCol = leftTree.Items.SourceCollection as INotifyCollectionChanged; leftCol.CollectionChanged += BuildLeftINodeList; + Helper.FillTree(leftTree, module); - leftTree.MouseMove += (s,e)=> - { - var c = Helper.GetParent(e.OriginalSource as DependencyObject); - if (c != null) - { - DependecyTreeNode n = c.Node as DependecyTreeNode; - Console.WriteLine(n.ToString()); - matrixControl.HighlightLine(HeaderType.Rows,n.INode); - leftTree.SelectedItem = n; - leftTree.FocusNode(n); - } - }; + leftTree.MouseMove += LeftTree_MouseMove; + + topTree.MouseMove += TopTree_MouseMove; var topCol = topTree.Items.SourceCollection as INotifyCollectionChanged; + topCol.CollectionChanged += BuildTopINodeList; Helper.FillTree(topTree, module); } @@ -87,6 +81,41 @@ namespace ICSharpCode.CodeQualityAnalysis.Controls topScrollViewer = Helper.FindVisualChild(topTree); } + #region Tree MouseMove + + void LeftTree_MouseMove (object sender,System.Windows.Input.MouseEventArgs e) + { + DependecyTreeNode n = ConvertNode(e.OriginalSource); + if (n != null) { + matrixControl.HighlightLine(HeaderType.Rows,n.INode); + leftTree.SelectedItem = n; + leftTree.FocusNode(n); + } + } + + void TopTree_MouseMove (object sender,System.Windows.Input.MouseEventArgs e) + { + DependecyTreeNode n = ConvertNode(e.OriginalSource); + if (n != null) { + matrixControl.HighlightLine(HeaderType.Columns,n.INode); + topTree.SelectedItem = n; + topTree.FocusNode(n); + } + } + + + DependecyTreeNode ConvertNode (object node) + { + var c = Helper.GetParent(node as DependencyObject); + if (c != null) { + return c.Node as DependecyTreeNode; + } + return null; + } + + #endregion + + #region Update MatricControl bool rebuildLeftNodeListRequested;