private StuctureItem CloneNode(SPTreeNode source) { var result = new StuctureItem(); result.ID = (String.IsNullOrEmpty(source.Model.ID)) ? source.Index.ToString() : source.Model.ID; return(result); }
public IEnumerable<SPTreeNode> LoadChildren(SPTreeNode parentNode) { var model = parentNode.Model; var index = model.Children.Count; model.LoadChildren(); // Load new nodes var list = new List<SPTreeNode>(); for (var count = index; count < parentNode.Model.Children.Count; count++) { var spNode = parentNode.Model.Children[count]; var treeNode = SPTreeNode.Create(this, spNode); parentNode.Nodes.Insert(count, treeNode); list.Add(treeNode); } var modelCollection = model as ISPNodeCollection; if (modelCollection == null) return list; // Add more node if (modelCollection.LoadingChildren) { var moreNode = new MoreNode(modelCollection); moreNode.NodeProvider = modelCollection.NodeProvider; var spNode = SPMoreNode.Create(this, moreNode); list.Add(spNode); parentNode.Nodes.Add(spNode); } return list; }
public static SPTreeNode Create(ITreeViewNodeProvider provider, ISPNode spNode) { var node = new SPTreeNode(spNode); node.NodeProvider = provider; return(node); }
public SPTreeNode Load(ISPNode spNode) { var root = SPTreeNode.Create(this, spNode); LoadTreeNodes(root); return(root); }
public SPTreeNode LoadFarmNode() { var spFarmNode = SPProvider.LoadFarmNode(); var node = SPTreeNode.Create(this, spFarmNode); node.Setup(); //node.IsExpanded = true; return(node); }
public void Initialize(SPTreeNode treeNode) { TreeNode = treeNode; this.Items.AddRange(EnsureTreeNode(IoCContainer.Resolve<IEnumerable<ISPMenuItem>>(TreeNode.Model.GetType().AssemblyQualifiedName), TreeNode)); if (this.Items.Count > 0) { this.Items.Add(new ToolStripSeparator()); } this.Items.AddRange(EnsureTreeNode(IoCContainer.Resolve<IEnumerable<ISPMenuItem>>(this.GetType().AssemblyQualifiedName), TreeNode)); }
private void LoadTreeNodes(SPTreeNode parent) { if (parent.Model.Children.Count == 0) { return; } parent.Nodes.AddRange(parent.Model.Children.Select(spNode => SPTreeNode.Create(this, spNode)).ToArray()); foreach (SPTreeNode item in parent.Nodes) { LoadTreeNodes(item); } }
public void Reload(SPTreeNode parent, StuctureItemCollection list) { var parentTreeview = TreeView as TreeViewComponent; if (parentTreeview == null) { return; } if (list == null || list.Count <= 1) { // End of the line, set the selectedNode and return parentTreeview.SelectedNode = parent; return; } list.RemoveAt(0); var item = list[0]; Trace.WriteLine("Expand node: " + parent.Text); Trace.WriteLine("Find child node: " + item.ID); parent.HasChildrenLoaded = false; parentTreeview.ExpandNode(parent); var found = false; foreach (SPTreeNode node in parent.Nodes) { //var nodeID = (String.IsNullOrEmpty(node.Model.ID)) ? node.Index.ToString() : node.Model.ID; if (node.Model.ID == item.ID) { Trace.WriteLine("Child node found: " + item.ID); found = true; Reload(node, list); break; } } if (!found) { parentTreeview.SelectedNode = parent; } }
public IEnumerable <SPTreeNode> LoadChildren(SPTreeNode parentNode) { var model = parentNode.Model; var index = model.Children.Count; model.LoadChildren(); // Load new nodes var list = new List <SPTreeNode>(); for (var count = index; count < parentNode.Model.Children.Count; count++) { var spNode = parentNode.Model.Children[count]; var treeNode = SPTreeNode.Create(this, spNode); parentNode.Nodes.Insert(count, treeNode); list.Add(treeNode); } var modelCollection = model as ISPNodeCollection; if (modelCollection == null) { return(list); } // Add more node if (modelCollection.LoadingChildren) { var moreNode = new MoreNode(modelCollection); moreNode.NodeProvider = modelCollection.NodeProvider; var spNode = SPMoreNode.Create(this, moreNode); list.Add(spNode); parentNode.Nodes.Add(spNode); } return(list); }
private void ExplorerClick(SPTreeNode treeNode) { Cursor.Current = Cursors.WaitCursor; try { this.toolStripStatusLabel.Text = treeNode.ToolTipText; UpdateMenu(treeNode); ArrayList nodeColl = new ArrayList(treeNode.GetTabPages()); int i = 0; while (i < tabControl.TabPages.Count) { TabPage page = tabControl.TabPages[i]; if (nodeColl.Contains(page)) { i++; } else { tabControl.TabPages.Remove(page); } } foreach (TabPage page in nodeColl) { if (!tabControl.Contains(page)) { tabControl.TabPages.Add(page); } } } finally { Cursor.Current = Cursors.Default; } }
private StuctureItem CloneNode(SPTreeNode source) { var result = new StuctureItem(); result.ID = (String.IsNullOrEmpty(source.Model.ID)) ? source.Index.ToString() : source.Model.ID; return result; }
public void Reload(SPTreeNode parent, StuctureItemCollection list) { var parentTreeview = TreeView as TreeViewComponent; if (parentTreeview == null) return; if (list == null || list.Count <= 1) { // End of the line, set the selectedNode and return parentTreeview.SelectedNode = parent; return; } list.RemoveAt(0); var item = list[0]; Trace.WriteLine("Expand node: " + parent.Text); Trace.WriteLine("Find child node: " + item.ID); parent.HasChildrenLoaded = false; parentTreeview.ExpandNode(parent); var found = false; foreach (SPTreeNode node in parent.Nodes) { //var nodeID = (String.IsNullOrEmpty(node.Model.ID)) ? node.Index.ToString() : node.Model.ID; if (node.Model.ID == item.ID) { Trace.WriteLine("Child node found: " + item.ID); found = true; Reload(node, list); break; } } if (!found) { parentTreeview.SelectedNode = parent; } }
public static SPTreeNode Create(ITreeViewNodeProvider provider, ISPNode spNode) { var node = new SPTreeNode(spNode); node.NodeProvider = provider; return node; }
private void ExpandToDefault(SPTreeNode parent, List<string> types) { if(types == null || types.Count <= 0) { this.SelectedNode = parent; return; } ExpandNode(parent); var item = types[0]; types.RemoveAt(0); foreach (SPTreeNode node in parent.Nodes) { if (item.Equals(node.Model.GetType().Name)) { ExpandToDefault(node, types); break; } } }
private ToolStripItem[] EnsureTreeNode(IEnumerable<ISPMenuItem> collection, SPTreeNode treeNode) { var list = new List<ToolStripItem>(); foreach (var menuItem in collection) { if (menuItem != null) { menuItem.TreeNode = treeNode; } list.Add((ToolStripItem)menuItem); } return list.ToArray(); }
private void LoadTreeNodes(SPTreeNode parent) { if (parent.Model.Children.Count == 0) return; parent.Nodes.AddRange(parent.Model.Children.Select(spNode => SPTreeNode.Create(this, spNode)).ToArray()); foreach (SPTreeNode item in parent.Nodes) { LoadTreeNodes(item); } }