Browse Source

ChangeTabItem = Reset TreeMap,Small changes from FxCop

pull/21/merge
PeterForstmeier 14 years ago
parent
commit
dd45b722cb
  1. 8
      src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml
  2. 86
      src/AddIns/Analysis/CodeQuality/Src/MainWindowModel.cs
  3. 2
      src/AddIns/Analysis/CodeQuality/Src/MetricsReader.cs

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

@ -65,7 +65,8 @@ @@ -65,7 +65,8 @@
</Menu>
<TabControl
Grid.Row="1"
IsEnabled="{Binding MainTabEnable}">
IsEnabled="{Binding MainTabEnable}"
SelectedItem="{Binding SelectedTabItem}">
<!-- It is enabled once assembly is loaded. -->
<TabItem
Header="{Binding TabDependencyGraph}">
@ -238,6 +239,7 @@ @@ -238,6 +239,7 @@
-->
<TabItem
Name="TreeMapTabItem"
Header="{Binding TabMetrics}"
IsEnabled="{Binding MetrixTabEnable}">
<TabItem.Resources>
@ -310,8 +312,8 @@ @@ -310,8 +312,8 @@
ItemsSource="{Binding Source={StaticResource Metrics}}"
SelectedItem="{Binding SelectedMetrics}"
SelectedIndex="{Binding SelectedMetricsIndex}"
Command="{Binding ShowTreeMap}"
>
Command="{Binding ShowTreeMap}">
<util:ComboBoxWithCommand.ItemTemplate>
<DataTemplate>
<Label Content="{Binding Path=.,Mode=OneWay,

86
src/AddIns/Analysis/CodeQuality/Src/MainWindowModel.cs

@ -12,6 +12,7 @@ using System.Collections.ObjectModel; @@ -12,6 +12,7 @@ using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using ICSharpCode.CodeQualityAnalysis.Utility.Localizeable;
@ -76,6 +77,16 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -76,6 +77,16 @@ namespace ICSharpCode.CodeQualityAnalysis
public string TabDependencyMatrix {get; private set;}
public string TabMetrics {get;private set;}
TabItem selectedTabItem;
public TabItem SelectedTabItem {
get { return selectedTabItem; }
set { selectedTabItem = value;
ResetTreeMap();
selectedMetricsLevel = 0;
base.RaisePropertyChanged(() => SelectedTabItem);}
}
#endregion
private string fileName;
@ -197,7 +208,7 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -197,7 +208,7 @@ namespace ICSharpCode.CodeQualityAnalysis
}
#region MetricsLevel Combo
#region MetricsLevel Combo Left ComboBox
public MetricsLevel MetricsLevel {
get {return MetricsLevel;}
@ -214,6 +225,32 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -214,6 +225,32 @@ namespace ICSharpCode.CodeQualityAnalysis
}
}
#endregion
#region Metrics Combo > Right Combobox
public Metrics Metrics
{
get {return Metrics;}
}
Metrics selectedMetrics;
public Metrics SelectedMetrics {
get { return selectedMetrics; }
set { selectedMetrics = value;
base.RaisePropertyChanged(() =>this.SelectedMetrics);
}
}
int selectedMetricsIndex;
public int SelectedMetricsIndex {
get { return selectedMetricsIndex; }
set {
selectedMetricsIndex = value;
base.RaisePropertyChanged(() =>this.SelectedMetricsIndex);}
}
#endregion
@ -247,38 +284,14 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -247,38 +284,14 @@ namespace ICSharpCode.CodeQualityAnalysis
#endregion
#region MetricsLevel Combo
public Metrics Metrics
{
get {return Metrics;}
}
Metrics selectedMetrics;
public Metrics SelectedMetrics {
get { return selectedMetrics; }
set { selectedMetrics = value;
base.RaisePropertyChanged(() =>this.SelectedMetrics);
}
}
int selectedMetricsIndex;
public int SelectedMetricsIndex {
get { return selectedMetricsIndex; }
set {
selectedMetricsIndex = value;
base.RaisePropertyChanged(() =>this.SelectedMetricsIndex);}
}
#endregion
#region ShowTreeMap Treemap
void ResetTreeMap()
{
Nodes.Clear();
if (Nodes != null) {
Nodes.Clear();
}
metricsIsActive = false;
}
@ -326,27 +339,29 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -326,27 +339,29 @@ namespace ICSharpCode.CodeQualityAnalysis
case MetricsLevel.Namespace:
var n1 = SelectedNode as Namespace;
list = from x in n1.GetAllMethods() select x;
Console.WriteLine ("NameSpace List {0}",list.Count());
break;
//type has no Cyclomatics
case MetricsLevel.Type:
var n2 = SelectedNode as Namespace;
list = n2.GetAllTypes();
var i1 = list.Count();
Console.WriteLine ("Type List {0}",list.Count());
break;
case MetricsLevel.Method:
list = from ns in MainModule.Namespaces
from type in ns.Types
from method in type.Methods
select method;
Console.WriteLine ("method List {0}",list.Count());
break;
default:
throw new Exception("Invalid value for MetricsLevel");
}
// var nodes = new ObservableCollection<INode>(list.Distinct());
var nodes = new ObservableCollection<INode>(list);
foreach (INode element in nodes)
{
var t = element as Namespace;
//Console.WriteLine(t.CyclomaticComplexity);
}
return nodes;
}
@ -364,5 +379,8 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -364,5 +379,8 @@ namespace ICSharpCode.CodeQualityAnalysis
}
#endregion
}
}

2
src/AddIns/Analysis/CodeQuality/Src/MetricsReader.cs

@ -585,7 +585,7 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -585,7 +585,7 @@ namespace ICSharpCode.CodeQualityAnalysis
/// </summary>
/// <param name="name">A name with a number of generics parameters</param>
/// <returns>A name without generics parameters</returns>
private string StripGenericName(string name)
private static string StripGenericName(string name)
{
return name.IndexOf('`') != -1 ? name.Remove(name.IndexOf('`')) : name;
}

Loading…
Cancel
Save