/// <include file='doc\ObjectSelectorEditor.uex' path='docs/doc[@for="ObjectSelectorEditor.Selector.SetSelection"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> public bool SetSelection(object value, System.Windows.Forms.TreeNodeCollection nodes) { TreeNode[] treeNodes; if (nodes == null) { treeNodes = new TreeNode[this.Nodes.Count]; this.Nodes.CopyTo(treeNodes, 0); } else { treeNodes = new TreeNode[nodes.Count]; nodes.CopyTo(treeNodes, 0); } int len = treeNodes.Length; if (len == 0) { return(false); } for (int i = 0; i < len; i++) { if (((SelectorNode)treeNodes[i]).value == value) { SelectedNode = treeNodes[i]; return(true); } if ((treeNodes[i].Nodes != null) && (treeNodes[i].Nodes.Count != 0)) { treeNodes[i].Expand(); if (SetSelection(value, treeNodes[i].Nodes)) { return(true); } treeNodes[i].Collapse(); } } return(false); }
public void SortNodes(TreeNodeCollection nodes, bool recursive) { if (!isSorted) { return; } TreeNode[] nodeArray = new TreeNode[nodes.Count]; nodes.CopyTo(nodeArray, 0); Array.Sort(nodeArray, nodeSorter); nodes.Clear(); nodes.AddRange(nodeArray); if (recursive) { foreach (TreeNode childNode in nodeArray) { SortNodes(childNode.Nodes, true); } } }
public bool SetSelection(object value, TreeNodeCollection nodes) { TreeNode[] nodeArray; if (nodes == null) { nodeArray = new TreeNode[base.Nodes.Count]; base.Nodes.CopyTo(nodeArray, 0); } else { nodeArray = new TreeNode[nodes.Count]; nodes.CopyTo(nodeArray, 0); } int length = nodeArray.Length; if (length != 0) { for (int i = 0; i < length; i++) { if (((ObjectSelectorEditor.SelectorNode) nodeArray[i]).value == value) { base.SelectedNode = nodeArray[i]; return true; } if ((nodeArray[i].Nodes != null) && (nodeArray[i].Nodes.Count != 0)) { nodeArray[i].Expand(); if (this.SetSelection(value, nodeArray[i].Nodes)) { return true; } nodeArray[i].Collapse(); } } } return false; }
public void SortNodes(TreeNodeCollection nodes, bool recursive) { if (this.isSorted) { TreeNode[] dest = new TreeNode[nodes.Count]; nodes.CopyTo(dest, 0); Array.Sort<TreeNode>(dest, this.nodeSorter); nodes.Clear(); nodes.AddRange(dest); if (recursive) { foreach (TreeNode node in dest) { this.SortNodes(node.Nodes, true); } } } }
/// <summary>Sorts the specified nodes.</summary> /// <param name="nodes">The nodes.</param> /// <param name="recursive">if set to <c>true</c> recursively sorts the children nodes.</param> protected void SortNodes(TreeNodeCollection nodes, bool recursive) { TreeNode[] array = new TreeNode[nodes.Count]; nodes.CopyTo(array, 0); Array.Sort(array, base.TreeViewNodeSorter); nodes.Clear(); nodes.AddRange(array); if (recursive) { foreach (TreeNode child in array) SortNodes(child.Nodes, true); } }
/// <summary>Refreshes the specified nodes.</summary> /// <param name="nodes">The nodes.</param> private void RefreshNodes(TreeNodeCollection nodes) { TreeNode[] dest = new TreeNode[nodes.Count]; nodes.CopyTo(dest, 0); nodes.Clear(); nodes.AddRange(dest); }