private void AddNodeSafe(TreeNode parentNode, TreeNode childNode)
        {
            if (parentNode == null)
            {
                return;
            }

            if (childNode == null)
            {
                return;
            }

            if (treeView.InvokeRequired)
            {
                AddNodeCallback callback = new AddNodeCallback(AddNodeSafe);
                treeView.Invoke(callback, new object[] { parentNode, childNode });
            }
            else
            {
                parentNode.Nodes.Add(childNode);

                if (childNode.Checked)
                {
                    TreeNode target = childNode;
                    while (target != null)
                    {
                        target.Expand();

                        target = target.Parent;
                    }
                }
            }
        }
Exemplo n.º 2
0
 private void AddNode(TreeNode parent, TreeNode newNode)
 {
     if (parent.TreeView.InvokeRequired)
     {
         AddNodeCallback d = new AddNodeCallback(AddNode);
         this.Invoke(d, new object[] { parent, newNode });
     }
     else
     {
         parent.Nodes.Add(newNode);
     }
 }
Exemplo n.º 3
0
 public void AddNode(TreeNode Parent, TreeNode Child)
 {
     if (plexTreeView.InvokeRequired)
     {
         AddNodeCallback d = new AddNodeCallback(AddNode);
         this.Invoke(d, new object[] { Parent, Child });
     }
     else
     {
         Application.DoEvents();
         Parent.Nodes.Add(Child);
     }
 }
Exemplo n.º 4
0
 public void AddNode(TreeNode n, string key)
 {
     if (InvokeRequired)
     {
         AddNodeCallback d = new AddNodeCallback(AddNode);
         Invoke(d, new object[] { n, key });
     }
     else
     {
         CheckDisposed();
         Node(key).Nodes.Add(n);
         _nodelist.Add(n.Key?.ToString(), n);
     }
 }
Exemplo n.º 5
0
        /// <summary>
        /// Adds a node to treeNodes
        /// If duplicate nodes exist already than the node with more children is kept.
        /// </summary>
        /// <param name="node"></param>
        public void AddNode(TreeNode node)
        {
            if (this.treeNodes.InvokeRequired)
            {
                AddNodeCallback c = new AddNodeCallback(AddNode);
                this.Invoke(c, new object[] { node });
            }
            else
            {
                if (this.treeNodes.Nodes.ContainsKey(node.Name))
                {
                    this.treeNodes.Nodes.RemoveByKey(node.Name);
                }
                RemoveFailed(node);

                this.treeNodes.Nodes.Add(node);
            }
        }
Exemplo n.º 6
0
 private void addNode(TreeView treeview, TreeNode parentNode, TreeNode node)
 {
     if (treeview.InvokeRequired)
     {
         var cb = new AddNodeCallback(addNode);
         Invoke(cb, new object[] { treeview, parentNode, node });
     }
     else
     {
         if (parentNode == null)
         {
             treeview.Nodes.Add(node);
         }
         else
         {
             parentNode.Nodes.Add(node);
         }
     }
 }
Exemplo n.º 7
0
 public void AddNode(TreeNode Parent, TreeNode Child)
 {
     if (searchTreeView.InvokeRequired)
     {
         AddNodeCallback d = new AddNodeCallback(AddNode);
         this.Invoke(d, new object[] { Parent, Child });
     }
     else
     {
         if (Parent != fakeNode)
         {
             Parent.Nodes.Add(Child);
         }
         else
         {
             Thread.Sleep(1);
             Application.DoEvents();
             searchTreeView.Nodes.Add(Child);
         }
     }
 }
Exemplo n.º 8
0
        private void DisplaySeachrResults()
        {
            this.SuspendLayout();
            if (this.itemsView.InvokeRequired)
            {
                ClearTreeCallback d = new ClearTreeCallback(ClearTree);
                this.Invoke(d, new object[] { });
            }
            else
                ClearTree();
            TreeNode nodes = new TreeNode();
            foreach (TreeNode tn in Kernel.Instance.ItemCollection.MainNodes)
            {
                TreeNode children = RecursiveSearch(tn, SearchBox.Text);

                if (children.Nodes.Count > 0)
                {
                    if (this.itemsView.InvokeRequired)
                    {
                        AddNodeCallback d = new AddNodeCallback(AddNode);
                        this.Invoke(d, new object[] { children });
                    }
                    else
                        AddNode(children);
                    if (SearchBox.Text != "")
                    {
                        if (this.itemsView.InvokeRequired)
                        {
                            ExpandNodeCallback d = new ExpandNodeCallback(ExpandNode);
                            this.Invoke(d, new object[] { children });
                        }
                        else
                            ExpandNode(children);
                    }
                }
            }
            this.ResumeLayout();
        }