/// /// Copyright (c) 2013-2018 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; using System.Drawing; using TBF.BenchControl; using TBF.Resources; namespace TBF.BenchControl.Operations { public class MessageBoxOp : IOperation { MessageBoxForm modelessDlg; string message; Color backColor; bool completed = false; /// Reference to the operation public MessageBoxOp() : this(Strings.Message) { } public MessageBoxOp(string message) : this (message, Color.Goldenrod) { } public MessageBoxOp(string message, Color backColor) { this.message = message; this.backColor = backColor; } delegate void MessageBoxFormDlgt(MessageBoxOp myRef); /// void OpenFormDlg(MessageBoxOp myRef) { myRef.modelessDlg = new MessageBoxForm(message, backColor); 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.OnCloseQandAForm(this, null); modelessDlg = null; } } } }