/// /// 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; /// Reference to the operation 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(); myRef.modelessDlg.Message = this.message; modelessDlg.Show(); } /// Start this operation public void Start() { completed = false; Program.MainWnd.Invoke(new MessageBoxFormDlgt(OpenFormDlg), this); } /// Run this operation /// Event.ResultsPrinted public Event Run() { if (completed || modelessDlg.Completed) { completed = true; modelessDlg = null; return Event.OK; } return Event.None; } /// Stop this operation public void Stop() { if (modelessDlg is GenericDevices.IHasCompleted) { UiBridge.Bridge.OnCloseModelessForm(this, null); modelessDlg = null; } } } }