From 1661f9a5bd46dbd7d2586787c55bfc407c027629 Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 23 Jun 2017 20:20:38 -0400 Subject: hacking work Me: [squeaky] IT'S WORKING!! Phil: Michael... You just creeped me out... --- ShiftOS.MFSProfiler/Infobox.cs | 87 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 ShiftOS.MFSProfiler/Infobox.cs (limited to 'ShiftOS.MFSProfiler/Infobox.cs') diff --git a/ShiftOS.MFSProfiler/Infobox.cs b/ShiftOS.MFSProfiler/Infobox.cs new file mode 100644 index 0000000..a30ac5a --- /dev/null +++ b/ShiftOS.MFSProfiler/Infobox.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ShiftOS.MFSProfiler +{ + public partial class Infobox : Form + { + public Infobox() + { + InitializeComponent(); + } + + public Action TextCallback = null; + public Action YesNoCallback = null; + + public string MessageText + { + get + { + return lbmessage.Text; + } + set + { + lbmessage.Text = value; + } + } + + public bool ShowText + { + get { return txtinput.Visible; } + set { txtinput.Visible = value; } + } + + public bool ShowYesNo + { + get { return btnyes.Parent.Visible; } + set { btnyes.Parent.Visible = value; } + } + + public static void PromptYesNo(string title, string message, Action callback) + { + var inf = new Infobox(); + inf.ShowText = false; + inf.ShowYesNo = true; + inf.Text = title; + inf.MessageText = message; + inf.YesNoCallback = callback; + inf.ShowDialog(); + } + + public static void PromptText(string title, string message, Action callback) + { + var inf = new Infobox(); + inf.ShowYesNo = false; + inf.ShowText = true; + inf.Text = title; + inf.MessageText = message; + inf.TextCallback = callback; + inf.ShowDialog(); + } + + private void btnyes_Click(object sender, EventArgs e) + { + YesNoCallback?.Invoke(true); + this.Close(); + } + + private void btnno_Click(object sender, EventArgs e) + { + YesNoCallback?.Invoke(false); + this.Close(); + } + + private void btnok_Click(object sender, EventArgs e) + { + TextCallback?.Invoke(txtinput.Text); + this.Close(); + } + } +} -- cgit v1.2.3