From 8cfc46ffde47198f2c57a77d198e6e69aa87812c Mon Sep 17 00:00:00 2001 From: John Date: Mon, 19 Apr 2010 20:01:25 +0000 Subject: [PATCH] better tree node logic --- .../Volian.Controls.Library/DisplaySearch.cs | 61 ++++++++++++------- 1 file changed, 40 insertions(+), 21 deletions(-) diff --git a/PROMS/Volian.Controls.Library/DisplaySearch.cs b/PROMS/Volian.Controls.Library/DisplaySearch.cs index fa56aa67..5d32ab77 100644 --- a/PROMS/Volian.Controls.Library/DisplaySearch.cs +++ b/PROMS/Volian.Controls.Library/DisplaySearch.cs @@ -210,39 +210,47 @@ namespace Volian.Controls.Library { DevComponents.AdvTree.Node topnode = null; int cntnd = 0; - VETreeNode vtn = VETreeNode.GetFolder(1); + VETreeNode vtn = VETreeNode.GetFolder(1); FolderInfo fi = vtn.VEObject as FolderInfo; int fiCount = fi.ChildFolderCount; advTreeProcSets.Nodes.Clear(); lstCheckedDocVersions.Clear(); + topnode = new DevComponents.AdvTree.Node(); + topnode.Text = "Available Procedure Sets"; + topnode.Tag = fi; + advTreeProcSets.Nodes.Add(topnode); + + + foreach (FolderInfo fic in fi.ChildFolders) { DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node(); newnode.Text = fic.ToString(); newnode.Tag = fic; - int tmp; - if (topnode == null) - { - newnode.Text = "Available Procedure Sets"; - tmp = advTreeProcSets.Nodes.Add(newnode); - topnode = newnode; - } - else - { - newnode.Selectable = true; - newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter; - newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox; - newnode.CheckBoxThreeState = false; - newnode.CheckBoxVisible = true; - tmp = topnode.Nodes.Add(newnode); - } + //int tmp; + //if (topnode == null) + //{ + // newnode.Text = "Available Procedure Sets"; + // tmp = advTreeProcSets.Nodes.Add(newnode); + // topnode = newnode; + //} + //else + //{ + // newnode.Selectable = true; + // newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter; + // newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox; + // newnode.CheckBoxThreeState = false; + // newnode.CheckBoxVisible = true; + // tmp = topnode.Nodes.Add(newnode); + //} cntnd++; if (fic.ChildFolderCount > 0) // allow for '+' for tree expansion { DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node(); tnt.Text = "VLN_DUMMY"; newnode.Nodes.Add(tnt); + topnode.Nodes.Add(newnode); } } @@ -342,10 +350,21 @@ namespace Volian.Controls.Library bool keeplooking = true; //build a stack (bread crumb trail) of where is procedure set came from within the tree. Stack crumbs = new Stack(); - crumbs.Push(Mydocversion.Name); // ex: "working draft" - crumbs.Push(Mydocversion.MyFolder.Name); // ex: "Emergency Procedures" - crumbs.Push(Mydocversion.MyFolder.MyParent.Name); // ex: "STPNOC-South Texas" - crumbs.Push(advTreeProcSets.Nodes[0].Text); //top node of my tree + //crumbs.Push(Mydocversion.Name); // ex: "working draft" + //crumbs.Push(Mydocversion.MyFolder.Name); // ex: "Emergency Procedures" + //crumbs.Push(Mydocversion.MyFolder.MyParent.Name); // ex: "STPNOC-South Texas" + //crumbs.Push(advTreeProcSets.Nodes[0].Text); //top node of my tree + + crumbs.Push(Mydocversion.Name); // ex: "working draft" + crumbs.Push(Mydocversion.MyFolder.Name); // ex: "Emergency Procedures" + FolderInfo fi = Mydocversion.MyFolder.MyParent; + while (fi != null) + { + if (fi.MyParent != null) + crumbs.Push(fi.Name); + fi = fi.MyParent; + } + crumbs.Push(advTreeProcSets.Nodes[0].Text); //top node of my tree // now walk the tree, looking for the node names we saved in the stack. NodeCollection monkeys = advTreeProcSets.Nodes;