~Added code to handle UI issues when selecting child nodes of a selected node

~Added code to ensure that the correct step types were added to the search list, and that the list was maintained when specific nodes were deselected
This commit is contained in:
Chris Glavan 2023-07-05 15:49:57 -04:00
parent 719ee03ba4
commit f215800b1e
2 changed files with 28 additions and 9 deletions

1
.gitignore vendored
View File

@ -401,3 +401,4 @@ FodyWeavers.xsd
/fmtall
/genmacall
AssemblyInfo.cs

View File

@ -2323,10 +2323,7 @@ namespace Volian.Controls.Library
{
foreach (Node tn in nodeCollection)
{
if (!tn.Checked)
tn.Checked = true;
else
tn.Checked = false;
tn.Checked = tn.Parent.Checked;
if (tn.Nodes != null && tn.Nodes.Count > 0 && tn.Nodes[0].Text != DummyNodeText)
CheckTreeNodeChildren(tn.Nodes);
@ -2559,10 +2556,15 @@ namespace Volian.Controls.Library
if (sd == null)
{
if (!lstCheckedStepTypesStr.Contains("WORD Sections"))
//C2023-010: Since the tag is null for Word Sections and HLS types, we need to determine which one has been selected. Word sections we need
//to process, but we need to ignore adding HLS types.
if (n.Text == "WORD Sections")
{
lstCheckedStepTypes.Add(0); //use zero to identify attachment search
lstCheckedStepTypesStr.Add("WORD Sections");
if (!lstCheckedStepTypesStr.Contains("WORD Sections"))
{
lstCheckedStepTypes.Add(0); //use zero to identify attachment search
lstCheckedStepTypesStr.Add("WORD Sections");
}
}
}
else
@ -2580,8 +2582,13 @@ namespace Volian.Controls.Library
if (sd == null)
{
lstCheckedStepTypesStr.Remove("WORD Sections");
lstCheckedStepTypes.Remove(0);
//C2023-010: Since the tag is null for Word Sections and HLS types, we need to determine which one has been selected. Word sections we need
//to process, but we need to ignore removing HLS types since they were not added in the previous process.
if (n.Text == "WORD Sections")
{
lstCheckedStepTypesStr.Remove("WORD Sections");
lstCheckedStepTypes.Remove(0);
}
}
else
{
@ -2590,6 +2597,17 @@ namespace Volian.Controls.Library
}
}
//C2023-010: Check if the node has children and if we need to process those children as well
if (n.HasChildNodes)
{
foreach (Node child in n.Nodes)
{
child.Checked = n.Checked;
advTreeStepTypes.SelectedNode = child;
advTreeStepTypes_AfterCheck(sender, null);
}
}
buildStepTypePannelTitle();
// B2021-100: Enable/disable the RNO Only checkbox & WORD Sections tree node in Step Elements to Search.