From 99aa1ac9c5fd53c1c329c85d069b7b93ed512afe Mon Sep 17 00:00:00 2001 From: Rich Date: Mon, 21 Nov 2016 16:05:22 +0000 Subject: [PATCH] Use a timer to refresh the Step Type list in the Search Panel Use a timer to refresh the Step Type list in the Search Panel Refresh Step Type list after a Working Draft is Checked or Unchecked. --- PROMS/VEPROMS User Interface/frmVEPROMS.cs | 3 +- .../Volian.Controls.Library/DisplaySearch.cs | 36 ++++++++++++++++--- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index fcf930b9..de67eb08 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -1043,6 +1043,7 @@ namespace VEPROMS } private void frmVEPROMS_FormClosing(object sender, FormClosingEventArgs e) { + //tc.ShuttingDown = true;// This keeps PROMS from Hanging under certain circumstances if (MyParent == null) { if (MyActivityTimer != null) MyActivityTimer.Dispose(); @@ -3523,7 +3524,7 @@ namespace VEPROMS if (SelectedDVI != null) { displaySearch1.Mydocversion = SelectedDVI; - displaySearch1.advTreeStepTypesFillIn(); + displaySearch1.StartAdvTreeStepTypesFillIn();// B2016-258 Hang after selecting a procedure if the Step Type panel is open on the search panel } displaySearch1.advTreeProcSetsFillIn(searchFocus); } diff --git a/PROMS/Volian.Controls.Library/DisplaySearch.cs b/PROMS/Volian.Controls.Library/DisplaySearch.cs index b1f3976b..0faa5d74 100644 --- a/PROMS/Volian.Controls.Library/DisplaySearch.cs +++ b/PROMS/Volian.Controls.Library/DisplaySearch.cs @@ -356,7 +356,31 @@ namespace Volian.Controls.Library if(newnode.Parent != null) newnode.Checked = newnode.Parent.Checked; } - public void advTreeStepTypesFillIn() + private Timer _TmrRefresh = null; + public Timer TmrRefresh + { + get + { + if (_TmrRefresh == null) + { + _TmrRefresh = new Timer(); + _TmrRefresh.Interval = 1000; + _TmrRefresh.Tick += _TmrRefresh_Tick; + } + return _TmrRefresh; + } + } + // B2016-258 Hang after selecting a procedure if the Step Type panel is open on the search panel + void _TmrRefresh_Tick(object sender, EventArgs e) + { + TmrRefresh.Enabled = false; + AdvTreeStepTypesFillIn(); + } + public void StartAdvTreeStepTypesFillIn()// B2016-258 Hang after selecting a procedure if the Step Type panel is open on the search panel + { + TmrRefresh.Enabled = true; + } + public void AdvTreeStepTypesFillIn() { DevComponents.AdvTree.Node topnode = new DevComponents.AdvTree.Node(); advTreeStepTypes.Nodes.Clear(); @@ -1478,10 +1502,11 @@ namespace Volian.Controls.Library if (n.Tag is DocVersionInfo)//If it is a DocVersion add one DocVersion ID { lstCheckedDocVersions.Add((DocVersionInfo)n.Tag); + RefreshStepTypes();// Refresh Step Types after Working Draft is checked. if (lstCheckedDocVersions.Count == 1)//Mydocversion == null) { Mydocversion = (DocVersionInfo)n.Tag; - advTreeStepTypesFillIn(); + StartAdvTreeStepTypesFillIn();// B2016-258 Hang after selecting a procedure if the Step Type panel is open on the search panel } } else if (n.Tag is FolderInfo) // If it is a folder add all of the doc version children @@ -1495,12 +1520,13 @@ namespace Volian.Controls.Library if (n.Tag is DocVersionInfo)// If docVersion Remove 1 DocVersion { lstCheckedDocVersions.Remove((DocVersionInfo)n.Tag); + RefreshStepTypes();// Refresh Step Types after Working Draft is unchecked. if (lstCheckedDocVersions.Count == 1) { if (Mydocversion != lstCheckedDocVersions[0]) { Mydocversion = lstCheckedDocVersions[0]; - advTreeStepTypesFillIn(); + StartAdvTreeStepTypesFillIn();// B2016-258 Hang after selecting a procedure if the Step Type panel is open on the search panel } } else @@ -1572,7 +1598,7 @@ namespace Volian.Controls.Library } } _MyDocVersion = lstCheckedDocVersions[0]; - advTreeStepTypesFillIn(); + StartAdvTreeStepTypesFillIn();// B2016-258 Hang after selecting a procedure if the Step Type panel is open on the search panel } // remove all docversion children private void RemoveAllChildVersions(FolderInfo myFolderInfo) @@ -1658,7 +1684,7 @@ namespace Volian.Controls.Library if (n.Tag is DocVersionInfo) // Only set MyDocVersion if it is a DocVersion { Mydocversion = (DocVersionInfo)n.Tag; - advTreeStepTypesFillIn(); + StartAdvTreeStepTypesFillIn();// B2016-258 Hang after selecting a procedure if the Step Type panel is open on the search panel } } }