C2023-010: Added ability to select all substep types, or to select all children of a specific node in the treeview

This commit is contained in:
2023-06-08 15:14:46 +00:00
parent 8fb7887990
commit 9029e0eaac
2 changed files with 403 additions and 326 deletions

View File

@@ -692,6 +692,12 @@ namespace Volian.Controls.Library
// C2021-028: RNO Only search, disable Word section tree node
wordSectionTreeNode.Enabled = !(tabSearchTypes.SelectedTab == tabTranSearch || cbxRnoOnly.Checked);
advTreeStepTypes.Nodes.Add(newnode);
// C2023-010: Allow selecting all section types or none
newnode = NewAdvTreeNode("All Types", true, true);
newnode.NodeClick += new EventHandler(AllSectionTypes_clicked);
advTreeStepTypes.Nodes.Add(newnode);
foreach (StepDataRetval sdr in lstSrchStpTypes)
{
StepDataList sdl = fmtdata.StepDataList; ;
@@ -713,12 +719,22 @@ namespace Volian.Controls.Library
newnode = NewAdvTreeNode(sdr.Name, true, true);
newnode.Tag = sd;
newnode.Name = sd.Type;
DevComponents.AdvTree.Node pnode = NewAdvTreeNode(sd.Type, true, false); //create parent node (non selectable)
DevComponents.AdvTree.Node pnode = NewAdvTreeNode(sd.Type, true, true); //create parent node (non selectable)
pnode.Name = sd.Type;
if (!sd.Type.Equals("Title")) // only use Title as a tree grouping to put Title with Text Right/Below substep types
pnode.Nodes.Add(newnode);
pnode.Nodes.Sort();
advTreeStepTypes.Nodes.Add(pnode);
//C2030-010:
pnode.NodeClick += new EventHandler(pnode_selected);
}
else if (sd.Type.Equals("RNOType")) // B2019-016 Allow for search of RNO step types (when selecting types to search)
{
newnode = NewAdvTreeNode(sdr.Name, true, true);
newnode.Tag = sd;
newnode.Name = sd.Type;
advTreeStepTypes.Nodes.Add(newnode);
}
else if (sd.Type.Equals("RNOType")) // B2019-016 Allow for search of RNO step types (when selecting types to search)
{
@@ -764,6 +780,26 @@ namespace Volian.Controls.Library
buildStepTypePannelTitle();
}
private void AllSectionTypes_clicked(object sender, EventArgs e)
{
Node pNode = sender as Node;
foreach (Node node in advTreeStepTypes.Nodes)
{
node.Checked = pNode.Checked;
CheckTreeNodeChildren(node.Nodes);
}
}
//C2023-010: Select all child nodes when a subtype is selected
private void pnode_selected(object sender, EventArgs e)
{
DevComponents.AdvTree.Node pnode = sender as DevComponents.AdvTree.Node;
if (pnode != null && pnode.HasChildNodes)
{
CheckTreeNodeChildren(pnode.Nodes);
}
}
public void advTreeProcSetsFillIn(bool blSeachTabClicked)
{
DevComponents.AdvTree.Node topnode = null;
@@ -2287,8 +2323,10 @@ namespace Volian.Controls.Library
{
foreach (Node tn in nodeCollection)
{
if (!tn.Checked)
if (!tn.Checked)
tn.Checked = true;
else
tn.Checked = false;
if (tn.Nodes != null && tn.Nodes.Count > 0 && tn.Nodes[0].Text != DummyNodeText)
CheckTreeNodeChildren(tn.Nodes);