Solves issue with an opened CycleBeginForm after abort and re-selection in Israel:
- CloseCycleBeginForm() -> WaitBeginFormClosed() - CloseBeginForm() added to SequenceBase(forced dialog close) - CloseModellFormHandler added to UiBridge.Bridge
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using TBF.Resources;
|
||||
|
||||
#pragma warning disable 162 /// Disables 'Unreachable code detected' warning
|
||||
@@ -8,6 +9,8 @@ namespace TBF.BenchControl.DataEntry.Munich
|
||||
{
|
||||
public partial class CycleBeginningForm : Form, GenericDevices.IHasCompleted
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(CycleBeginningForm));
|
||||
|
||||
// To be retrieved after the form closes
|
||||
public string[] MainSNText;
|
||||
public string[] AuxSNText;
|
||||
@@ -23,6 +26,7 @@ namespace TBF.BenchControl.DataEntry.Munich
|
||||
MainSNText = new string[Program.WMsCount / 2];
|
||||
AuxSNText = new string[Program.WMsCount / 2];
|
||||
completed = false;
|
||||
StartForceCloseHandler();
|
||||
|
||||
if (Program.WMsCount / 2 < 2) Height = 200;
|
||||
else if (Program.WMsCount / 2 < 3) Height = 355;
|
||||
@@ -65,5 +69,24 @@ namespace TBF.BenchControl.DataEntry.Munich
|
||||
completed = true;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
||||
#region Forced close handling
|
||||
|
||||
public void StartForceCloseHandler()
|
||||
{
|
||||
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
|
||||
{
|
||||
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
|
||||
else OnForceClose(sender, args);
|
||||
};
|
||||
}
|
||||
|
||||
void OnForceClose(object sender, EventArgs args)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
Close();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using TBF.Resources;
|
||||
|
||||
#pragma warning disable 162 /// Disables 'Unreachable code detected' warning
|
||||
@@ -8,6 +9,8 @@ namespace TBF.BenchControl.DataEntry.Munich
|
||||
{
|
||||
public partial class CycleEndForm : Form, GenericDevices.IHasCompleted
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(CycleEndForm));
|
||||
|
||||
// To be set before the form opens
|
||||
public string ProtocolName1;
|
||||
public string ProtocolName2;
|
||||
@@ -33,6 +36,7 @@ namespace TBF.BenchControl.DataEntry.Munich
|
||||
QRise = new float[Program.WMsCount / 2];
|
||||
QFall = new float[Program.WMsCount / 2];
|
||||
completed = false;
|
||||
StartForceCloseHandler();
|
||||
|
||||
Localize();
|
||||
}
|
||||
@@ -127,5 +131,24 @@ namespace TBF.BenchControl.DataEntry.Munich
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region Forced close handling
|
||||
|
||||
public void StartForceCloseHandler()
|
||||
{
|
||||
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
|
||||
{
|
||||
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
|
||||
else OnForceClose(sender, args);
|
||||
};
|
||||
}
|
||||
|
||||
void OnForceClose(object sender, EventArgs args)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
Close();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace TBF.BenchControl.DataEntry.Munich
|
||||
public float WMState(int wmNr) { return 0; }
|
||||
|
||||
|
||||
System.Windows.Forms.Form mdlessDlg;
|
||||
System.Windows.Forms.Form modelessDlg;
|
||||
|
||||
bool resultSaved;
|
||||
|
||||
@@ -84,8 +84,8 @@ namespace TBF.BenchControl.DataEntry.Munich
|
||||
///
|
||||
void OpenBeginningDlg(EntryForm myRef)
|
||||
{
|
||||
myRef.mdlessDlg = new CycleBeginningForm();
|
||||
mdlessDlg.Show();
|
||||
myRef.modelessDlg = new CycleBeginningForm();
|
||||
modelessDlg.Show();
|
||||
}
|
||||
///
|
||||
void OpenEndDlg(EntryForm myRef)
|
||||
@@ -94,8 +94,8 @@ namespace TBF.BenchControl.DataEntry.Munich
|
||||
endForm.ProtocolName1 = entryFormCfg.ProtocolTitle1;
|
||||
endForm.ProtocolName2 = entryFormCfg.ProtocolTitle2;
|
||||
endForm.ProtocolName3 = entryFormCfg.ProtocolTitle3;
|
||||
myRef.mdlessDlg = endForm;
|
||||
mdlessDlg.Show();
|
||||
myRef.modelessDlg = endForm;
|
||||
modelessDlg.Show();
|
||||
}
|
||||
|
||||
/// <summary>Start this operation</summary>
|
||||
@@ -117,33 +117,34 @@ namespace TBF.BenchControl.DataEntry.Munich
|
||||
/// <returns>Event.ResultsPrinted</returns>
|
||||
public Event Run()
|
||||
{
|
||||
if (!(mdlessDlg as IHasCompleted).Completed)
|
||||
if (!(modelessDlg as IHasCompleted).Completed)
|
||||
{
|
||||
return Event.None; /// Return 'None' when form was not closed yet
|
||||
return Event.ModelessFormIsOpen;
|
||||
}
|
||||
|
||||
if (!resultSaved) /// This is to save the result only once
|
||||
{
|
||||
if (mdlessDlg is CycleBeginningForm)
|
||||
if (modelessDlg is CycleBeginningForm)
|
||||
{
|
||||
if (wMeters.Count >= 2 && wMeters[0] != null) wMeters[0].SerialNr = (mdlessDlg as CycleBeginningForm).MainSNText[0];
|
||||
if (wMeters.Count >= 2 && wMeters[1] != null) wMeters[1].SerialNr = (mdlessDlg as CycleBeginningForm).AuxSNText[0];
|
||||
if (wMeters.Count >= 4 && wMeters[2] != null) wMeters[2].SerialNr = (mdlessDlg as CycleBeginningForm).MainSNText[1];
|
||||
if (wMeters.Count >= 4 && wMeters[3] != null) wMeters[3].SerialNr = (mdlessDlg as CycleBeginningForm).AuxSNText[1];
|
||||
if (wMeters.Count >= 6 && wMeters[4] != null) wMeters[4].SerialNr = (mdlessDlg as CycleBeginningForm).MainSNText[2];
|
||||
if (wMeters.Count >= 6 && wMeters[5] != null) wMeters[5].SerialNr = (mdlessDlg as CycleBeginningForm).AuxSNText[2];
|
||||
if (wMeters.Count >= 2 && wMeters[0] != null) wMeters[0].SerialNr = (modelessDlg as CycleBeginningForm).MainSNText[0];
|
||||
if (wMeters.Count >= 2 && wMeters[1] != null) wMeters[1].SerialNr = (modelessDlg as CycleBeginningForm).AuxSNText[0];
|
||||
if (wMeters.Count >= 4 && wMeters[2] != null) wMeters[2].SerialNr = (modelessDlg as CycleBeginningForm).MainSNText[1];
|
||||
if (wMeters.Count >= 4 && wMeters[3] != null) wMeters[3].SerialNr = (modelessDlg as CycleBeginningForm).AuxSNText[1];
|
||||
if (wMeters.Count >= 6 && wMeters[4] != null) wMeters[4].SerialNr = (modelessDlg as CycleBeginningForm).MainSNText[2];
|
||||
if (wMeters.Count >= 6 && wMeters[5] != null) wMeters[5].SerialNr = (modelessDlg as CycleBeginningForm).AuxSNText[2];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (wMeters.Count >= 2 && wMeters[0] != null) wMeters[0].EndState = (mdlessDlg as CycleEndForm).MainStateText[0];
|
||||
if (wMeters.Count >= 2 && wMeters[1] != null) wMeters[1].EndState = (mdlessDlg as CycleEndForm).AuxStateText[0];
|
||||
if (wMeters.Count >= 4 && wMeters[2] != null) wMeters[2].EndState = (mdlessDlg as CycleEndForm).MainStateText[1];
|
||||
if (wMeters.Count >= 4 && wMeters[3] != null) wMeters[3].EndState = (mdlessDlg as CycleEndForm).AuxStateText[1];
|
||||
if (wMeters.Count >= 6 && wMeters[4] != null) wMeters[4].EndState = (mdlessDlg as CycleEndForm).MainStateText[2];
|
||||
if (wMeters.Count >= 6 && wMeters[5] != null) wMeters[5].EndState = (mdlessDlg as CycleEndForm).AuxStateText[2];
|
||||
protocolTitle = (mdlessDlg as CycleEndForm).ProtocolTitle;
|
||||
if (wMeters.Count >= 2 && wMeters[0] != null) wMeters[0].EndState = (modelessDlg as CycleEndForm).MainStateText[0];
|
||||
if (wMeters.Count >= 2 && wMeters[1] != null) wMeters[1].EndState = (modelessDlg as CycleEndForm).AuxStateText[0];
|
||||
if (wMeters.Count >= 4 && wMeters[2] != null) wMeters[2].EndState = (modelessDlg as CycleEndForm).MainStateText[1];
|
||||
if (wMeters.Count >= 4 && wMeters[3] != null) wMeters[3].EndState = (modelessDlg as CycleEndForm).AuxStateText[1];
|
||||
if (wMeters.Count >= 6 && wMeters[4] != null) wMeters[4].EndState = (modelessDlg as CycleEndForm).MainStateText[2];
|
||||
if (wMeters.Count >= 6 && wMeters[5] != null) wMeters[5].EndState = (modelessDlg as CycleEndForm).AuxStateText[2];
|
||||
protocolTitle = (modelessDlg as CycleEndForm).ProtocolTitle;
|
||||
}
|
||||
resultSaved = true;
|
||||
modelessDlg = null;
|
||||
}
|
||||
|
||||
return Event.ModelessFormClosed; /// Form closed
|
||||
@@ -152,7 +153,11 @@ namespace TBF.BenchControl.DataEntry.Munich
|
||||
/// <summary>Stop this operation</summary>
|
||||
public void Stop()
|
||||
{
|
||||
mdlessDlg = null;
|
||||
if (modelessDlg is IHasCompleted)
|
||||
{
|
||||
UiBridge.Bridge.OnCloseModelessForm(this, null);
|
||||
modelessDlg = null;
|
||||
}
|
||||
currentOp = CurrentOp.None;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using TBF.Resources;
|
||||
|
||||
namespace TBF.BenchControl.DataEntry.Munich3
|
||||
{
|
||||
public partial class CycleBeginningForm : Form, GenericDevices.IHasCompleted
|
||||
{
|
||||
/// <summary> Number of text boxes for serial numbers </summary>
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(CycleBeginningForm));
|
||||
|
||||
/// <summary> Number of text boxes for serial numbers </summary>
|
||||
public readonly int WaterMetersCount;
|
||||
|
||||
/// To be retrieved after the form is closed
|
||||
@@ -26,6 +29,7 @@ namespace TBF.BenchControl.DataEntry.Munich3
|
||||
InitializeComponent();
|
||||
SNText = new string[WaterMetersCount];
|
||||
completed = false;
|
||||
StartForceCloseHandler();
|
||||
|
||||
//Height = 55 + WaterMetersCount * 105;
|
||||
}
|
||||
@@ -78,5 +82,24 @@ namespace TBF.BenchControl.DataEntry.Munich3
|
||||
completed = true;
|
||||
Close();
|
||||
}
|
||||
|
||||
#region Forced close handling
|
||||
|
||||
public void StartForceCloseHandler()
|
||||
{
|
||||
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
|
||||
{
|
||||
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
|
||||
else OnForceClose(sender, args);
|
||||
};
|
||||
}
|
||||
|
||||
private void OnForceClose(object sender, EventArgs args)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
Close();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using TBF.Resources;
|
||||
|
||||
namespace TBF.BenchControl.DataEntry.Munich3
|
||||
{
|
||||
public partial class CycleEndForm : Form, GenericDevices.IHasCompleted
|
||||
{
|
||||
/// <summary> Number of text boxes for serial numbers </summary>
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(CycleEndForm));
|
||||
|
||||
/// <summary> Number of text boxes for serial numbers </summary>
|
||||
public readonly int WaterMetersCount;
|
||||
|
||||
// To be set before the form opens
|
||||
@@ -32,7 +35,8 @@ namespace TBF.BenchControl.DataEntry.Munich3
|
||||
InitializeComponent();
|
||||
EndStateText = new string[WaterMetersCount];
|
||||
completed = false;
|
||||
}
|
||||
StartForceCloseHandler();
|
||||
}
|
||||
|
||||
/// <summary> Parameterless constructor for 3 watermeters </summary>
|
||||
public CycleEndForm()
|
||||
@@ -93,5 +97,24 @@ namespace TBF.BenchControl.DataEntry.Munich3
|
||||
completed = true;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
||||
#region Forced close handling
|
||||
|
||||
public void StartForceCloseHandler()
|
||||
{
|
||||
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
|
||||
{
|
||||
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
|
||||
else OnForceClose(sender, args);
|
||||
};
|
||||
}
|
||||
|
||||
void OnForceClose(object sender, EventArgs args)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
Close();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ namespace TBF.BenchControl.DataEntry.Munich3
|
||||
{
|
||||
if (!(modelessDlg as IHasCompleted).Completed)
|
||||
{
|
||||
return Event.None; /// Return 'None' when form was not closed yet
|
||||
return Event.ModelessFormIsOpen;
|
||||
}
|
||||
|
||||
if (!resultSaved) /// This is to save the result only once
|
||||
@@ -150,6 +150,7 @@ namespace TBF.BenchControl.DataEntry.Munich3
|
||||
if (count > 5 && waterMeters[5] != null) waterMeters[5].EndState = dlg.EndStateText[5];
|
||||
}
|
||||
resultSaved = true;
|
||||
modelessDlg = null;
|
||||
}
|
||||
|
||||
return Event.ModelessFormClosed; /// Form closed
|
||||
@@ -158,7 +159,11 @@ namespace TBF.BenchControl.DataEntry.Munich3
|
||||
/// <summary>Stop this operation</summary>
|
||||
public void Stop()
|
||||
{
|
||||
modelessDlg = null;
|
||||
if (modelessDlg is IHasCompleted)
|
||||
{
|
||||
UiBridge.Bridge.OnCloseModelessForm(this, null);
|
||||
modelessDlg = null;
|
||||
}
|
||||
currentOp = CurrentOp.None;
|
||||
}
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ namespace TBF.BenchControl.DataEntry.WMStates
|
||||
{
|
||||
if (!(modelessDlg as IHasCompleted).Completed)
|
||||
{
|
||||
return Event.None; /// Return 'None' when form was not closed yet
|
||||
return Event.ModelessFormIsOpen;
|
||||
}
|
||||
|
||||
if (!resultSaved) /// This is to save the result only once
|
||||
@@ -163,6 +163,7 @@ namespace TBF.BenchControl.DataEntry.WMStates
|
||||
if (dlg.WaterMetersCount > 5) wmState[5] = dlg.WMState[5];
|
||||
}
|
||||
resultSaved = true;
|
||||
modelessDlg = null;
|
||||
}
|
||||
|
||||
return Event.ModelessFormClosed; /// Form closed
|
||||
@@ -171,7 +172,11 @@ namespace TBF.BenchControl.DataEntry.WMStates
|
||||
/// <summary>Stop this operation</summary>
|
||||
public void Stop()
|
||||
{
|
||||
modelessDlg = null;
|
||||
if (modelessDlg is IHasCompleted)
|
||||
{
|
||||
UiBridge.Bridge.OnCloseModelessForm(this, null);
|
||||
modelessDlg = null;
|
||||
}
|
||||
currentOp = CurrentOp.None;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using TBF.Resources;
|
||||
|
||||
namespace TBF.BenchControl.DataEntry.WMStates
|
||||
{
|
||||
public partial class WMSNsAndStatesForm : Form, GenericDevices.IHasCompleted
|
||||
{
|
||||
/// <summary> Number of text boxes for serial numbers </summary>
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(WMSNsAndStatesForm));
|
||||
|
||||
/// <summary> Number of text boxes for serial numbers </summary>
|
||||
public readonly int WaterMetersCount;
|
||||
|
||||
/// To be retrieved after the form is closed
|
||||
@@ -30,6 +33,7 @@ namespace TBF.BenchControl.DataEntry.WMStates
|
||||
SNText = new string[WaterMetersCount];
|
||||
WMState = new float[WaterMetersCount];
|
||||
completed = false;
|
||||
StartForceCloseHandler();
|
||||
|
||||
//Height = 55 + WaterMetersCount * 105;
|
||||
}
|
||||
@@ -102,5 +106,24 @@ namespace TBF.BenchControl.DataEntry.WMStates
|
||||
completed = true;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
||||
#region Forced close handling
|
||||
|
||||
public void StartForceCloseHandler()
|
||||
{
|
||||
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
|
||||
{
|
||||
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
|
||||
else OnForceClose(sender, args);
|
||||
};
|
||||
}
|
||||
|
||||
void OnForceClose(object sender, EventArgs args)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
Close();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using TBF.Resources;
|
||||
|
||||
namespace TBF.BenchControl.DataEntry.WMStates
|
||||
{
|
||||
public partial class WMStatesForm : Form, GenericDevices.IHasCompleted
|
||||
{
|
||||
/// <summary> Number of text boxes for serial numbers </summary>
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(WMStatesForm));
|
||||
|
||||
/// <summary> Number of text boxes for serial numbers </summary>
|
||||
public readonly int WaterMetersCount;
|
||||
|
||||
// To be retrieved after the form closes
|
||||
@@ -26,7 +29,8 @@ namespace TBF.BenchControl.DataEntry.WMStates
|
||||
InitializeComponent();
|
||||
WMState = new float[WaterMetersCount];
|
||||
completed = false;
|
||||
}
|
||||
StartForceCloseHandler();
|
||||
}
|
||||
|
||||
/// <summary> Parameterless constructor for 3 watermeters </summary>
|
||||
public WMStatesForm()
|
||||
@@ -85,5 +89,24 @@ namespace TBF.BenchControl.DataEntry.WMStates
|
||||
completed = true;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
||||
#region Forced close handling
|
||||
|
||||
public void StartForceCloseHandler()
|
||||
{
|
||||
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
|
||||
{
|
||||
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
|
||||
else OnForceClose(sender, args);
|
||||
};
|
||||
}
|
||||
|
||||
void OnForceClose(object sender, EventArgs args)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
Close();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user