private bool DoHideNode(AnalyzeIssueNode node, bool showHintIssues) { if (node.Children.Count > 0) { foreach (AnalyzeIssueNode childNode in node.Children) { if (!DoHideNode(childNode, showHintIssues)) { return(false); } } } if (node.IssueList != null) { // Then check if there are any issues that aren't hidden var shownIssues = from i in node.IssueList where !i.Hidden && (showHintIssues || (!showHintIssues && !i.Text.ToUpper().Contains("NO HINT!")) ) select i; if (shownIssues.Count() > 0) { return(false); } } return(true); }
private TreeNode AddNodes(AnalyzeIssueNode node, TreeNode treeNode, bool doHideNode) { if (node != null && treeNode != null) { treeNode.Tag = node.IssueList; // Check if this IssueList is same as the current selected if (node.IssueList != null && CurrentWorkingIssueList != null && node.IssueList.Equals(CurrentWorkingIssueList)) { SelectTreeNode = treeNode; } SetTreeNodeText(node, treeNode, doHideNode); if (node.Children.Count > 0) { foreach (AnalyzeIssueNode childNode in node.Children) { bool doHideChildNode = DoHideNode(childNode, cbShowHintIssues.Checked); if (cbShowHidden.Checked || !doHideChildNode) { treeNode.Nodes.Add(AddNodes(childNode, new TreeNode(), doHideChildNode)); } } } } return(treeNode); }
private void SetTreeNodeText(AnalyzeIssueNode node, TreeNode treeNode, bool doHideNode) { if (node != null && treeNode != null) { treeNode.Text = node.Name; if (node.IssueList != null && node.IssueList.Count > 0) { treeNode.Text += string.Format(" ({0} issue{1})", node.IssueList.Count.ToString(), node.IssueList.Count > 1 ? "s" : string.Empty); treeNode.ForeColor = Color.Red; } if (doHideNode) { treeNode.ForeColor = Color.Green; } } }