B2026-054 - When performing a Transition search, the Formats dropdown list is repeating several times. #785

Merged
jjenko merged 1 commits from B2026-054 into Development 2026-07-01 08:19:39 -04:00
+145 -147
View File
@@ -15,24 +15,24 @@ using System.Linq;
namespace Volian.Controls.Library namespace Volian.Controls.Library
{ {
public partial class DisplaySearch : UserControl public partial class DisplaySearch : UserControl
{ {
#region Public Events/Handlers #region Public Events/Handlers
public event DisplaySearchEvent PrintRequest; public event DisplaySearchEvent PrintRequest;
public event DisplaySearchEvent SearchComplete; public event DisplaySearchEvent SearchComplete;
private void OnPrintRequest(DisplaySearchEventArgs args) private void OnPrintRequest(DisplaySearchEventArgs args)
{ {
if (PrintRequest != null) if (PrintRequest != null)
PrintRequest(this, args); PrintRequest(this, args);
} }
private void OnSearchComplete(DisplaySearchEventArgs args) private void OnSearchComplete(DisplaySearchEventArgs args)
{ {
if (SearchComplete != null) if (SearchComplete != null)
SearchComplete(this, args); SearchComplete(this, args);
} }
#endregion #endregion
@@ -43,9 +43,9 @@ namespace Volian.Controls.Library
// B2023-076: Adding option to select all procedure sets // B2023-076: Adding option to select all procedure sets
private const string SelectAllProcedureSetsText = "Select All Procedure Sets"; private const string SelectAllProcedureSetsText = "Select All Procedure Sets";
// B2019-161 When tracking timing time this action // B2019-161 When tracking timing time this action
private static VolianTimer _TimeActivity = new VolianTimer("DisplaySearch _TmrRefresh_Tick", 399); private static VolianTimer _TimeActivity = new VolianTimer("DisplaySearch _TmrRefresh_Tick", 399);
private Timer _TmrRefresh = null; private Timer _TmrRefresh = null;
public FormatVersionList myFormatVersionList; public FormatVersionList myFormatVersionList;
private ItemInfo _SearchIncTransII = null; private ItemInfo _SearchIncTransII = null;
@@ -220,7 +220,7 @@ namespace Volian.Controls.Library
{ {
_TmrRefresh = new Timer(); _TmrRefresh = new Timer();
_TmrRefresh.Interval = 1000; _TmrRefresh.Interval = 1000;
_TmrRefresh.Tick += _TmrRefresh_Tick; _TmrRefresh.Tick += _TmrRefresh_Tick;
} }
return _TmrRefresh; return _TmrRefresh;
} }
@@ -325,7 +325,7 @@ namespace Volian.Controls.Library
if (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[2]) if (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[2])
{ // RO Search { // RO Search
ROFSTLookup.rochild[] chld = null; ROFSTLookup.rochild[] chld = null;
ROFSTLookup.rochild ch; ROFSTLookup.rochild ch;
if (cmboTreeROs.SelectedNode != null) if (cmboTreeROs.SelectedNode != null)
{ {
if (cbxFndUnLnkROVals.Enabled && cbxFndUnLnkROVals.Checked) if (cbxFndUnLnkROVals.Enabled && cbxFndUnLnkROVals.Checked)
@@ -337,22 +337,22 @@ namespace Volian.Controls.Library
else else
{ {
if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rodbi) if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rodbi)
{ {
ROFSTLookup.rodbi db = (ROFSTLookup.rodbi)cmboTreeROs.SelectedNode.Tag; ROFSTLookup.rodbi db = (ROFSTLookup.rodbi)cmboTreeROs.SelectedNode.Tag;
return _MyRODbID.ToString() + ":" + string.Format("{0}", db.dbiID.ToString("X4")); return _MyRODbID.ToString() + ":" + string.Format("{0}", db.dbiID.ToString("X4"));
} }
else if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rochild) else if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rochild)
{ {
ch = (ROFSTLookup.rochild)cmboTreeROs.SelectedNode.Tag; ch = (ROFSTLookup.rochild)cmboTreeROs.SelectedNode.Tag;
chld = ch.children; chld = ch.children;
// build a list of ROs to search // build a list of ROs to search
// B2022-118: remove the ending comma otherwise query will fail // B2022-118: remove the ending comma otherwise query will fail
string strRtnStr = _MyRODbID.ToString() + ":" + GetROsToSearch(chld); string strRtnStr = _MyRODbID.ToString() + ":" + GetROsToSearch(chld);
if (strRtnStr.EndsWith(",")) if (strRtnStr.EndsWith(","))
strRtnStr = strRtnStr.Substring(0, strRtnStr.Length - 1); strRtnStr = strRtnStr.Substring(0, strRtnStr.Length - 1);
return strRtnStr; return strRtnStr;
} }
} }
} }
} }
return string.Empty; return string.Empty;
@@ -468,15 +468,18 @@ namespace Volian.Controls.Library
this.Refresh(); this.Refresh();
myFormatVersionList = FormatVersionList.GetFormatVersions(); myFormatVersionList = FormatVersionList.GetFormatVersions();
cbxTranVersion.DisplayMember = "Title"; cbxTranVersion.DisplayMember = "Title";
int lastLastFormatID = 0;
foreach (FormatVersion fv in myFormatVersionList) List<FormatVersion> fvlst = myFormatVersionList.GroupBy(x => x.FormatID).Select(group => new
FormatVersion(title: group.Max(x => x.Title),
formatID: group.Key,
versionID: group.Max(x => x.VersionID)
)).OrderBy(y => y.Title).ToList();
foreach (FormatVersion fv in fvlst)
{ {
if (fv.FormatID != lastLastFormatID) cbxTranVersion.Items.Add(fv);
{
cbxTranVersion.Items.Add(fv);
lastLastFormatID = fv.FormatID;
}
} }
cbxTranVersion.SelectedIndexChanged -= new EventHandler(cbxTranVersion_SelectedIndexChanged); cbxTranVersion.SelectedIndexChanged -= new EventHandler(cbxTranVersion_SelectedIndexChanged);
cbxTranVersion.SelectedIndexChanged += new EventHandler(cbxTranVersion_SelectedIndexChanged); cbxTranVersion.SelectedIndexChanged += new EventHandler(cbxTranVersion_SelectedIndexChanged);
cbxTranFormat.SelectedIndexChanged -= new EventHandler(cbxTranFormat_SelectedIndexChanged); cbxTranFormat.SelectedIndexChanged -= new EventHandler(cbxTranFormat_SelectedIndexChanged);
@@ -556,14 +559,9 @@ namespace Volian.Controls.Library
string versionList = string.Empty; string versionList = string.Empty;
string sep = string.Empty; string sep = string.Empty;
FormatVersion sfv = cbxTranVersion.SelectedItem as FormatVersion; FormatVersion sfv = cbxTranVersion.SelectedItem as FormatVersion;
foreach (FormatVersion fv in myFormatVersionList)
{ versionList = string.Join(",", myFormatVersionList.Where(x => x.FormatID == sfv?.FormatID).Select(y => y.VersionID));
if (fv.FormatID == sfv.FormatID)
{
versionList += sep + fv.VersionID;
sep = ",";
}
}
cbxTranVersion.Tag = versionList; cbxTranVersion.Tag = versionList;
cbxTranFormatFillIn(versionList); cbxTranFormatFillIn(versionList);
if (dicExpandedFolderNodes.Count > 0) if (dicExpandedFolderNodes.Count > 0)
@@ -616,7 +614,7 @@ namespace Volian.Controls.Library
dicSelectedFolderNodes.Clear(); dicSelectedFolderNodes.Clear();
} }
} }
this.Cursor = Cursors.Default; this.Cursor = Cursors.Default;
} }
// C2020-033: Update the search panel for Incoming transitions. This gets called from the tree view & the ribbon // C2020-033: Update the search panel for Incoming transitions. This gets called from the tree view & the ribbon
@@ -828,10 +826,10 @@ namespace Volian.Controls.Library
{ {
DevComponents.AdvTree.Node pnode = sender as DevComponents.AdvTree.Node; DevComponents.AdvTree.Node pnode = sender as DevComponents.AdvTree.Node;
if (pnode != null && pnode.HasChildNodes) if (pnode != null && pnode.HasChildNodes)
{ {
CheckTreeNodeChildren(pnode.Nodes); CheckTreeNodeChildren(pnode.Nodes);
} }
} }
public void advTreeProcSetsFillIn(bool blSeachTabClicked) public void advTreeProcSetsFillIn(bool blSeachTabClicked)
{ {
@@ -846,15 +844,15 @@ namespace Volian.Controls.Library
topnode.Text = "Available Procedure Sets"; topnode.Text = "Available Procedure Sets";
topnode.Tag = fi; topnode.Tag = fi;
topnode.DataKey = fi.FolderID; topnode.DataKey = fi.FolderID;
advTreeProcSets.Nodes.Add(topnode); advTreeProcSets.Nodes.Add(topnode);
//advTreeProcSets.AfterNodeInsert += new TreeNodeCollectionEventHandler(advTreeProcSets_AfterNodeInsert); //advTreeProcSets.AfterNodeInsert += new TreeNodeCollectionEventHandler(advTreeProcSets_AfterNodeInsert);
//B2023-076: Adding option to select all procedure sets //B2023-076: Adding option to select all procedure sets
DevComponents.AdvTree.Node selectAllNode = new Node(); DevComponents.AdvTree.Node selectAllNode = new Node();
selectAllNode.Text = SelectAllProcedureSetsText; selectAllNode.Text = SelectAllProcedureSetsText;
selectAllNode.Tag = SelectAllProcedureSetsText; selectAllNode.Tag = SelectAllProcedureSetsText;
selectAllNode.CheckBoxVisible = true; selectAllNode.CheckBoxVisible = true;
selectAllNode.NodeClick += new EventHandler(AllProcedureSets_clicked); selectAllNode.NodeClick += new EventHandler(AllProcedureSets_clicked);
topnode.Nodes.Add(selectAllNode); topnode.Nodes.Add(selectAllNode);
if (fi.SortedChildFolders != null) if (fi.SortedChildFolders != null)
@@ -865,7 +863,7 @@ namespace Volian.Controls.Library
newnode.Text = fic.ToString(); newnode.Text = fic.ToString();
newnode.Tag = fic; newnode.Tag = fic;
newnode.DataKey = fi.FolderID; newnode.DataKey = fi.FolderID;
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected. AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
cntnd++; cntnd++;
if (fic.ChildFolderCount > 0 || fic.FolderDocVersionCount > 0) // allow for '+' for tree expansion if (fic.ChildFolderCount > 0 || fic.FolderDocVersionCount > 0) // allow for '+' for tree expansion
{ {
@@ -873,7 +871,7 @@ namespace Volian.Controls.Library
{ {
DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node(); DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node();
tnt.Text = DummyNodeText; tnt.Text = DummyNodeText;
newnode.Nodes.Add(tnt); newnode.Nodes.Add(tnt);
} }
topnode.Nodes.Add(newnode); topnode.Nodes.Add(newnode);
} }
@@ -885,7 +883,7 @@ namespace Volian.Controls.Library
newnode.Text = fi.ToString(); newnode.Text = fi.ToString();
newnode.Tag = fi; newnode.Tag = fi;
newnode.DataKey = fi.FolderID; newnode.DataKey = fi.FolderID;
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected. AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
topnode.Nodes.Add(newnode); topnode.Nodes.Add(newnode);
lstCheckedDocVersions.Add(Mydocversion); lstCheckedDocVersions.Add(Mydocversion);
buildSetToSearchPanelTitle(); buildSetToSearchPanelTitle();
@@ -897,7 +895,7 @@ namespace Volian.Controls.Library
fi = Mydocversion.MyFolder; fi = Mydocversion.MyFolder;
topnode = new DevComponents.AdvTree.Node(); topnode = new DevComponents.AdvTree.Node();
topnode.Text = fi.ToString(); topnode.Text = fi.ToString();
advTreeProcSets.Nodes.Add(topnode); advTreeProcSets.Nodes.Add(topnode);
topnode.Tag = fi; topnode.Tag = fi;
topnode.DataKey = fi.FolderID; topnode.DataKey = fi.FolderID;
} }
@@ -935,31 +933,31 @@ namespace Volian.Controls.Library
newnode.Text = fic.ToString(); newnode.Text = fic.ToString();
newnode.Tag = fic; newnode.Tag = fic;
newnode.DataKey = fic.FolderID; newnode.DataKey = fic.FolderID;
par.Nodes.Add(newnode); par.Nodes.Add(newnode);
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected. AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
newnode.Enabled = true; newnode.Enabled = true;
if (fic.ChildFolderCount > 0) // B2017-176: Only expand if folder has folders (not working draft nodes) if (fic.ChildFolderCount > 0) // B2017-176: Only expand if folder has folders (not working draft nodes)
{ {
DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node(); DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node();
tnt.Text = DummyNodeText; tnt.Text = DummyNodeText;
newnode.Nodes.Add(tnt); newnode.Nodes.Add(tnt);
// B2017-176: Only expand if folder has folders (not working draft nodes): the following was moved from the code // B2017-176: Only expand if folder has folders (not working draft nodes): the following was moved from the code
// that would check if this should be enabled if seraching for transition types. The transition controls // that would check if this should be enabled if seraching for transition types. The transition controls
// had a list of associated docversions, so needed to get the docversion in the folder: // had a list of associated docversions, so needed to get the docversion in the folder:
if (tabSearchTypes.SelectedTab == tabTranSearch) if (tabSearchTypes.SelectedTab == tabTranSearch)
{ {
if (!dicSelectedFolderNodes.ContainsKey(newnode)) dicSelectedFolderNodes.Add(newnode, false); if (!dicSelectedFolderNodes.ContainsKey(newnode)) dicSelectedFolderNodes.Add(newnode, false);
// get the docversion for this folder, if it has one and determine whether it is enabled for transitions: // get the docversion for this folder, if it has one and determine whether it is enabled for transitions:
string svid = null; string svid = null;
if (fic.FolderDocVersionCount > 0) if (fic.FolderDocVersionCount > 0)
svid = fic.FolderDocVersions[0].VersionID.ToString(); svid = fic.FolderDocVersions[0].VersionID.ToString();
newnode.Enabled = svid != null && cbxTranVersion.Tag != null ? cbxTranVersion.Tag.ToString().Contains(svid) : false; newnode.Enabled = svid != null && cbxTranVersion.Tag != null ? cbxTranVersion.Tag.ToString().Contains(svid) : false;
} }
} }
}
} }
} }
} }
}
public void AdvTree_AfterExpandorCollapse(object sender, AdvTreeNodeEventArgs e) public void AdvTree_AfterExpandorCollapse(object sender, AdvTreeNodeEventArgs e)
{ {
@@ -979,9 +977,9 @@ namespace Volian.Controls.Library
if (topNode != null) if (topNode != null)
{ {
topNode.EnsureVisible(); topNode.EnsureVisible();
}
} }
} }
}
#endregion #endregion
@@ -1061,12 +1059,12 @@ namespace Volian.Controls.Library
DevComponents.DotNetBar.ButtonItem btnCM = new DevComponents.DotNetBar.ButtonItem(); DevComponents.DotNetBar.ButtonItem btnCM = new DevComponents.DotNetBar.ButtonItem();
btnCM.Text = string.Format("{0}", (char)sym.Unicode); btnCM.Text = string.Format("{0}", (char)sym.Unicode);
// to name button use unicode rather than desc, desc may have spaces or odd chars // to name button use unicode rather than desc, desc may have spaces or odd chars
btnCM.Name = "btnCM" + sym.Unicode.ToString(); btnCM.Name = "btnCM" + sym.Unicode.ToString();
btnCM.Tooltip = sym.Desc; btnCM.Tooltip = sym.Desc;
btnCM.Tag = string.Format(@"{0}", sym.Unicode); btnCM.Tag = string.Format(@"{0}", sym.Unicode);
btnCM.FontBold = true; btnCM.FontBold = true;
btnCM.Click += new System.EventHandler(btnSym_Click); btnCM.Click += new System.EventHandler(btnSym_Click);
galSymbols.SubItems.Add(btnCM); galSymbols.SubItems.Add(btnCM);
} }
} }
@@ -1117,7 +1115,7 @@ namespace Volian.Controls.Library
newnode = new DevComponents.AdvTree.Node(); newnode = new DevComponents.AdvTree.Node();
newnode.Text = nodetext; newnode.Text = nodetext;
newnode.Selectable = selectable; newnode.Selectable = selectable;
AddCheckBox(chxbxvisable, newnode);//C2016-045 Allow Folders to be selected. AddCheckBox(chxbxvisable, newnode);//C2016-045 Allow Folders to be selected.
return newnode; return newnode;
} }
@@ -1164,7 +1162,7 @@ namespace Volian.Controls.Library
bool allowNonAdmin = IncTranCvtPerm(); bool allowNonAdmin = IncTranCvtPerm();
List<int> itmsEditable = new List<int>(); // return this list List<int> itmsEditable = new List<int>(); // return this list
int listCount = 0; int listCount = 0;
if (all) // Check all in list if (all) // Check all in list
{ {
listCount = _SearchResults.Count; listCount = _SearchResults.Count;
foreach (ItemInfo ii in _SearchResults) foreach (ItemInfo ii in _SearchResults)
@@ -1214,9 +1212,9 @@ namespace Volian.Controls.Library
// C2020-033: convert selected transitions to text // C2020-033: convert selected transitions to text
private void btnTranCvtSelToTxt_Click(object sender, EventArgs e) private void btnTranCvtSelToTxt_Click(object sender, EventArgs e)
{ {
// First see if all selected can be converted, i.e. user has permission to edit // First see if all selected can be converted, i.e. user has permission to edit
List<ListBoxItem> lbis = lbSrchResultsIncTrans.CheckedItems; List<ListBoxItem> lbis = lbSrchResultsIncTrans.CheckedItems;
List<int> itmsEditable = TranCvtCheckPermission(false); List<int> itmsEditable = TranCvtCheckPermission(false);
if (itmsEditable == null || itmsEditable.Count == 0) return; if (itmsEditable == null || itmsEditable.Count == 0) return;
TranCvtToTxt(itmsEditable); TranCvtToTxt(itmsEditable);
fromTranCvtBtn = true; fromTranCvtBtn = true;
@@ -1450,7 +1448,7 @@ namespace Volian.Controls.Library
DevComponents.AdvTree.Node tn = new DevComponents.AdvTree.Node(db.dbiTitle); DevComponents.AdvTree.Node tn = new DevComponents.AdvTree.Node(db.dbiTitle);
tn.Tag = db; tn.Tag = db;
cmboTreeROs.Nodes.Add(tn); cmboTreeROs.Nodes.Add(tn);
AddDummyGroup(db, tn); AddDummyGroup(db, tn);
} }
@@ -1505,26 +1503,26 @@ namespace Volian.Controls.Library
ROFSTLookup.rochild[] chld = null; ROFSTLookup.rochild[] chld = null;
if (tn.Tag is ROFSTLookup.rodbi) if (tn.Tag is ROFSTLookup.rodbi)
{ {
ROFSTLookup.rodbi db = (ROFSTLookup.rodbi)tn.Tag; ROFSTLookup.rodbi db = (ROFSTLookup.rodbi)tn.Tag;
MyROFSTLookup.LoadChildren(ref db); MyROFSTLookup.LoadChildren(ref db);
chld = db.children; chld = db.children;
} }
else if (tn.Tag is ROFSTLookup.rochild) else if (tn.Tag is ROFSTLookup.rochild)
{ {
ROFSTLookup.rochild ch = (ROFSTLookup.rochild)tn.Tag; ROFSTLookup.rochild ch = (ROFSTLookup.rochild)tn.Tag;
MyROFSTLookup.LoadChildren(ref ch); MyROFSTLookup.LoadChildren(ref ch);
chld = ch.children; chld = ch.children;
} }
else else
{ {
Console.WriteLine("error - no type"); Console.WriteLine("error - no type");
return; return;
} }
// if children, add dummy node // if children, add dummy node
// B2022-026 RO Memory Reduction code - need to check length // B2022-026 RO Memory Reduction code - need to check length
if (chld != null && chld.Length > 0) if (chld != null && chld.Length > 0)
{ {
ProgressBar_Initialize(chld.Length, tn.Text); ProgressBar_Initialize(chld.Length, tn.Text);
@@ -1533,11 +1531,11 @@ namespace Volian.Controls.Library
ProgressBar_SetValue(i); ProgressBar_SetValue(i);
DevComponents.AdvTree.Node tmp = null; DevComponents.AdvTree.Node tmp = null;
ROFSTLookup.rochild roc = chld[i]; ROFSTLookup.rochild roc = chld[i];
// if this is a group, i.e. type 0, add a dummy node // if this is a group, i.e. type 0, add a dummy node
// B2022-026 RO Memory Reduction code - check children length // B2022-026 RO Memory Reduction code - check children length
if (roc.type == 0 && !MyROFSTLookup.HasChildren(ref roc)) if (roc.type == 0 && !MyROFSTLookup.HasChildren(ref roc))
{ {
continue; // Ignore: Junk Scenario continue; // Ignore: Junk Scenario
} }
@@ -1556,33 +1554,33 @@ namespace Volian.Controls.Library
} }
if (roc.value == null) if (roc.value == null)
{ {
tmp = new DevComponents.AdvTree.Node(roc.title); tmp = new DevComponents.AdvTree.Node(roc.title);
tmp.Tag = roc; tmp.Tag = roc;
int index = FindIndex(tn.Nodes, tmp.Text); int index = FindIndex(tn.Nodes, tmp.Text);
tn.Nodes.Insert(index, tmp); tn.Nodes.Insert(index, tmp);
DevComponents.AdvTree.Node sub = new DevComponents.AdvTree.Node(DummyNodeText); DevComponents.AdvTree.Node sub = new DevComponents.AdvTree.Node(DummyNodeText);
tmp.Nodes.Add(sub); tmp.Nodes.Add(sub);
} }
else else
{ {
tmp = new DevComponents.AdvTree.Node(roc.title); tmp = new DevComponents.AdvTree.Node(roc.title);
tmp.Tag = roc; tmp.Tag = roc;
if (roc.roid.Length == 16) if (roc.roid.Length == 16)
{ {
tn.Nodes.Add(tmp); tn.Nodes.Add(tmp);
} }
else else
{ {
int index = FindIndex(tn.Nodes, tmp.Text); int index = FindIndex(tn.Nodes, tmp.Text);
tn.Nodes.Insert(index, tmp); tn.Nodes.Insert(index, tmp);
} }
} }
} }
} }
ProgressBar_Clear(); ProgressBar_Clear();
@@ -1611,18 +1609,18 @@ namespace Volian.Controls.Library
cbxFndUnLnkROVals.Enabled = false; cbxFndUnLnkROVals.Enabled = false;
} }
else if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rochild) else if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rochild)
{ {
ROFSTLookup.rochild ro = (ROFSTLookup.rochild)cmboTreeROs.SelectedNode.Tag; ROFSTLookup.rochild ro = (ROFSTLookup.rochild)cmboTreeROs.SelectedNode.Tag;
// B2022-026 RO Memory Reduction code - check children length // B2022-026 RO Memory Reduction code - check children length
cbxFndUnLnkROVals.Enabled = (ro.children == null || ro.children.Length <= 0); cbxFndUnLnkROVals.Enabled = (ro.children == null || ro.children.Length <= 0);
} }
if (!cbxFndUnLnkROVals.Enabled) if (!cbxFndUnLnkROVals.Enabled)
cbxFndUnLnkROVals.Checked = false; cbxFndUnLnkROVals.Checked = false;
} }
private void gpFindROs_EnabledChanged(object sender, EventArgs e) private void gpFindROs_EnabledChanged(object sender, EventArgs e)
{ {
if (gpFindROs.Enabled) if (gpFindROs.Enabled)
gpFindROs.Style.BackColor = Color.Yellow; gpFindROs.Style.BackColor = Color.Yellow;
else else
@@ -1826,24 +1824,24 @@ namespace Volian.Controls.Library
{ {
ListBoxItem lbi = sender as ListBoxItem; ListBoxItem lbi = sender as ListBoxItem;
if (lbi != null) if (lbi != null)
{ {
ItemBindingData ibd = lbi.Tag as ItemBindingData; ItemBindingData ibd = lbi.Tag as ItemBindingData;
ItemInfo ii = ibd.DataItem as ItemInfo; ItemInfo ii = ibd.DataItem as ItemInfo;
bool allowNonAdmin = IncTranCvtPerm(); bool allowNonAdmin = IncTranCvtPerm();
if (lbi.CheckState == CheckState.Checked && ii != null) if (lbi.CheckState == CheckState.Checked && ii != null)
{ {
if (!allowNonAdmin && !UserInfo.CanEdit(MyUserInfo, ii.MyDocVersion)) if (!allowNonAdmin && !UserInfo.CanEdit(MyUserInfo, ii.MyDocVersion))
{ {
FlexibleMessageBox.Show("You do not have permission to edit the procedure, section, or step.", FlexibleMessageBox.Show("You do not have permission to edit the procedure, section, or step.",
"Convert Transition to Text", MessageBoxButtons.OK, MessageBoxIcon.Information); "Convert Transition to Text", MessageBoxButtons.OK, MessageBoxIcon.Information);
lbi.CheckState = CheckState.Unchecked; lbi.CheckState = CheckState.Unchecked;
} }
} }
// B2021-018: use the CheckedItems.Count on the list box for the search results for // B2021-018: use the CheckedItems.Count on the list box for the search results for
// incoming transitions to determine whether to enable the convert selected to text: // incoming transitions to determine whether to enable the convert selected to text:
btnTranCvtSelToTxt.Enabled = (lbSrchResultsIncTrans.CheckedItems.Count > 0); btnTranCvtSelToTxt.Enabled = (lbSrchResultsIncTrans.CheckedItems.Count > 0);
} }
} }
private void GrpPanSearchResults_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) private void GrpPanSearchResults_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{ {
@@ -2186,8 +2184,8 @@ namespace Volian.Controls.Library
{ {
docVersionList += sep + dvi.VersionID.ToString(); docVersionList += sep + dvi.VersionID.ToString();
sep = ","; sep = ",";
} }
} }
// B2018-134 to search specifically for Outside Transitions, set docVeronList to empty string so that all procedure sets are considered // B2018-134 to search specifically for Outside Transitions, set docVeronList to empty string so that all procedure sets are considered
if (cbxTranCategory.SelectedItem.ToString() == "Outside") if (cbxTranCategory.SelectedItem.ToString() == "Outside")
docVersionList = string.Empty; docVersionList = string.Empty;
@@ -2449,8 +2447,8 @@ namespace Volian.Controls.Library
} }
} }
// if the selected folder has a docversion, handle it: // if the selected folder has a docversion, handle it:
if (n.Tag != SelectAllProcedureSetsText) if (n.Tag != SelectAllProcedureSetsText)
{ {
FolderInfo fi = (FolderInfo)n.Tag; FolderInfo fi = (FolderInfo)n.Tag;
RefreshLstCheckedDocVersions(); RefreshLstCheckedDocVersions();
@@ -2569,7 +2567,7 @@ namespace Volian.Controls.Library
{ {
Node newnode = new DevComponents.AdvTree.Node(); Node newnode = new DevComponents.AdvTree.Node();
newnode.Text = str; newnode.Text = str;
advTreeStepTypes.Nodes.Add(newnode); advTreeStepTypes.Nodes.Add(newnode);
} }
buildStepTypePannelTitle(); buildStepTypePannelTitle();
} }
@@ -2658,16 +2656,16 @@ namespace Volian.Controls.Library
{ {
vid = vid.IndexOf(",") < 0 ? vid : vid.Substring(0, cbxTranVersion.Tag.ToString().IndexOf(",")); vid = vid.IndexOf(",") < 0 ? vid : vid.Substring(0, cbxTranVersion.Tag.ToString().IndexOf(","));
DocVersionInfo dvi = DocVersionInfo.Get(int.Parse(vid)); DocVersionInfo dvi = DocVersionInfo.Get(int.Parse(vid));
TransTypeList ttl = dvi.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList; TransTypeList ttl = dvi.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList;
cbxTranFormat.Items.Clear(); cbxTranFormat.Items.Clear();
cbxTranFormat.Items.Add("All"); cbxTranFormat.Items.Add("All");
for (int i = 0; i < ttl.MaxIndex; i++) for (int i = 0; i < ttl.MaxIndex; i++)
{ {
cbxTranFormat.Items.Add(new TransItem(ttl[i].TransMenu.Replace("?.", string.Empty), ttl[i].TransFormat.Replace("?.", string.Empty))); cbxTranFormat.Items.Add(new TransItem(ttl[i].TransMenu.Replace("?.", string.Empty), ttl[i].TransFormat.Replace("?.", string.Empty)));
} }
cbxTranFormat.SelectedIndex = 0; cbxTranFormat.SelectedIndex = 0;
cbxTranCategory.Items.Clear(); cbxTranCategory.Items.Clear();
@@ -3299,7 +3297,7 @@ namespace Volian.Controls.Library
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
FlexibleMessageBox.Show("An error occurred while reading the xml file.\r\n\r\nThis can happen when the file selected for the Load is not saved\r\n" + FlexibleMessageBox.Show("An error occurred while reading the xml file.\r\n\r\nThis can happen when the file selected for the Load is not saved\r\n" +
"from a PROMS Search or if some of the steps no longer exist.", "Search Load Failed", MessageBoxButtons.OK); "from a PROMS Search or if some of the steps no longer exist.", "Search Load Failed", MessageBoxButtons.OK);
} }
@@ -3476,9 +3474,9 @@ namespace Volian.Controls.Library
break; break;
} }
} }
} }
private void btnCopySearchResults_Click(object sender, EventArgs e) private void btnCopySearchResults_Click(object sender, EventArgs e)
{ {
ICollection<ItemInfo> myList = lbSrchResults.DataSource as ICollection<ItemInfo>; ICollection<ItemInfo> myList = lbSrchResults.DataSource as ICollection<ItemInfo>;
if (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[4]) myList = lbSrchResultsIncTrans.DataSource as ICollection<ItemInfo>; if (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[4]) myList = lbSrchResultsIncTrans.DataSource as ICollection<ItemInfo>;
@@ -3660,7 +3658,7 @@ namespace Volian.Controls.Library
} }
} }
#endregion #endregion
public delegate void DisplaySearchEvent(object sender, DisplaySearchEventArgs args); public delegate void DisplaySearchEvent(object sender, DisplaySearchEventArgs args);
} }