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.
This commit is contained in:
Rich 2016-11-21 16:05:22 +00:00
parent 085814045c
commit 99aa1ac9c5
2 changed files with 33 additions and 6 deletions

View File

@ -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);
}

View File

@ -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
}
}
}