diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 095edcb3..730d774a 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -774,6 +774,8 @@ namespace Volian.Controls.Library } else if (!tn.IsExpanded) cm.MenuItems.Add("Open", new EventHandler(mi_Click)); + else + cm.MenuItems.Add("Collapse Procedures", new EventHandler(mi_Click)); #endregion #region Menu_CutCopy // For initial release, copy is not available for folders or docversions @@ -1138,6 +1140,11 @@ namespace Volian.Controls.Library MenuItem mi = sender as MenuItem; if (mi == null) return; + if (mi.Text == "Collapse Procedures") + { + CollapseProcedures(); + return; + } if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure") { OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); @@ -1286,6 +1293,22 @@ namespace Volian.Controls.Library break; } } + private void CollapseProcedures() + { + CollapseProcedures(SelectedNode as VETreeNode); + } + private void CollapseProcedures(VETreeNode tn) + { + if (tn == null) return; + if (!tn.IsExpanded) return; + if (tn.VEObject.GetType() == typeof(ProcedureInfo)) + { + tn.Collapse(); + return; + } + foreach (VETreeNode tnc in tn.Nodes) + CollapseProcedures(tnc); + } private void tv_RemoveChgIds() { Console.WriteLine("HERE"); // add code/query to clear change ids in config.