private void ClearProjectNodes(TreeNodeCollection nodes)
 {
     var treeNodes = nodes.Cast<TreeNode>().ToArray();
     foreach (var treeNode in treeNodes)
     {
         treeNode.Tag = null;
         _projects.Nodes.Remove(treeNode);
     }
 }
        void RefreshNodeColors(TreeNodeCollection nodes, bool recursive)
        {
            foreach (var node in nodes.Cast<GenericNode>())
            {
                if (recursive) RefreshNodeColors(node.Nodes, recursive);

                node.BackColor = this.BackColor;
                node.ForeColor = this.ForeColor;
                node.ForeColorRequest = this.ForeColor;
            }
        }
Exemple #3
0
 public void ProcessPath(IEnumerable<String> path, TreeNodeCollection nodes)
 {
     if (!path.Any())
         return;
     var node = nodes.Cast<TreeNode>().FirstOrDefault(n => n.Text == path.First());
     if (node == null)
     {
         node = new TreeNode(text: path.First());
         nodes.Add(node);
     }
     ProcessPath(path.Skip(1), node.Nodes);
 }
        private void ResetAllNodeHighlighting(TreeNodeCollection nodes)
        {
            labelNumFound.Text = "";

            foreach (var node in nodes.Cast<TreeNode>())
            {
                HighlightNode(node, false);
                ResetAllNodeHighlighting(node.Nodes);
            }
        }
 private Expression GetCompoundExpression(string quantifier, TreeNodeCollection nodes)
 {
     if (nodes == null || nodes.Count < 1)
         return Expression.Constant(true);
     Expression result = null;
     var first = true;
     foreach (var subCondition in nodes.Cast<TreeNode>().Select(GetExpression))
     {
         result = first ? subCondition : Expression.MakeBinary(ExpressionType.AndAlso, result, subCondition);
         first = false;
     }
     return result;
 }
    private void UpdateChildTreeNodes(TreeNodeCollection collection, IEnumerable<ISymbol> symbols) {
      foreach (ISymbol symbol in symbols) {
        if (symbol is ProgramRootSymbol) continue;
        if (symbol is Defun) continue;

        TreeNode node = collection.Cast<TreeNode>().Where(n => n.Tag == symbol).FirstOrDefault();
        if (node == null) {
          node = new TreeNode();
          node.Tag = symbol;
          collection.Add(node);
        }
        node.Checked = symbol.Enabled;
        node.Text = symbol.Name;

        var groupSymbol = symbol as GroupSymbol;
        if (groupSymbol != null) UpdateChildTreeNodes(node.Nodes, groupSymbol.Symbols);
      }
    }
Exemple #7
0
        private bool HideUnmarkedNodes(TreeNodeCollection nodes)
        {
            bool hasMarks = false;
            var nodess = nodes.Cast<CustomTreeNode>().ToArray();
            foreach (TreeNode tnode in nodess)
            {
                if (tnode == null)
                {
                    continue;
                }

                CustomTreeNode node = (CustomTreeNode)tnode;
                if (!string.IsNullOrEmpty(node.Tags))
                {
                    hasMarks = true;
                    continue;
                }

                if (node.Nodes.Count > 0)
                {
                    var hasChildMarks = HideUnmarkedNodes(node.Nodes);
                    if (hasChildMarks)
                    {
                        hasMarks = true;
                    }
                    else
                    {
                        node.Remove();
                    }
                }

                if (node.Nodes.Count == 0 && string.IsNullOrEmpty(node.Tags))
                {
                    node.Remove();
                }
            }

            return hasMarks;
        }
 private static TreeNode FindChildlessNode(TreeNodeCollection nodes)
 {
     return nodes.Cast<TreeNode>().FirstOrDefault(node => node.Nodes.Count == 0);
 }
 private void nameAllNodes(TreeNodeCollection Nodes)
 {
     List<TreeNode> allNodes = Nodes.Cast<TreeNode>().ToList();
     //flatten tree of nodes into list.
     for (int i = 0; i < allNodes.Count(); i++)
     {
         allNodes[i].Name = i.ToString();
         allNodes.AddRange(allNodes[i].Nodes.Cast<TreeNode>());
     }
 }