From 554f23a2ae43e5bfd352e48cba7deed78b470605 Mon Sep 17 00:00:00 2001 From: PeterForstmeier Date: Sun, 18 Dec 2011 17:41:16 +0100 Subject: [PATCH] CodeQualityAnalyis Sort members in TreeViews --- .../CodeQuality/CodeQualityAnalysis.addin | 5 ++++ .../CodeQuality/Src/MainWindowModel.cs | 3 +++ .../CodeQuality/Src/Utility/Helper.cs | 27 +++++++++++++++---- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.addin b/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.addin index d5c5cfb9d8..4317107352 100644 --- a/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.addin +++ b/src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.addin @@ -14,10 +14,15 @@ + + diff --git a/src/AddIns/Analysis/CodeQuality/Src/MainWindowModel.cs b/src/AddIns/Analysis/CodeQuality/Src/MainWindowModel.cs index 4e67ef27d9..2bb8b12462 100644 --- a/src/AddIns/Analysis/CodeQuality/Src/MainWindowModel.cs +++ b/src/AddIns/Analysis/CodeQuality/Src/MainWindowModel.cs @@ -251,6 +251,9 @@ namespace ICSharpCode.CodeQualityAnalysis Nodes = PrepareNodes(); var aa = SelectedNode as INode; + var m = aa as Method; + var t = aa as Type; + var n = aa as Namespace; switch (selectedMetrics) { diff --git a/src/AddIns/Analysis/CodeQuality/Src/Utility/Helper.cs b/src/AddIns/Analysis/CodeQuality/Src/Utility/Helper.cs index 04eb9b837c..92f771eb54 100644 --- a/src/AddIns/Analysis/CodeQuality/Src/Utility/Helper.cs +++ b/src/AddIns/Analysis/CodeQuality/Src/Utility/Helper.cs @@ -2,11 +2,13 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; using System.Windows; using System.Windows.Controls; using System.Windows.Media; + using ICSharpCode.TreeView; -using System.Runtime.InteropServices; namespace ICSharpCode.CodeQualityAnalysis.Utility { @@ -24,23 +26,38 @@ namespace ICSharpCode.CodeQualityAnalysis.Utility tree.Root = root; tree.ShowRoot = false; - foreach (var ns in module.Namespaces) + var sortedNameSpaces = new List(); + sortedNameSpaces.AddRange (module.Namespaces); + sortedNameSpaces.Sort((Namespace a,Namespace b) => String.Compare(a.Name, b.Name) ); + + foreach (var ns in sortedNameSpaces) +// foreach (var ns in module.Namespaces) { var namespaceNode = CreateTreeItem(ns); tree.Root.Children.Add(namespaceNode); - foreach (var type in ns.Types) + var sortedTypes = new List(); + sortedTypes.AddRange(ns.Types); + sortedTypes.Sort((Type a,Type b) => String.Compare(a.Name, b.Name) ); + foreach (var type in sortedTypes) { var typeNode = CreateTreeItem(type); namespaceNode.Children.Add(typeNode); - foreach (var method in type.Methods) + var sortedMethods = new List(); + sortedMethods.AddRange(type.Methods); + sortedMethods.Sort((Method a,Method b) => String.Compare(a.Name, b.Name) ); + foreach (var method in sortedMethods) { var methodName = CreateTreeItem(method); typeNode.Children.Add(methodName); } - foreach (var field in type.Fields) + + var sortedFields = new List(); + sortedFields.AddRange(type.Fields); + sortedFields.Sort((Field a,Field b) => String.Compare(a.Name, b.Name) ); + foreach (var field in sortedFields) { var fieldNode = CreateTreeItem(field); typeNode.Children.Add(fieldNode);