/// /// Copyright (c) 2013-2018 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; using System.Drawing; using TBF.Rig; using TBF.Resources; namespace TBF.Rig.Operations { public class MessageBoxOp : IOperation { MessageBoxForm messageBoxForm; string message; Color backColor; bool completed = false; /// Reference to the operation public MessageBoxOp() : this(Strings.Message) { } public MessageBoxOp(string message) : this (message, Color.LightSteelBlue) { } public MessageBoxOp(string message, Color backColor) { this.message = message; this.backColor = backColor; } delegate void MessageBoxFormDlgt(MessageBoxOp myRef); /// void OpenFormDlg(MessageBoxOp myRef) { myRef.messageBoxForm = new MessageBoxForm(message, backColor); messageBoxForm.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 || messageBoxForm.Completed) { completed = true; messageBoxForm = null; return Event.OK; } return Event.None; } /// Stop this operation public void Stop() { if (messageBoxForm != null) { messageBoxForm.OnCloseThisForm(this, null); messageBoxForm = null; } } } }