Browse Source

AnalysisProjectOptionsTreeNodes.cs check/uncheck

pull/30/head
PeterForstmeier 13 years ago
parent
commit
723dda52e7
  1. 54
      src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml.cs
  2. 114
      src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsTreeNodes.cs

54
src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanelXaml.xaml.cs

@ -40,7 +40,7 @@ namespace ICSharpCode.CodeAnalysis @@ -40,7 +40,7 @@ namespace ICSharpCode.CodeAnalysis
public partial class AnalysisProjectOptionsPanelXaml : ProjectOptionPanel
{
private bool initSuccess;
private bool userCheck;
// private bool userCheck;
private Dictionary<string, RuleTreeNode> rules = new Dictionary<string, RuleTreeNode>();
public AnalysisProjectOptionsPanelXaml()
@ -92,6 +92,7 @@ namespace ICSharpCode.CodeAnalysis @@ -92,6 +92,7 @@ namespace ICSharpCode.CodeAnalysis
string CreateRuleString()
{
Console.WriteLine ("CreateRuleString()");
StringBuilder b = new StringBuilder();
foreach (SharpTreeNode category in ruleTreeView.Items) {
foreach (RuleTreeNode rule in category.Children) {
@ -103,6 +104,7 @@ namespace ICSharpCode.CodeAnalysis @@ -103,6 +104,7 @@ namespace ICSharpCode.CodeAnalysis
else
b.Append('-');
if (rule.isError)
Console.WriteLine("Error Node found");
b.Append('!');
b.Append(rule.Identifier);
}
@ -114,13 +116,15 @@ namespace ICSharpCode.CodeAnalysis @@ -114,13 +116,15 @@ namespace ICSharpCode.CodeAnalysis
void ReadRuleString()
{
userCheck = false;
Console.WriteLine("ReadRuleString()");
// userCheck = false;
foreach (SharpTreeNode cat in ruleTreeView.Root.Children) {
foreach (RuleTreeNode rtn in cat.Children) {
rtn.IsChecked = true;
rtn.isError = false;
}
}
Console.WriteLine("{0}",ruleString);
foreach (string rule2 in ruleString.Split(';')) {
string rule = rule2;
if (rule.Length == 0) continue;
@ -143,19 +147,22 @@ namespace ICSharpCode.CodeAnalysis @@ -143,19 +147,22 @@ namespace ICSharpCode.CodeAnalysis
ruleNode.Index = 1;
}
}
userCheck = true;
SetCheckedState();
// userCheck = true;
// SetCheckedState();
SetCategoryIcon();
}
/*
void SetCheckedState()
{
foreach (SharpTreeNode cat in ruleTreeView.Root.Children) {
bool noneChecked = true;
foreach (RuleTreeNode rtn in cat.Children) {
if (!(bool) rtn.IsChecked) {
Console.WriteLine("uncheck");
}
if ((bool)rtn.IsChecked) {
noneChecked = false;
break;
@ -164,18 +171,21 @@ namespace ICSharpCode.CodeAnalysis @@ -164,18 +171,21 @@ namespace ICSharpCode.CodeAnalysis
cat.IsChecked = !noneChecked;
}
}
private void SetCategoryIcon() {
Console.WriteLine("SetCategoryicon");
foreach (CategoryTreeNode categoryNode in ruleTreeView.Root.Children) {
categoryNode.CheckMode();
}
Console.WriteLine("--------------");
}
*/
private void SetCategoryIcon() {
foreach (CategoryTreeNode categoryNode in ruleTreeView.Root.Children) {
foreach (RuleTreeNode rtn in categoryNode.Children) {
if (!(bool) rtn.IsChecked) {
Console.WriteLine("uncheck");
}
if (rtn.isError) {
Console.WriteLine("Error");
}
}
categoryNode.CheckMode();
}
}
string ruleString = "";
@ -197,6 +207,7 @@ namespace ICSharpCode.CodeAnalysis @@ -197,6 +207,7 @@ namespace ICSharpCode.CodeAnalysis
#endregion
#region overrides
protected override void Load(MSBuildBasedProject project, string configuration, string platform)
{
base.Load(project, configuration, platform);
@ -257,10 +268,13 @@ namespace ICSharpCode.CodeAnalysis @@ -257,10 +268,13 @@ namespace ICSharpCode.CodeAnalysis
private void OnPropertyChanged(object sender,System.ComponentModel.PropertyChangedEventArgs e)
{
if (initSuccess) {
Console.WriteLine("OnPropertyChanged {0}",e.PropertyName);
if (e.PropertyName == "Index") {
base.IsDirty = true;
}
if (e.PropertyName == "IsChecked") {
base.IsDirty = true;
}
}
}

114
src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsTreeNodes.cs

@ -42,7 +42,7 @@ namespace ICSharpCode.CodeAnalysis @@ -42,7 +42,7 @@ namespace ICSharpCode.CodeAnalysis
imageSource = ToImageSource(icon);
this.RuleState.Add(Tuple.Create<ImageSource,string>(imageSource,
ResourceService.GetString("Global.ErrorText")));
// bla.Add(Tuple.Create<Icon,string>(null,"None"));
}
private static ImageSource ToImageSource( Icon icon)
@ -105,24 +105,17 @@ namespace ICSharpCode.CodeAnalysis @@ -105,24 +105,17 @@ namespace ICSharpCode.CodeAnalysis
get { return category.DisplayName; }
}
bool ignoreCheckMode;
public override int Index {
get { return base.Index; }
set {
if (value != base.Index) {
base.Index = value;
if (mixedModeTuple == null) {
Console.WriteLine("Set all to index");
ignoreCheckMode = true;
foreach (RuleTreeNode rule in this.Children) {
rule.Index = Index;
}
ignoreCheckMode = false;
// CheckMode();
// base.RaisePropertyChanged("Index");
// foreach (RuleTreeNode rule in this.Children) {
// Console.WriteLine(rule.Index.ToString());
// }
CheckMode();
}
}
}
@ -131,7 +124,6 @@ namespace ICSharpCode.CodeAnalysis @@ -131,7 +124,6 @@ namespace ICSharpCode.CodeAnalysis
private void AddMixedMode()
{
Console.WriteLine("AddMixedMode");
if (!RuleState.Contains(mixedModeTuple)) {
var image = PresentationResourceService.GetBitmapSource("Icons.16x16.ClosedFolderBitmap");
mixedModeTuple = Tuple.Create<ImageSource,string>(image,
@ -145,7 +137,6 @@ namespace ICSharpCode.CodeAnalysis @@ -145,7 +137,6 @@ namespace ICSharpCode.CodeAnalysis
private void RemoveMixedMode()
{
Console.WriteLine("RemoveMixedMode(");
if (mixedModeTuple != null) {
if (RuleState.Contains(mixedModeTuple)) {
RuleState.Remove(mixedModeTuple);
@ -158,29 +149,36 @@ namespace ICSharpCode.CodeAnalysis @@ -158,29 +149,36 @@ namespace ICSharpCode.CodeAnalysis
public void CheckMode ()
{
if (! ignoreCheckMode) {
Console.WriteLine("CheckMode");
if (!NewErrorState.HasValue) {
Console.WriteLine ("\t{0} is Mixed Mode",Text);
var state = ErrorState;
if (state == 0) {
RemoveMixedMode();
} else if (state == 1) {
// RemoveMixedMode();
AddMixedMode();
} else {
AddMixedMode();
Console.WriteLine("Unchecked");
}
}
/*
public void CheckMode ()
{
// if (! ignoreCheckMode) {
// Console.WriteLine("CheckMode");
if (!ErrorState.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 = ;
}
*/
}
}
// }
}
public Nullable<bool> NewErrorState {
*/
/*
public Nullable<bool> ErrorState {
get {
bool allWarn = true;
bool allErr = true;
@ -196,30 +194,38 @@ namespace ICSharpCode.CodeAnalysis @@ -196,30 +194,38 @@ namespace ICSharpCode.CodeAnalysis
return false;
else
return null;
}
}
*/
/*
internal int ErrorState {
get {
bool allWarn = true;
bool allErr = true;
foreach (RuleTreeNode tn in Children) {
if (tn.isError)
allWarn = false;
else
allErr = false;
}
if (allErr)
return 1;
else if (allWarn)
return 0;
internal int ErrorState {
get {
bool allWarn = true;
bool allErr = true;
foreach (RuleTreeNode tn in Children) {
if (tn.isError)
allWarn = false;
else
return -1;
allErr = false;
}
/*
if (allErr)
return 1;
else if (allWarn)
return 0;
else
return -1;
*/
if (allErr)
return 1;
if (allWarn) {
return 0;
}
// else
// return -1;
return -1;
}
*/
}
}
@ -230,10 +236,7 @@ namespace ICSharpCode.CodeAnalysis @@ -230,10 +236,7 @@ namespace ICSharpCode.CodeAnalysis
internal bool isError {
get { return error; }
set {
error = value;
// Index = 1;
}
set {error = value;}
}
@ -262,11 +265,14 @@ namespace ICSharpCode.CodeAnalysis @@ -262,11 +265,14 @@ namespace ICSharpCode.CodeAnalysis
set {
if (base.Index != value) {
isError = value == 1;
if (isError) {
Console.WriteLine ("RuleNode {0} - index {1} - error {2}",rule.DisplayName,Index, isError);
}
base.Index = value;
RaisePropertyChanged("Index");
var p = Parent as CategoryTreeNode;
p.CheckMode();
Console.WriteLine ("RuleNode {0} - index {1} - error {2}",rule.DisplayName,Index, isError);
var parent = Parent as CategoryTreeNode;
parent.CheckMode();
//
}
}
}

Loading…
Cancel
Save