From 4168218dc932e305e45fe8940d8eab97a07118a7 Mon Sep 17 00:00:00 2001 From: Kathy Date: Fri, 26 Mar 2021 13:28:54 +0000 Subject: [PATCH] =?UTF-8?q?B2021-004:=20Multiple=20selections=20in=20the?= =?UTF-8?q?=20Search=E2=80=99s=20Incoming=20Transitions=20list=20box.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DisplaySearch.Designer.cs | 2 ++ .../Volian.Controls.Library/DisplaySearch.cs | 27 ++++++++++++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/PROMS/Volian.Controls.Library/DisplaySearch.Designer.cs b/PROMS/Volian.Controls.Library/DisplaySearch.Designer.cs index c084ced5..97ce6ee1 100644 --- a/PROMS/Volian.Controls.Library/DisplaySearch.Designer.cs +++ b/PROMS/Volian.Controls.Library/DisplaySearch.Designer.cs @@ -1270,6 +1270,7 @@ namespace Volian.Controls.Library this.grpPanSearchResults.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); this.grpPanSearchResults.Name = "grpPanSearchResults"; this.grpPanSearchResults.Size = new System.Drawing.Size(369, 268); + this.grpPanSearchResults.MouseDown += GrpPanSearchResults_MouseDown; // // // @@ -1688,6 +1689,7 @@ namespace Volian.Controls.Library } + #endregion private DevComponents.DotNetBar.TabControl tabSearchTypes; diff --git a/PROMS/Volian.Controls.Library/DisplaySearch.cs b/PROMS/Volian.Controls.Library/DisplaySearch.cs index 1cff8eed..3f2c409a 100644 --- a/PROMS/Volian.Controls.Library/DisplaySearch.cs +++ b/PROMS/Volian.Controls.Library/DisplaySearch.cs @@ -1220,19 +1220,35 @@ namespace Volian.Controls.Library didcheck = false; JustDidSelection = false; } + private void GrpPanSearchResults_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + // B2021-004: If a multiple selection occurred in the results list for Incoming Transitions, tell user that + // processing is occurring + if (!lbSrchResultsIncTrans.Enabled) FlexibleMessageBox.Show("Processing a request to open a procedure. Try again when complete.", + "Try Again", MessageBoxButtons.OK, MessageBoxIcon.Information); + } private bool _ProcessingSelectedValueChanged = false; private void lbSrchResults_SelectedValueChanged(object sender, EventArgs e) { if (_LoadingList) return; if (_ProcessingSelectedValueChanged) return; _ProcessingSelectedValueChanged = true; + // B2021-004: Prevent multiple selections on the Incoming Transitions listbox (disable selections + // for the listbox until all processing is done, listbox is enabled at end of method) + if (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[4]) + { + lbSrchResultsIncTrans.Enabled = false; + lbSrchResultsIncTrans.UseWaitCursor = true; + } JustDidSelection = true; + ListBox mylb = sender as ListBox; + // If the list is being refreshed, then set the selection index to -1 (no selection) - if (_SearchResults.RefreshingList && lbSrchResults.SelectedIndex != -1) - lbSrchResultsIncTrans.SelectedIndex = lbSrchResults.SelectedIndex = -1; + if (mylb != null && _SearchResults.RefreshingList && mylb.SelectedIndex != -1) + mylb.SelectedIndex = -1; else { - _ItemInfo = (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[4])? lbSrchResultsIncTrans.SelectedValue as ItemInfo : lbSrchResults.SelectedValue as ItemInfo; + _ItemInfo = (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[4]) ? lbSrchResultsIncTrans.SelectedValue as ItemInfo : lbSrchResults.SelectedValue as ItemInfo; if ((tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[1]) && (_ItemInfo != null)) { // B2020-019: Don't set the CurrentAnnotation to an annotation in a procedure that cannot be opened. @@ -1263,6 +1279,11 @@ namespace Volian.Controls.Library } } _ProcessingSelectedValueChanged = false; + if (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[4]) + { + lbSrchResultsIncTrans.Enabled = true; + lbSrchResultsIncTrans.UseWaitCursor = false; + } } private void cmbResultsStyle_SelectedValueChanged(object sender, EventArgs e)