Allow search to work on the basis of Folders, rather than DocVersions (Working Draft).

This commit is contained in:
Rich 2016-11-08 21:45:29 +00:00
parent 5feabe3a89
commit 3cd0e1cae7

View File

@ -342,13 +342,20 @@ namespace Volian.Controls.Library
newnode = new DevComponents.AdvTree.Node();
newnode.Text = nodetext;
newnode.Selectable = selectable;
AddCheckBox(chxbxvisable, newnode);//C2016-045 Allow Folders to be selected.
return newnode;
}
//C2016-045 Allow Folders to be selected.
private void AddCheckBox(bool chxbxvisable, DevComponents.AdvTree.Node newnode)
{
newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter;
newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox;
newnode.CheckBoxThreeState = false;
newnode.CheckBoxVisible = chxbxvisable;
return newnode;
// Set newnode.Checked = parent.Checked
if(newnode.Parent != null)
newnode.Checked = newnode.Parent.Checked;
}
public void advTreeStepTypesFillIn()
{
DevComponents.AdvTree.Node topnode = new DevComponents.AdvTree.Node();
@ -464,23 +471,7 @@ namespace Volian.Controls.Library
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);
//}
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
cntnd++;
if (fic.ChildFolderCount > 0 || fic.FolderDocVersionCount > 0) // allow for '+' for tree expansion
{
@ -496,12 +487,7 @@ namespace Volian.Controls.Library
DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node();
newnode.Text = fi.ToString();
newnode.Tag = fi;
//newnode.Checked = true;
//newnode.Selectable = true;
//newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter;
//newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox;
//newnode.CheckBoxThreeState = false;
//newnode.CheckBoxVisible = true;
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
AddDocVersionNodes(newnode, fi, true);
topnode.Nodes.Add(newnode);
lstCheckedDocVersions.Add(Mydocversion);
@ -564,6 +550,7 @@ namespace Volian.Controls.Library
newnode.Text = fic.ToString();
newnode.Tag = fic;
par.Nodes.Add(newnode);
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
if (fic.HasChildren) // allow for '+' for tree expansion
{
DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node();
@ -589,10 +576,7 @@ namespace Volian.Controls.Library
newnode.Text = dv.ToString();
newnode.Tag = dv;
newnode.Selectable = true;
newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter;
newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox;
newnode.CheckBoxThreeState = false;
newnode.CheckBoxVisible = true;
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
newnode.Checked = isChecked;
if (tabSearchTypes.SelectedTab == tabTranSearch)
{
@ -1491,6 +1475,8 @@ namespace Volian.Controls.Library
if (n.Checked)
{
n.Style = DevComponents.AdvTree.NodeStyles.Apple;
if (n.Tag is DocVersionInfo)//If it is a DocVersion add one DocVersion ID
{
lstCheckedDocVersions.Add((DocVersionInfo)n.Tag);
if (lstCheckedDocVersions.Count == 1)//Mydocversion == null)
{
@ -1498,9 +1484,16 @@ namespace Volian.Controls.Library
advTreeStepTypesFillIn();
}
}
else if (n.Tag is FolderInfo) // If it is a folder add all of the doc version children
{
AddAllVersions(n.Tag as FolderInfo);
}
}
else
{
n.Style = null;
if (n.Tag is DocVersionInfo)// If docVersion Remove 1 DocVersion
{
lstCheckedDocVersions.Remove((DocVersionInfo)n.Tag);
if (lstCheckedDocVersions.Count == 1)
{
@ -1524,6 +1517,11 @@ namespace Volian.Controls.Library
buildStepTypePannelTitle();
}
}
else if (n.Tag is FolderInfo) // If foldre remove all docversion children.
{
RemoveAllVersions(n.Tag as FolderInfo);
}
}
//// Enable the RO combo list only if at least one procedure set node
//// is selected
//cmboTreeROs.Enabled = (lstCheckedDocVersions.Count > 0);
@ -1533,7 +1531,28 @@ namespace Volian.Controls.Library
buildSetToSearchPanelTitle();
}
// remove all docversion children
private void RemoveAllVersions(FolderInfo myFolderInfo)
{
if (myFolderInfo.FolderDocVersionCount > 0)
foreach(DocVersionInfo dvi in myFolderInfo.FolderDocVersions)
if(lstCheckedDocVersions.Contains (dvi))
lstCheckedDocVersions.Remove(dvi);
if (myFolderInfo.ChildFolders != null)
foreach (FolderInfo folderChild in myFolderInfo.ChildFolders)
RemoveAllVersions(folderChild);
}
// add all docversion children
private void AddAllVersions(FolderInfo myFolderInfo)
{
if (myFolderInfo.FolderDocVersionCount > 0)
foreach(DocVersionInfo dvi in myFolderInfo.FolderDocVersions)
if(!lstCheckedDocVersions.Contains (dvi))
lstCheckedDocVersions.Add(dvi);
if (myFolderInfo.ChildFolders != null)
foreach (FolderInfo folderChild in myFolderInfo.ChildFolders)
AddAllVersions(folderChild);
}
private void cbxTranFormatFillIn(string vid)
{
vid = vid.IndexOf(",") < 0 ? vid : vid.Substring(0, cbxTranVersion.Tag.ToString().IndexOf(","));
@ -1556,13 +1575,10 @@ namespace Volian.Controls.Library
_DoingRange = (etm & E_TransUI.StepLast) == E_TransUI.StepLast;
*/
}
private void xpSetToSearch_ExpandedChanged(object sender, ExpandedChangeEventArgs e)
{
buildSetToSearchPanelTitle();
}
private void buildSetToSearchPanelTitle()
{
if (lstCheckedDocVersions.Count == 0)
@ -1590,19 +1606,19 @@ namespace Volian.Controls.Library
btnSearch.Enabled = true;
tabSearchTypes.Enabled = true; // enable all the search tabs
}
}
private void advTreeProcSets_AfterNodeSelect(object sender, AdvTreeNodeEventArgs e)
{
DevComponents.AdvTree.Node n = advTreeProcSets.SelectedNode;
if (advTreeStepTypes.Nodes.Count == 1 && n.Checked)
{
if (n.Tag is DocVersionInfo) // Only set MyDocVersion if it is a DocVersion
{
Mydocversion = (DocVersionInfo)n.Tag;
advTreeStepTypesFillIn();
}
}
}
#endregion
#region StepTypeSelection