diff --git a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml
index 7dc0ca2cb9..4875b687bb 100644
--- a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml
+++ b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml
@@ -20,23 +20,28 @@
-
+
-
-
-
+
-
+
+
+
+
+
+
+
diff --git a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml.cs b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml.cs
index bf10252ce2..e4d31b1f7a 100644
--- a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml.cs
+++ b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml.cs
@@ -50,8 +50,8 @@ namespace ICSharpCode.CodeAnalysis
{
InitializeComponent();
DataContext = this;
- bla.Add(Tuple.Create(SystemIcons.Warning,"Warning",0));
- bla.Add(Tuple.Create(SystemIcons.Error,"Error",1));
+ bla.Add(Tuple.Create(SystemIcons.Warning,ResourceService.GetString("Global.WarningText"),0));
+ bla.Add(Tuple.Create(SystemIcons.Error,ResourceService.GetString("Global.ErrorText"),1));
// bla.Add(Tuple.Create(null,"None"));
}
@@ -334,15 +334,25 @@ namespace ICSharpCode.CodeAnalysis
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
-// var element = item as RuleTreeNode;
-// if (element != null) {
-// return ComboTemplate;
-// } else {
-// return TxtTemplate;
-// }
- return ComboTemplate;
- }
+ var rule = item as RuleTreeNode;
+
+ if (rule != null) {
+ return ComboTemplate;
+ }
+
+ var cat = item as CategoryTreeNode;
+ if (cat != null) {
+ if (!cat.NewErrorState.HasValue) {
+ //Mixed Mode
+ return TxtTemplate;
+ } else {
+ //All childs has same value
+ return ComboTemplate;
+ }
+ }
+ return ComboTemplate;
+ }
}
diff --git a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsTreeNodes.cs b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsTreeNodes.cs
index 042d7332ae..c9d3207235 100644
--- a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsTreeNodes.cs
+++ b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsTreeNodes.cs
@@ -8,7 +8,10 @@
using System;
using System.Collections.Generic;
using System.Drawing;
+using System.Windows.Media;
+using ICSharpCode.Core;
+using ICSharpCode.Core.Presentation;
using ICSharpCode.TreeView;
namespace ICSharpCode.CodeAnalysis
@@ -53,16 +56,20 @@ namespace ICSharpCode.CodeAnalysis
public class CategoryTreeNode : BaseTree
{
internal FxCopCategory category;
+ private string mixedModeText;
+ private ImageSource mixedModeIcon;
public CategoryTreeNode(FxCopCategory category,IEnumerable> bla):base(bla)
{
+ mixedModeText = StringParser.Parse("${res:ICSharpCode.CodeAnalysis.ProjectOptions.WarningErrorMixed}");
+ mixedModeIcon = PresentationResourceService.GetBitmapSource("Icons.16x16.ClosedFolderBitmap");
this.category = category;
foreach (FxCopRule rule in category.Rules) {
this.Children.Add(new RuleTreeNode(rule,bla));
}
}
-
+
public override bool IsCheckable {
get { return true; }
}
@@ -83,7 +90,15 @@ namespace ICSharpCode.CodeAnalysis
}
}
-
+ public ImageSource MixedModeIcon {
+ get { return mixedModeIcon; }
+ }
+
+ public string MixedModeText
+ {
+ get {return mixedModeText;}
+ }
+
public Nullable NewErrorState {
get {