/// <summary> /// Saves this instance to its configuration file. /// </summary> public void Save() { using (XmlTextWriter writer = new XmlTextWriter(_fileName, Encoding.UTF8)) { writer.Formatting = Formatting.Indented; writer.Indentation = 1; writer.IndentChar = (char)9; writer.WriteStartDocument(true); writer.WriteStartElement("config"); // <config> writer.WriteElementString("PauseTime", PauseTime.ToString()); writer.WriteElementString("UsePreChangeCommand", UsePreChangeCommand.ToString()); writer.WriteElementString("SendSelect", SendSelect.ToString()); writer.WriteElementString("DoubleChannelSelect", DoubleChannelSelect.ToString()); writer.WriteElementString("ChannelDigits", ChannelDigits.ToString()); writer.WriteElementString("RepeatChannelCommands", RepeatChannelCommands.ToString()); writer.WriteElementString("RepeatDelay", RepeatPauseTime.ToString()); writer.WriteElementString("SelectCommand", SelectCommand); writer.WriteElementString("PreChangeCommand", PreChangeCommand); for (int i = 0; i < 10; i++) { writer.WriteElementString("Digit" + i.ToString(), Digits[i]); } writer.WriteEndElement(); // </config> writer.WriteEndDocument(); } }
public static void Update(GameTime time) { if (unPause) { TimeSpan test = (time.TotalGameTime - timeOfPause); Console.WriteLine(test); PauseTime = PauseTime.Add(test); paused = false; unPause = false; } if (!paused) { Time = new GameTime(time.TotalGameTime - PauseTime, time.ElapsedGameTime); TimeDelta = (float)time.ElapsedGameTime.Milliseconds / 1000; } else { if (TimeDelta != 0) { timeOfPause = time.TotalGameTime; Console.WriteLine(timeOfPause); TimeDelta = 0; } } //Console.WriteLine("PausableTime: " + Time.TotalGameTime.TotalMilliseconds + " Time: " + time.TotalGameTime.TotalMilliseconds); }
public void it_can_pause_time() { Stopwatch stopwatch = Stopwatch.StartNew(); PauseTime pauseTime = new PauseTime(); pauseTime.Pause(TimeSpan.FromMilliseconds(1000)); stopwatch.Stop(); Assert.AreEqual(1000, stopwatch.ElapsedMilliseconds, 10, "Actual elapsed timespan is not within 50ms of the expected timespan"); }
public void it_can_pause_time() { Stopwatch stopwatch = Stopwatch.StartNew(); PauseTime pauseTime = new PauseTime(); pauseTime.Pause(TimeSpan.FromMilliseconds(1000)); stopwatch.Stop(); // Time delta was 10ms and exception said 50ms. Fixing delta. Assert.AreEqual(1000, stopwatch.ElapsedMilliseconds, 50, "Actual elapsed timespan is not within 50ms of the expected timespan"); }
public override void Start(PomodoroController controller) { TimeSpan elapsedFullMinutes = new TimeSpan(0, 0, MinutesInState - MinuteCountDown, 0); TimeSpan elapsedTime = PauseTime.Subtract(StartTime).Subtract(PreviousState.TotalPauseTimeSpan); TimeSpan totalPauseTimeSpan = DateTime.Now.Subtract(StartTime).Subtract(elapsedTime); double minuteTimerTimeLeft = MilisecondsPerMinute - elapsedTime.Subtract(elapsedFullMinutes).TotalMilliseconds; Console.WriteLine($"{nameof(Paused)}"); Console.WriteLine($" elapsedFullMinutes = {elapsedFullMinutes.TotalMilliseconds}"); Console.WriteLine($" elapsedTime = {elapsedTime.TotalMilliseconds}"); Console.WriteLine($" totalPauseTimeSpan = {totalPauseTimeSpan.TotalMilliseconds}"); Console.WriteLine($" minuteTimerTimeLeft = {minuteTimerTimeLeft}"); controller.State = PreviousState; controller.State.Start(minuteTimerTimeLeft, totalPauseTimeSpan); }
public Stopwatch Resume() { if (IsRunning && IsPaused) { if (PauseTime != null) { StartTime.Add(PauseTime.Subtract(DateTime.Now)); } IsPaused = false; CompositionTarget.Rendering += Tick; if (Resumed != null) { Resumed(this); } } return(this); }
public XmlNode ToXml(XmlDocument document) { var attempt = document.CreateElement("Attempt"); var time = Time.ToXml(document); attempt.InnerXml = time.InnerXml; var id = document.CreateAttribute("id"); id.InnerText = Index.ToString(); attempt.Attributes.Append(id); if (Started.HasValue) { var started = document.CreateAttribute("started"); started.InnerText = Started.Value.Time.ToUniversalTime().ToString(CultureInfo.InvariantCulture); attempt.Attributes.Append(started); attempt.Attributes.Append(SettingsHelper.ToAttribute(document, "isStartedSynced", Started.Value.SyncedWithAtomicClock)); } if (Ended.HasValue) { var ended = document.CreateAttribute("ended"); ended.InnerText = Ended.Value.Time.ToUniversalTime().ToString(CultureInfo.InvariantCulture); attempt.Attributes.Append(ended); attempt.Attributes.Append(SettingsHelper.ToAttribute(document, "isEndedSynced", Ended.Value.SyncedWithAtomicClock)); } if (PauseTime.HasValue) { var pauseTime = document.CreateElement("PauseTime"); pauseTime.InnerText = PauseTime.ToString(); attempt.AppendChild(pauseTime); } return(attempt); }
private void listBoxCommandSequence_DoubleClick(object sender, EventArgs e) { if (listBoxMacro.SelectedIndex == -1) { return; } try { string selected = listBoxMacro.SelectedItem as string; string newCommand = null; if (selected.StartsWith(Common.CmdPrefixRun, StringComparison.OrdinalIgnoreCase)) { string[] commands = Common.SplitRunCommand(selected.Substring(Common.CmdPrefixRun.Length)); ExternalProgram executeProgram = new ExternalProgram(commands); if (executeProgram.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixRun + executeProgram.CommandString; } } else if (selected.StartsWith(Common.CmdPrefixPause, StringComparison.OrdinalIgnoreCase)) { PauseTime pauseTime = new PauseTime(int.Parse(selected.Substring(Common.CmdPrefixPause.Length))); if (pauseTime.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixPause + pauseTime.Time; } } else if (selected.StartsWith(Common.CmdPrefixSerial, StringComparison.OrdinalIgnoreCase)) { string[] commands = Common.SplitSerialCommand(selected.Substring(Common.CmdPrefixSerial.Length)); SerialCommand serialCommand = new SerialCommand(commands); if (serialCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixSerial + serialCommand.CommandString; } } else if (selected.StartsWith(Common.CmdPrefixWindowMsg, StringComparison.OrdinalIgnoreCase)) { string[] commands = Common.SplitWindowMessageCommand(selected.Substring(Common.CmdPrefixWindowMsg.Length)); MessageCommand messageCommand = new MessageCommand(commands); if (messageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixWindowMsg + messageCommand.CommandString; } } else if (selected.StartsWith(Common.CmdPrefixTcpMsg, StringComparison.OrdinalIgnoreCase)) { string[] commands = Common.SplitTcpMessageCommand(selected.Substring(Common.CmdPrefixTcpMsg.Length)); TcpMessageCommand tcpMessageCommand = new TcpMessageCommand(commands); if (tcpMessageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixTcpMsg + tcpMessageCommand.CommandString; } } else if (selected.StartsWith(Common.CmdPrefixHttpMsg, StringComparison.OrdinalIgnoreCase)) { string[] commands = Common.SplitHttpMessageCommand(selected.Substring(Common.CmdPrefixHttpMsg.Length)); HttpMessageCommand httpMessageCommand = new HttpMessageCommand(commands); if (httpMessageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixHttpMsg + httpMessageCommand.CommandString; } } else if (selected.StartsWith(Common.CmdPrefixKeys, StringComparison.OrdinalIgnoreCase)) { KeysCommand keysCommand = new KeysCommand(selected.Substring(Common.CmdPrefixKeys.Length)); if (keysCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixKeys + keysCommand.CommandString; } } else if (selected.StartsWith(Common.CmdPrefixMouse, StringComparison.OrdinalIgnoreCase)) { MouseCommand mouseCommand = new MouseCommand(selected.Substring(Common.CmdPrefixMouse.Length)); if (mouseCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixMouse + mouseCommand.CommandString; } } else if (selected.StartsWith(Common.CmdPrefixEject, StringComparison.OrdinalIgnoreCase)) { EjectCommand ejectCommand = new EjectCommand(selected.Substring(Common.CmdPrefixEject.Length)); if (ejectCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixEject + ejectCommand.CommandString; } } else if (selected.StartsWith(Common.CmdPrefixBlast, StringComparison.OrdinalIgnoreCase)) { string[] commands = Common.SplitBlastCommand(selected.Substring(Common.CmdPrefixBlast.Length)); BlastCommand blastCommand = new BlastCommand( TV3BlasterPlugin.BlastIR, Common.FolderIRCommands, TV3BlasterPlugin.TransceiverInformation.Ports, commands); if (blastCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixBlast + blastCommand.CommandString; } } if (!String.IsNullOrEmpty(newCommand)) { int index = listBoxMacro.SelectedIndex; listBoxMacro.Items.RemoveAt(index); listBoxMacro.Items.Insert(index, newCommand); listBoxMacro.SelectedIndex = index; } } catch (Exception ex) { Log.Error(ex.ToString()); MessageBox.Show(this, ex.Message, "Failed to edit macro item", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void buttonAddCommand_Click(object sender, EventArgs e) { if (comboBoxCommands.SelectedIndex == -1) { return; } try { string selected = comboBoxCommands.SelectedItem as string; string newCommand = null; if (selected.Equals(Common.UITextRun, StringComparison.OrdinalIgnoreCase)) { ExternalProgram externalProgram = new ExternalProgram(); if (externalProgram.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixRun + externalProgram.CommandString; } } else if (selected.Equals(Common.UITextPause, StringComparison.OrdinalIgnoreCase)) { PauseTime pauseTime = new PauseTime(); if (pauseTime.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixPause + pauseTime.Time; } } else if (selected.Equals(Common.UITextSerial, StringComparison.OrdinalIgnoreCase)) { SerialCommand serialCommand = new SerialCommand(); if (serialCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixSerial + serialCommand.CommandString; } } else if (selected.Equals(Common.UITextWindowMsg, StringComparison.OrdinalIgnoreCase)) { MessageCommand messageCommand = new MessageCommand(); if (messageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixWindowMsg + messageCommand.CommandString; } } else if (selected.Equals(Common.UITextTcpMsg, StringComparison.OrdinalIgnoreCase)) { TcpMessageCommand tcpMessageCommand = new TcpMessageCommand(); if (tcpMessageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixTcpMsg + tcpMessageCommand.CommandString; } } else if (selected.Equals(Common.UITextHttpMsg, StringComparison.OrdinalIgnoreCase)) { HttpMessageCommand httpMessageCommand = new HttpMessageCommand(); if (httpMessageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixHttpMsg + httpMessageCommand.CommandString; } } else if (selected.Equals(Common.UITextKeys, StringComparison.OrdinalIgnoreCase)) { KeysCommand keysCommand = new KeysCommand(); if (keysCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixKeys + keysCommand.CommandString; } } else if (selected.Equals(Common.UITextEject, StringComparison.OrdinalIgnoreCase)) { EjectCommand ejectCommand = new EjectCommand(); if (ejectCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixEject + ejectCommand.CommandString; } } else if (selected.Equals(Common.UITextStandby, StringComparison.OrdinalIgnoreCase)) { newCommand = Common.CmdPrefixStandby; } else if (selected.Equals(Common.UITextHibernate, StringComparison.OrdinalIgnoreCase)) { newCommand = Common.CmdPrefixHibernate; } else if (selected.Equals(Common.UITextReboot, StringComparison.OrdinalIgnoreCase)) { newCommand = Common.CmdPrefixReboot; } else if (selected.Equals(Common.UITextShutdown, StringComparison.OrdinalIgnoreCase)) { newCommand = Common.CmdPrefixShutdown; } else if (selected.StartsWith(Common.CmdPrefixBlast, StringComparison.OrdinalIgnoreCase)) { BlastCommand blastCommand = new BlastCommand( TV3BlasterPlugin.BlastIR, Common.FolderIRCommands, TV3BlasterPlugin.TransceiverInformation.Ports, selected.Substring(Common.CmdPrefixBlast.Length)); if (blastCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixBlast + blastCommand.CommandString; } } else if (selected.StartsWith(Common.CmdPrefixMacro, StringComparison.OrdinalIgnoreCase)) { newCommand = selected; } else { throw new CommandStructureException(String.Format("Unknown command in macro command list \"{0}\"", selected)); } if (!String.IsNullOrEmpty(newCommand)) { listBoxMacro.Items.Add(newCommand); } } catch (Exception ex) { Log.Error(ex.ToString()); MessageBox.Show(this, ex.Message, "Failed to add macro command", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void listBoxCommandSequence_DoubleClick(object sender, EventArgs e) { if (listBoxMacro.SelectedIndex == -1) { return; } try { string selected = listBoxMacro.SelectedItem as string; string newCommand = null; if (selected.StartsWith(IrssUtils.Common.CmdPrefixRun, StringComparison.OrdinalIgnoreCase)) { string[] commands = IrssUtils.Common.SplitRunCommand(selected.Substring(IrssUtils.Common.CmdPrefixRun.Length)); ExternalProgram executeProgram = new ExternalProgram(commands); if (executeProgram.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixRun + executeProgram.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixPause, StringComparison.OrdinalIgnoreCase)) { PauseTime pauseTime = new PauseTime(int.Parse(selected.Substring(IrssUtils.Common.CmdPrefixPause.Length))); if (pauseTime.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixPause + pauseTime.Time; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixSerial, StringComparison.OrdinalIgnoreCase)) { string[] commands = IrssUtils.Common.SplitSerialCommand(selected.Substring(IrssUtils.Common.CmdPrefixSerial.Length)); SerialCommand serialCommand = new SerialCommand(commands); if (serialCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixSerial + serialCommand.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixWindowMsg, StringComparison.OrdinalIgnoreCase)) { string[] commands = IrssUtils.Common.SplitWindowMessageCommand(selected.Substring(IrssUtils.Common.CmdPrefixWindowMsg.Length)); MessageCommand messageCommand = new MessageCommand(commands); if (messageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixWindowMsg + messageCommand.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixTcpMsg, StringComparison.OrdinalIgnoreCase)) { string[] commands = IrssUtils.Common.SplitTcpMessageCommand(selected.Substring(IrssUtils.Common.CmdPrefixTcpMsg.Length)); TcpMessageCommand tcpMessageCommand = new TcpMessageCommand(commands); if (tcpMessageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixTcpMsg + tcpMessageCommand.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixHttpMsg, StringComparison.OrdinalIgnoreCase)) { string[] commands = IrssUtils.Common.SplitHttpMessageCommand(selected.Substring(IrssUtils.Common.CmdPrefixHttpMsg.Length)); HttpMessageCommand httpMessageCommand = new HttpMessageCommand(commands); if (httpMessageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixHttpMsg + httpMessageCommand.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixKeys, StringComparison.OrdinalIgnoreCase)) { KeysCommand keysCommand = new KeysCommand(selected.Substring(IrssUtils.Common.CmdPrefixKeys.Length)); if (keysCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixKeys + keysCommand.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixMouse, StringComparison.OrdinalIgnoreCase)) { MouseCommand mouseCommand = new MouseCommand(selected.Substring(IrssUtils.Common.CmdPrefixMouse.Length)); if (mouseCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixMouse + mouseCommand.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixEject, StringComparison.OrdinalIgnoreCase)) { EjectCommand ejectCommand = new EjectCommand(selected.Substring(IrssUtils.Common.CmdPrefixEject.Length)); if (ejectCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixEject + ejectCommand.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixPopup, StringComparison.OrdinalIgnoreCase)) { string[] commands = IrssUtils.Common.SplitPopupCommand(selected.Substring(IrssUtils.Common.CmdPrefixPopup.Length)); PopupMessage popupMessage = new PopupMessage(commands); if (popupMessage.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixPopup + popupMessage.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixGotoScreen, StringComparison.OrdinalIgnoreCase)) { GoToScreen goToScreen = new GoToScreen(selected.Substring(IrssUtils.Common.CmdPrefixGotoScreen.Length)); if (goToScreen.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixGotoScreen + goToScreen.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixSendMPAction, StringComparison.OrdinalIgnoreCase)) { string[] commands = IrssUtils.Common.SplitSendMPActionCommand(selected.Substring(IrssUtils.Common.CmdPrefixSendMPAction.Length)); MPAction edit = new MPAction(commands); if (edit.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixSendMPAction + edit.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixSendMPMsg, StringComparison.OrdinalIgnoreCase)) { string[] commands = IrssUtils.Common.SplitSendMPMsgCommand(selected.Substring(IrssUtils.Common.CmdPrefixSendMPMsg.Length)); MPMessage edit = new MPMessage(commands); if (edit.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixSendMPMsg + edit.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixBeep, StringComparison.OrdinalIgnoreCase)) { string[] commands = IrssUtils.Common.SplitBeepCommand(selected.Substring(IrssUtils.Common.CmdPrefixBeep.Length)); BeepCommand beepCommand = new BeepCommand(commands); if (beepCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixBeep + beepCommand.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixSound, StringComparison.OrdinalIgnoreCase)) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Wave Files|*.wav"; openFileDialog.Multiselect = false; openFileDialog.FileName = selected.Substring(IrssUtils.Common.CmdPrefixSound.Length); if (openFileDialog.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixSound + openFileDialog.FileName; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixDisplayMode, StringComparison.OrdinalIgnoreCase)) { string[] commands = IrssUtils.Common.SplitDisplayModeCommand(selected.Substring(IrssUtils.Common.CmdPrefixDisplayMode.Length)); DisplayModeCommand displayModeCommand = new DisplayModeCommand(commands); if (displayModeCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixDisplayMode + displayModeCommand.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixBlast, StringComparison.OrdinalIgnoreCase)) { string[] commands = IrssUtils.Common.SplitBlastCommand(selected.Substring(IrssUtils.Common.CmdPrefixBlast.Length)); BlastCommand blastCommand = new BlastCommand( MPBlastZonePlugin.BlastIR, IrssUtils.Common.FolderIRCommands, MPBlastZonePlugin.TransceiverInformation.Ports, commands); if (blastCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixBlast + blastCommand.CommandString; } } if (!String.IsNullOrEmpty(newCommand)) { int index = listBoxMacro.SelectedIndex; listBoxMacro.Items.RemoveAt(index); listBoxMacro.Items.Insert(index, newCommand); listBoxMacro.SelectedIndex = index; } } catch (Exception ex) { Log.Error(ex); MessageBox.Show(this, ex.Message, "Failed to edit macro item", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void buttonAddCommand_Click(object sender, EventArgs e) { if (comboBoxCommands.SelectedIndex == -1) { return; } try { string selected = comboBoxCommands.SelectedItem as string; string newCommand = null; if (selected.Equals(IrssUtils.Common.UITextRun, StringComparison.OrdinalIgnoreCase)) { ExternalProgram externalProgram = new ExternalProgram(); if (externalProgram.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixRun + externalProgram.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextPause, StringComparison.OrdinalIgnoreCase)) { PauseTime pauseTime = new PauseTime(); if (pauseTime.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixPause + pauseTime.Time; } } else if (selected.Equals(IrssUtils.Common.UITextSerial, StringComparison.OrdinalIgnoreCase)) { SerialCommand serialCommand = new SerialCommand(); if (serialCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixSerial + serialCommand.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextWindowMsg, StringComparison.OrdinalIgnoreCase)) { MessageCommand messageCommand = new MessageCommand(); if (messageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixWindowMsg + messageCommand.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextTcpMsg, StringComparison.OrdinalIgnoreCase)) { TcpMessageCommand tcpMessageCommand = new TcpMessageCommand(); if (tcpMessageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixTcpMsg + tcpMessageCommand.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextHttpMsg, StringComparison.OrdinalIgnoreCase)) { HttpMessageCommand httpMessageCommand = new HttpMessageCommand(); if (httpMessageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixHttpMsg + httpMessageCommand.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextKeys, StringComparison.OrdinalIgnoreCase)) { KeysCommand keysCommand = new KeysCommand(); if (keysCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixKeys + keysCommand.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextMouse, StringComparison.OrdinalIgnoreCase)) { MouseCommand mouseCommand = new MouseCommand(); if (mouseCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixMouse + mouseCommand.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextEject, StringComparison.OrdinalIgnoreCase)) { EjectCommand ejectCommand = new EjectCommand(); if (ejectCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixEject + ejectCommand.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextPopup, StringComparison.OrdinalIgnoreCase)) { PopupMessage popupMessage = new PopupMessage(); if (popupMessage.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixPopup + popupMessage.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextGotoScreen, StringComparison.OrdinalIgnoreCase)) { GoToScreen goToScreen = new GoToScreen(); if (goToScreen.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixGotoScreen + goToScreen.CommandString; } } /* * else if (selected.Equals(IrssUtils.Common.UITextWindowState, StringComparison.OrdinalIgnoreCase)) * { * newCommand = IrssUtils.Common.CmdPrefixWindowState; * } */ else if (selected.Equals(IrssUtils.Common.UITextFocus, StringComparison.OrdinalIgnoreCase)) { newCommand = IrssUtils.Common.CmdPrefixFocus; } else if (selected.Equals(IrssUtils.Common.UITextExit, StringComparison.OrdinalIgnoreCase)) { newCommand = IrssUtils.Common.CmdPrefixExit; } else if (selected.Equals(IrssUtils.Common.UITextSendMPAction, StringComparison.OrdinalIgnoreCase)) { MPAction edit = new MPAction(); if (edit.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixSendMPAction + edit.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextSendMPMsg, StringComparison.OrdinalIgnoreCase)) { MPMessage edit = new MPMessage(); if (edit.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixSendMPMsg + edit.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextVirtualKB, StringComparison.OrdinalIgnoreCase)) { newCommand = IrssUtils.Common.CmdPrefixVirtualKB; } else if (selected.Equals(IrssUtils.Common.UITextSmsKB, StringComparison.OrdinalIgnoreCase)) { newCommand = IrssUtils.Common.CmdPrefixSmsKB; } else if (selected.Equals(IrssUtils.Common.UITextBeep, StringComparison.OrdinalIgnoreCase)) { BeepCommand beepCommand = new BeepCommand(); if (beepCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixBeep + beepCommand.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextSound, StringComparison.OrdinalIgnoreCase)) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Wave Files|*.wav"; openFileDialog.Multiselect = false; if (openFileDialog.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixSound + openFileDialog.FileName; } } else if (selected.Equals(IrssUtils.Common.UITextDisplayMode, StringComparison.OrdinalIgnoreCase)) { DisplayModeCommand displayModeCommand = new DisplayModeCommand(); if (displayModeCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixDisplayMode + displayModeCommand.CommandString; } } else if (selected.Equals(IrssUtils.Common.UITextStandby, StringComparison.OrdinalIgnoreCase)) { newCommand = IrssUtils.Common.CmdPrefixStandby; } else if (selected.Equals(IrssUtils.Common.UITextHibernate, StringComparison.OrdinalIgnoreCase)) { newCommand = IrssUtils.Common.CmdPrefixHibernate; } else if (selected.Equals(IrssUtils.Common.UITextReboot, StringComparison.OrdinalIgnoreCase)) { newCommand = IrssUtils.Common.CmdPrefixReboot; } else if (selected.Equals(IrssUtils.Common.UITextShutdown, StringComparison.OrdinalIgnoreCase)) { newCommand = IrssUtils.Common.CmdPrefixShutdown; } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixBlast, StringComparison.OrdinalIgnoreCase)) { BlastCommand blastCommand = new BlastCommand( MPBlastZonePlugin.BlastIR, IrssUtils.Common.FolderIRCommands, MPBlastZonePlugin.TransceiverInformation.Ports, selected.Substring(IrssUtils.Common.CmdPrefixBlast.Length)); if (blastCommand.ShowDialog(this) == DialogResult.OK) { newCommand = IrssUtils.Common.CmdPrefixBlast + blastCommand.CommandString; } } else if (selected.StartsWith(IrssUtils.Common.CmdPrefixMacro, StringComparison.OrdinalIgnoreCase)) { newCommand = selected; } else { throw new CommandStructureException(String.Format("Unknown command in macro command list \"{0}\"", selected)); } if (!String.IsNullOrEmpty(newCommand)) { listBoxMacro.Items.Add(newCommand); } } catch (Exception ex) { Log.Error(ex); MessageBox.Show(this, ex.Message, "Failed to add macro command", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void buttonAddCommand_Click(object sender, EventArgs e) { if (comboBoxCommands.SelectedIndex == -1) { return; } try { string selected = comboBoxCommands.SelectedItem as string; string newCommand = null; if (selected.Equals(Common.UITextIf, StringComparison.OrdinalIgnoreCase)) { IfCommand ifCommand = new IfCommand(); if (ifCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixIf + ifCommand.CommandString; } } else if (selected.Equals(Common.UITextLabel, StringComparison.OrdinalIgnoreCase)) { LabelNameDialog labelDialog = new LabelNameDialog(); if (labelDialog.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixLabel + labelDialog.LabelName; } } else if (selected.Equals(Common.UITextGotoLabel, StringComparison.OrdinalIgnoreCase)) { LabelNameDialog labelDialog = new LabelNameDialog(); if (labelDialog.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixGotoLabel + labelDialog.LabelName; } } else if (selected.Equals(Common.UITextSetVar, StringComparison.OrdinalIgnoreCase)) { SetVariableCommand setVariableCommand = new SetVariableCommand(); if (setVariableCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixSetVar + setVariableCommand.CommandString; } } else if (selected.Equals(Common.UITextClearVars, StringComparison.OrdinalIgnoreCase)) { newCommand = Common.CmdPrefixClearVars; } else if (selected.Equals(Common.UITextLoadVars, StringComparison.OrdinalIgnoreCase)) { VariablesFileDialog varsFileDialog = new VariablesFileDialog(); if (varsFileDialog.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixLoadVars + varsFileDialog.FileName; } } else if (selected.Equals(Common.UITextSaveVars, StringComparison.OrdinalIgnoreCase)) { VariablesFileDialog varsFileDialog = new VariablesFileDialog(); if (varsFileDialog.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixSaveVars + varsFileDialog.FileName; } } else if (selected.Equals(Common.UITextRun, StringComparison.OrdinalIgnoreCase)) { ExternalProgram externalProgram = new ExternalProgram(); if (externalProgram.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixRun + externalProgram.CommandString; } } else if (selected.Equals(Common.UITextPause, StringComparison.OrdinalIgnoreCase)) { PauseTime pauseTime = new PauseTime(); if (pauseTime.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixPause + pauseTime.Time; } } else if (selected.Equals(Common.UITextSerial, StringComparison.OrdinalIgnoreCase)) { SerialCommand serialCommand = new SerialCommand(); if (serialCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixSerial + serialCommand.CommandString; } } else if (selected.Equals(Common.UITextWindowMsg, StringComparison.OrdinalIgnoreCase)) { MessageCommand messageCommand = new MessageCommand(); if (messageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixWindowMsg + messageCommand.CommandString; } } else if (selected.Equals(Common.UITextTcpMsg, StringComparison.OrdinalIgnoreCase)) { TcpMessageCommand tcpMessageCommand = new TcpMessageCommand(); if (tcpMessageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixTcpMsg + tcpMessageCommand.CommandString; } } else if (selected.Equals(Common.UITextHttpMsg, StringComparison.OrdinalIgnoreCase)) { HttpMessageCommand httpMessageCommand = new HttpMessageCommand(); if (httpMessageCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixHttpMsg + httpMessageCommand.CommandString; } } else if (selected.Equals(Common.UITextKeys, StringComparison.OrdinalIgnoreCase)) { KeysCommand keysCommand = new KeysCommand(); if (keysCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixKeys + keysCommand.CommandString; } } else if (selected.Equals(Common.UITextMouse, StringComparison.OrdinalIgnoreCase)) { MouseCommand mouseCommand = new MouseCommand(); if (mouseCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixMouse + mouseCommand.CommandString; } } else if (selected.Equals(Common.UITextEject, StringComparison.OrdinalIgnoreCase)) { EjectCommand ejectCommand = new EjectCommand(); if (ejectCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixEject + ejectCommand.CommandString; } } else if (selected.Equals(Common.UITextPopup, StringComparison.OrdinalIgnoreCase)) { PopupMessage popupMessage = new PopupMessage(); if (popupMessage.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixPopup + popupMessage.CommandString; } } else if (selected.Equals(Common.UITextVirtualKB, StringComparison.OrdinalIgnoreCase)) { newCommand = Common.CmdPrefixVirtualKB; } else if (selected.Equals(Common.UITextSmsKB, StringComparison.OrdinalIgnoreCase)) { newCommand = Common.CmdPrefixSmsKB; } else if (selected.Equals(Common.UITextBeep, StringComparison.OrdinalIgnoreCase)) { BeepCommand beepCommand = new BeepCommand(); if (beepCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixBeep + beepCommand.CommandString; } } else if (selected.Equals(Common.UITextSound, StringComparison.OrdinalIgnoreCase)) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Wave Files|*.wav"; openFileDialog.Multiselect = false; if (openFileDialog.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixSound + openFileDialog.FileName; } } else if (selected.Equals(Common.UITextDisplayMode, StringComparison.OrdinalIgnoreCase)) { DisplayModeCommand displayModeCommand = new DisplayModeCommand(); if (displayModeCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixDisplayMode + displayModeCommand.CommandString; } } else if (selected.Equals(Common.UITextStandby, StringComparison.OrdinalIgnoreCase)) { newCommand = Common.CmdPrefixStandby; } else if (selected.Equals(Common.UITextHibernate, StringComparison.OrdinalIgnoreCase)) { newCommand = Common.CmdPrefixHibernate; } else if (selected.Equals(Common.UITextReboot, StringComparison.OrdinalIgnoreCase)) { newCommand = Common.CmdPrefixReboot; } else if (selected.Equals(Common.UITextShutdown, StringComparison.OrdinalIgnoreCase)) { newCommand = Common.CmdPrefixShutdown; } else if (selected.StartsWith(Common.CmdPrefixBlast, StringComparison.OrdinalIgnoreCase)) { BlastCommand blastCommand = new BlastCommand( Program.BlastIR, Common.FolderIRCommands, Program.TransceiverInformation.Ports, selected.Substring(Common.CmdPrefixBlast.Length)); if (blastCommand.ShowDialog(this) == DialogResult.OK) { newCommand = Common.CmdPrefixBlast + blastCommand.CommandString; } } else if (selected.StartsWith(Common.CmdPrefixMacro, StringComparison.OrdinalIgnoreCase)) { newCommand = selected; } else { throw new CommandStructureException(String.Format("Unknown macro command ({0})", selected)); } if (!String.IsNullOrEmpty(newCommand)) { listBoxMacro.Items.Add(newCommand); } } catch (Exception ex) { IrssLog.Error(ex); MessageBox.Show(this, ex.Message, "Failed to add macro command", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/***************************************************/ /*** METHODS ************************/ /***************************************************/ /******** UNITY MESSAGES ************************/ // Use this for initialization private void Start() { Debug.Assert(m_instance == null); m_instance = this; }