using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace FCC_Uber_MDX_Configurator { public partial class COM_Setup_InterpretForm : Form { public GlobalStaticClass.COM_Command_Class _com = new GlobalStaticClass.COM_Command_Class("Command " + (GlobalStaticClass.COM_List_of_Commands.Count + 1).ToString()); public COM_Setup_InterpretForm() { //_com = new GlobalStaticClass.COM_Command_Class("Command " + (GlobalStaticClass.COM_List_of_Commands.Count + 1).ToString()); SetupForm(); } public COM_Setup_InterpretForm(GlobalStaticClass.COM_Command_Class input_CCC) { _com.Copy(input_CCC); SetupForm(); } public void SetupForm() { InitializeComponent(); TXT_ID.Text = _com.id; TXT_MDVTIME.Text = _com.minimum_delta_vote_time.ToString(); UpdateFormWithCurentList(); } public void UpdateFormWithCurentList() { if (_com.do_statements.Count > 0) { BTN_DELETE_VOTE.Enabled = true; BTN_EDIT_VOTE.Enabled = true; } else { BTN_DELETE_VOTE.Enabled = false; BTN_EDIT_VOTE.Enabled = false; } LISTVIEW_VOTES.Items.Clear(); foreach (GlobalStaticClass.Vote_VoteClass _votes in _com.do_statements) { LISTVIEW_VOTES.Items.Add(_votes.FormatAsStringForListBox()); } LISTVIEW_VOTES.Update(); } #region Verify a Number is entered in TextBox public void Leave_VerifyTXTHasAValidNumber(object sender, EventArgs e) { try { TextBox _senderBox = (TextBox)sender; int _tempDouble; if (!int.TryParse(_senderBox.Text, out _tempDouble)) { ErrorForm _tempErrorForm = new ErrorForm(_senderBox.Name, "The value you entered is not valid"); _tempErrorForm.ShowDialog(); _senderBox.Focus(); } } catch (Exception) { ErrorForm _tempErrorForm = new ErrorForm("Unknown Error", "There was an unexpected untraceable error caught in the application. If you can reproduce this error, please let me know at FusionControlCentre@gmail.com"); _tempErrorForm.ShowDialog(); } } #endregion #region Verify Textboxes Only get Number Inputs private void KeyDown_IsANumber(object sender, KeyEventArgs e) { char c = (char)e.KeyValue; if (!char.IsDigit((char)e.KeyValue) && e.KeyData != Keys.Back && e.KeyData != Keys.Left && e.KeyData != Keys.Right && e.KeyData != Keys.Decimal && e.KeyValue != 190 && !e.KeyCode.Equals(Keys.NumPad0) && !e.KeyCode.Equals(Keys.NumPad1) && !e.KeyCode.Equals(Keys.NumPad2) && !e.KeyCode.Equals(Keys.NumPad3) && !e.KeyCode.Equals(Keys.NumPad4) && !e.KeyCode.Equals(Keys.NumPad5) && !e.KeyCode.Equals(Keys.NumPad6) && !e.KeyCode.Equals(Keys.NumPad7) && !e.KeyCode.Equals(Keys.NumPad8) && !e.KeyCode.Equals(Keys.NumPad9)) { e.SuppressKeyPress = true; } return; } #endregion #region Verify Text Field is Valid private void Leave_VerifyTXTIsNotEmpty(object sender, EventArgs e) { try { TextBox _senderBox = (TextBox)sender; if (_senderBox.Text == "") { ErrorForm _tempErrorForm = new ErrorForm(_senderBox.Name, "The value you entered is not valid"); _tempErrorForm.ShowDialog(); _senderBox.Focus(); } } catch (Exception) { ErrorForm _tempErrorForm = new ErrorForm("Unknown Error", "There was an unexpected untraceable error caught in the application. If you can reproduce this error, please let me know at FusionControlCentre@gmail.com"); _tempErrorForm.ShowDialog(); } } #endregion private void BTN_ADD_VOTE_Click(object sender, EventArgs e) { AddNewThenDo _tempAddNewThenDo = new AddNewThenDo(); if (_tempAddNewThenDo.ShowDialog() == DialogResult.OK) { this.DialogResult = DialogResult.None; _com.do_statements.Add(_tempAddNewThenDo.MyVote); UpdateFormWithCurentList(); } this.DialogResult = DialogResult.None; } private void BTN_EDIT_VOTE_Click(object sender, EventArgs e) { EditThenDo(); } private void EditThenDo() { if (LISTVIEW_VOTES.SelectedItem != null && LISTVIEW_VOTES.SelectedIndex >= 0 && LISTVIEW_VOTES.SelectedIndex < _com.do_statements.Count) { GlobalStaticClass.Vote_VoteClass _tempVC = _com.do_statements[LISTVIEW_VOTES.SelectedIndex]; if ((new AddNewThenDo(_tempVC)).ShowDialog() == DialogResult.OK) { UpdateFormWithCurentList(); } } } private void BTN_DELETE_VOTE_Click(object sender, EventArgs e) { if (LISTVIEW_VOTES.SelectedItem != null && LISTVIEW_VOTES.SelectedIndex >= 0 && LISTVIEW_VOTES.SelectedIndex < _com.do_statements.Count) { GlobalStaticClass.Vote_VoteClass _tempVC = _com.do_statements[LISTVIEW_VOTES.SelectedIndex]; if ((new ConfirmDeleteForm(_tempVC.FormatAsStringForListBox())).ShowDialog() == DialogResult.OK) { _com.do_statements.Remove(_tempVC); UpdateFormWithCurentList(); } } } private int COMIndex() { foreach (GlobalStaticClass.COM_Command_Class _c in GlobalStaticClass.COM_List_of_Commands) { if (_c.id.ToLower() == _com.id.ToLower()) { return GlobalStaticClass.COM_List_of_Commands.IndexOf(_c); } } return -1; } private void BTN_SAVE_Click(object sender, EventArgs e) { int index = COMIndex(); if (TXT_ID.Text == "") { (new ErrorForm("Invalid ID", "ID must not be blank")).ShowDialog(); return; } else { _com.id = TXT_ID.Text; } if (!int.TryParse(TXT_MDVTIME.Text, out _com.minimum_delta_vote_time) || _com.minimum_delta_vote_time <= 0) { (new ErrorForm("Invalid MDVT", "Minimum Delta Vote time must be an integer value and greater than zero")).ShowDialog(); return; } if (index < 0) { GlobalStaticClass.COM_List_of_Commands.Add(_com); } else { GlobalStaticClass.COM_List_of_Commands[index].Copy(_com); } this.DialogResult = DialogResult.OK; } private void BTN_CANCEL_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; } } }