public void Build(StuctureItemCollection list) { this.ImageList = Program.Window.SPMimageList; // Dispose all objects ClearNodes(this.Nodes); //var rules = CompositionProvider.GetOrderedExports<IRule<ISPNode>>(); var rules = IoCContainer.Resolve <IEnumerable <IRule <ISPNode> > >().Ordered(); SPProvider = new SPNodeProvider(SPFarm.Local, rules, IoCContainer); SPProvider.ViewLevel = ViewLevel; SPProvider.GetLocalizedTextFunction = p => SPMLocalization.GetString(p); Trace.WriteLine("ViewLevel: " + SPProvider.ViewLevel); var treeViewProvider = new TreeViewNodeProvider(SPProvider, IoCContainer); FarmNode = treeViewProvider.LoadFarmNode(); this.Nodes.Add(FarmNode); if (list != null) { FarmNode.Reload(FarmNode, list); } else { ExpandToDefault(FarmNode, DefaultExpandTypes); } }
public StuctureItemCollection SaveStucture() { var list = new StuctureItemCollection(); list.Add(CloneNode(this)); var child = this.Parent as SPTreeNode; while (child != null) { list.Insert(0, CloneNode(child)); child = child.Parent as SPTreeNode; } return(list); }
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 StuctureItemCollection SaveStucture() { var list = new StuctureItemCollection(); list.Add(CloneNode(this)); var child = this.Parent as SPTreeNode; while (child != null) { list.Insert(0, CloneNode(child)); child = child.Parent as SPTreeNode; } return list; }
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 void Build(StuctureItemCollection list) { this.ImageList = Program.Window.SPMimageList; // Dispose all objects ClearNodes(this.Nodes); //var rules = CompositionProvider.GetOrderedExports<IRule<ISPNode>>(); var rules = IoCContainer.Resolve<IEnumerable<IRule<ISPNode>>>().Ordered(); SPProvider = new SPNodeProvider(SPFarm.Local, rules, IoCContainer); SPProvider.ViewLevel = ViewLevel; SPProvider.GetLocalizedTextFunction = p => SPMLocalization.GetString(p); Trace.WriteLine("ViewLevel: " + SPProvider.ViewLevel); var treeViewProvider = new TreeViewNodeProvider(SPProvider, IoCContainer); FarmNode = treeViewProvider.LoadFarmNode(); this.Nodes.Add(FarmNode); if (list != null) { FarmNode.Reload(FarmNode, list); } else { ExpandToDefault(FarmNode, DefaultExpandTypes); } }