diff --git a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml
index f42dad8f88..ac6cfbca9d 100644
--- a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml
+++ b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml
@@ -52,31 +52,31 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
-
-
+
+
diff --git a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml.cs b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml.cs
index f2445d89c3..a76e568e37 100644
--- a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml.cs
+++ b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml.cs
@@ -140,7 +140,8 @@ namespace ICSharpCode.CodeAnalysis
RuleTreeNode ruleNode;
if (rules.TryGetValue(rule, out ruleNode)) {
ruleNode.IsChecked = active;
- ruleNode.isError = error;
+ //ruleNode.isError = error;
+ ruleNode.Index = 1;
}
}
userCheck = true;
@@ -255,15 +256,7 @@ namespace ICSharpCode.CodeAnalysis
Console.WriteLine("OnPropertyChanged {0}",e.PropertyName);
if (e.PropertyName == "Index") {
base.IsDirty = true;
-// var rule = sender as RuleTreeNode;
-// if (rule != null) {
-// var cat = rule.Parent as CategoryTreeNode;
-// if (cat != null) {
-// cat.CheckMode();
-// }
-// }
}
-
}
}
@@ -311,7 +304,5 @@ namespace ICSharpCode.CodeAnalysis
}
#endregion
-
-
}
}
\ No newline at end of file
diff --git a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsTreeNodes.cs b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsTreeNodes.cs
index 065e383a9c..17c3b8610c 100644
--- a/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsTreeNodes.cs
+++ b/src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsTreeNodes.cs
@@ -28,10 +28,10 @@ namespace ICSharpCode.CodeAnalysis
private int index;
-
+
public BaseTree()
{
- RuleState = new ObservableCollection>();
+ RuleState = new ObservableCollection>();
Icon icon = SystemIcons.Warning;
ImageSource imageSource = ToImageSource(icon);
@@ -45,19 +45,19 @@ namespace ICSharpCode.CodeAnalysis
// bla.Add(Tuple.Create(null,"None"));
}
- private static ImageSource ToImageSource( Icon icon)
- {
- Bitmap bitmap = icon.ToBitmap();
- IntPtr hBitmap = bitmap.GetHbitmap();
-
- ImageSource wpfBitmap = Imaging.CreateBitmapSourceFromHBitmap(
- hBitmap,
- IntPtr.Zero,
- Int32Rect.Empty,
- BitmapSizeOptions.FromEmptyOptions());
-
- return wpfBitmap;
- }
+ private static ImageSource ToImageSource( Icon icon)
+ {
+ Bitmap bitmap = icon.ToBitmap();
+ IntPtr hBitmap = bitmap.GetHbitmap();
+
+ ImageSource wpfBitmap = Imaging.CreateBitmapSourceFromHBitmap(
+ hBitmap,
+ IntPtr.Zero,
+ Int32Rect.Empty,
+ BitmapSizeOptions.FromEmptyOptions());
+
+ return wpfBitmap;
+ }
@@ -93,7 +93,6 @@ namespace ICSharpCode.CodeAnalysis
foreach (FxCopRule rule in category.Rules) {
this.Children.Add(new RuleTreeNode(rule));
}
-
CheckMode();
}
@@ -106,6 +105,7 @@ namespace ICSharpCode.CodeAnalysis
get { return category.DisplayName; }
}
+ bool ignoreCheckMode;
public override int Index {
get { return base.Index; }
set {
@@ -113,10 +113,16 @@ namespace ICSharpCode.CodeAnalysis
base.Index = value;
if (mixedModeTuple == null) {
Console.WriteLine("Set all to index");
+ ignoreCheckMode = true;
foreach (RuleTreeNode rule in this.Children) {
rule.Index = Index;
}
- base.RaisePropertyChanged("Index");
+ ignoreCheckMode = false;
+// CheckMode();
+// base.RaisePropertyChanged("Index");
+// foreach (RuleTreeNode rule in this.Children) {
+// Console.WriteLine(rule.Index.ToString());
+// }
}
}
}
@@ -129,7 +135,7 @@ namespace ICSharpCode.CodeAnalysis
if (!RuleState.Contains(mixedModeTuple)) {
var image = PresentationResourceService.GetBitmapSource("Icons.16x16.ClosedFolderBitmap");
mixedModeTuple = Tuple.Create(image,
- StringParser.Parse("${res:ICSharpCode.CodeAnalysis.ProjectOptions.WarningErrorMixed}"));
+ StringParser.Parse("${res:ICSharpCode.CodeAnalysis.ProjectOptions.WarningErrorMixed}"));
RuleState.Add(mixedModeTuple);
Index = RuleState.Count -1;
base.RaisePropertyChanged("Index");
@@ -152,19 +158,23 @@ namespace ICSharpCode.CodeAnalysis
public void CheckMode ()
{
- Console.WriteLine("CheckMode");
- if (!NewErrorState.HasValue) {
- Console.WriteLine ("\t{0} is Mixed Mode",Text);
- AddMixedMode();
-// categoryNode.AddMixedMode();
- } else{
- RemoveMixedMode();
- if (NewErrorState == true) {
- Console.WriteLine ("\t{0} is Error",Text);
-// categoryNode.Index = 1;
- } else {
- Console.WriteLine ("\t{0} is Warning",Text);
+ if (! ignoreCheckMode) {
+ Console.WriteLine("CheckMode");
+ if (!NewErrorState.HasValue) {
+ Console.WriteLine ("\t{0} is Mixed Mode",Text);
+ AddMixedMode();
+ }
+ else{
+ RemoveMixedMode();
+ /*
+ if (NewErrorState == true) {
+ Console.WriteLine ("\t{0} is Error",Text);
+// Index = 1;
+ } else {
+ Console.WriteLine ("\t{0} is Warning",Text);
// categoryNode.Index = ;
+ }
+ */
}
}
}
@@ -222,10 +232,11 @@ namespace ICSharpCode.CodeAnalysis
get { return error; }
set {
error = value;
+// Index = 1;
}
}
-
+
public RuleTreeNode(FxCopRule rule):base()
{
this.rule = rule;
@@ -252,6 +263,7 @@ namespace ICSharpCode.CodeAnalysis
if (base.Index != value) {
isError = value == 1;
base.Index = value;
+ RaisePropertyChanged("Index");
var p = Parent as CategoryTreeNode;
p.CheckMode();
Console.WriteLine ("RuleNode {0} - index {1} - error {2}",rule.DisplayName,Index, isError);