69 lines
1.4 KiB
C#
69 lines
1.4 KiB
C#
///
|
|
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
|
///
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using TBF.BenchControl;
|
|
using TBF.Resources;
|
|
|
|
namespace TBF.BenchControl.Operations
|
|
{
|
|
public class MessageBoxOp : IOperation
|
|
{
|
|
MessageBoxForm modelessDlg;
|
|
|
|
string message;
|
|
bool completed = false;
|
|
|
|
/// <returns>Reference to the operation</returns>
|
|
public MessageBoxOp()
|
|
: this(Strings.Message)
|
|
{
|
|
}
|
|
|
|
public MessageBoxOp(string message)
|
|
{
|
|
this.message = message;
|
|
}
|
|
|
|
delegate void MessageBoxFormDlgt(MessageBoxOp myRef);
|
|
///
|
|
void OpenFormDlg(MessageBoxOp myRef)
|
|
{
|
|
myRef.modelessDlg = new MessageBoxForm(message);
|
|
modelessDlg.Show();
|
|
}
|
|
|
|
/// <summary>Start this operation</summary>
|
|
public void Start()
|
|
{
|
|
completed = false;
|
|
Program.MainWnd.Invoke(new MessageBoxFormDlgt(OpenFormDlg), this);
|
|
}
|
|
|
|
/// <summary>Run this operation</summary>
|
|
/// <returns>Event.ResultsPrinted</returns>
|
|
public Event Run()
|
|
{
|
|
if (completed || modelessDlg.Completed)
|
|
{
|
|
completed = true;
|
|
modelessDlg = null;
|
|
return Event.OK;
|
|
}
|
|
|
|
return Event.None;
|
|
}
|
|
|
|
/// <summary>Stop this operation</summary>
|
|
public void Stop()
|
|
{
|
|
if (modelessDlg is GenericDevices.IHasCompleted)
|
|
{
|
|
UiBridge.Bridge.OnCloseQandAForm(this, null);
|
|
modelessDlg = null;
|
|
}
|
|
}
|
|
}
|
|
}
|