tbf/TestBenchFramework/Forms/EmergencyStopForm.cs
2014-07-28 09:56:40 +02:00

57 lines
1.8 KiB
C#

using System;
using System.Drawing;
using System.Windows.Forms;
using TBF.Resources;
namespace TBF.Forms
{
public partial class EmergencyStopForm : Form
{
public static bool ClosingForm = false;
/// <summary>
/// Parameterless constructor (does the localization)
/// </summary>
public EmergencyStopForm()
{
Visible = false;
InitializeComponent();
emergencyStopMsgLabel.Text = Strings.Emergency_STOP;
emergencyStopMsgLabel.Enabled = false;
emergencyStopMsgLabel.Visible = false;
UiBridge.Bridge.EmergencyStopChangedHandler += delegate(object sender, UiBridge.EmergencyStopEventArgs args)
{
if (ClosingForm) return;
if (InvokeRequired)
{
Invoke(new EventHandler<UiBridge.EmergencyStopEventArgs>(OnEmergencyStopStateChanged), sender, args);
}
else OnEmergencyStopStateChanged(sender, args);
};
}
void OnEmergencyStopStateChanged(Object sender, UiBridge.EmergencyStopEventArgs args)
{
if (args.EmergencyStopState == UiBridge.EmergencyStopEventArgs.State.Active)
{
Visible = true;
emergencyStopMsgLabel.Enabled = true;
emergencyStopMsgLabel.Visible = true;
}
else if (args.EmergencyStopState == UiBridge.EmergencyStopEventArgs.State.Inactive)
{
Visible = false;
emergencyStopMsgLabel.Enabled = false;
emergencyStopMsgLabel.Visible = false;
}
else if (args.EmergencyStopState == UiBridge.EmergencyStopEventArgs.State.CloseForm)
{
ClosingForm = true;
Close();
}
}
}
}