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

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

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

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

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

Loading…
Cancel
Save