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_SetupForm : Form { public List _COM_Execute = new List(); public List _COM_Interpret = new List(); public COM_SetupForm() { InitializeComponent(); SetupTabLists(); } private void CHK_ENABLE_CheckedChanged(object sender, EventArgs e) { GlobalStaticClass.COM_Master_Enable = CHK_ENABLE.Checked; } private void CHK_COM_ONLY_CheckedChanged(object sender, EventArgs e) { GlobalStaticClass.COM_Enable_Only_COM_Mode = CHK_COM_ONLY.Checked; } private void BTN_ADD_COM_OBJECT_Click(object sender, EventArgs e) { if (TAB_COM_SETUP.SelectedTab == TAB_COM_READ) { COM_Setup_InterpretForm _csif = new COM_Setup_InterpretForm(); _csif.ShowDialog(); _csif.Close(); } else if (TAB_COM_SETUP.SelectedTab == TAB_COM_WRITE) { COM_Setup_ExecutableForm _csif = new COM_Setup_ExecutableForm(); _csif.ShowDialog(); _csif.Close(); } else { } SetupTabLists(); } private void SetupTabLists() { _COM_Execute.Clear(); _COM_Interpret.Clear(); LISTVIEW_COM_INTERPRET.Items.Clear(); LISTVIEW_COM_EXECUTE.Items.Clear(); foreach (GlobalStaticClass.COM_Command_Class _CC in GlobalStaticClass.COM_List_of_Commands) { ListViewItem temp_LVI = new ListViewItem(_CC.id, 0); _COM_Interpret.Add(temp_LVI); } foreach (GlobalStaticClass.COM_Execution_Object_Class _EC in GlobalStaticClass.COM_List_of_Executable_Commands) { ListViewItem temp_LVI = new ListViewItem(_EC.id, 0); _COM_Execute.Add(temp_LVI); } LISTVIEW_COM_INTERPRET.Items.AddRange(_COM_Interpret.ToArray()); LISTVIEW_COM_EXECUTE.Items.AddRange(_COM_Execute.ToArray()); bool isEnabled = false; if (TAB_COM_SETUP.SelectedTab == TAB_COM_READ) { isEnabled = (GlobalStaticClass.COM_List_of_Commands.Count > 0); } else if (TAB_COM_SETUP.SelectedTab == TAB_COM_WRITE) { isEnabled = (GlobalStaticClass.COM_List_of_Executable_Commands.Count > 0); } BTN_EDIT_COM_OBJECT.Enabled = isEnabled; BTN_DELETE_COM_OBJECT.Enabled = isEnabled; } private void BTN_DELETE_COM_OBJECT_Click(object sender, EventArgs e) { if (TAB_COM_SETUP.SelectedTab == TAB_COM_READ) { if (LISTVIEW_COM_INTERPRET.SelectedItems.Count == 0) { (new ErrorForm("Invalid Selection", "Select and item to delete")).ShowDialog(); return; } else { if (LISTVIEW_COM_INTERPRET.SelectedItems[0].Index < GlobalStaticClass.COM_List_of_Commands.Count) { GlobalStaticClass.COM_List_of_Commands.RemoveAt(LISTVIEW_COM_INTERPRET.SelectedItems[0].Index); } } } else if (TAB_COM_SETUP.SelectedTab == TAB_COM_WRITE) { if (LISTVIEW_COM_EXECUTE.SelectedItems.Count == 0) { (new ErrorForm("Invalid Selection", "Select and item to delete")).ShowDialog(); return; } else { if (LISTVIEW_COM_EXECUTE.SelectedItems[0].Index < GlobalStaticClass.COM_List_of_Executable_Commands.Count) { GlobalStaticClass.COM_List_of_Executable_Commands.RemoveAt(LISTVIEW_COM_EXECUTE.SelectedItems[0].Index); } } } SetupTabLists(); } private void TAB_COM_SETUP_Selected(object sender, TabControlEventArgs e) { bool isEnabled = false; if (TAB_COM_SETUP.SelectedTab == TAB_COM_READ) { isEnabled = (GlobalStaticClass.COM_List_of_Commands.Count > 0); } else if (TAB_COM_SETUP.SelectedTab == TAB_COM_WRITE) { isEnabled = (GlobalStaticClass.COM_List_of_Executable_Commands.Count > 0); } BTN_EDIT_COM_OBJECT.Enabled = isEnabled; BTN_DELETE_COM_OBJECT.Enabled = isEnabled; } private void EditObject() { if (TAB_COM_SETUP.SelectedTab == TAB_COM_READ) { if (LISTVIEW_COM_INTERPRET.SelectedItems.Count == 0) { (new ErrorForm("Invalid Selection", "Select and item to edit")).ShowDialog(); return; } else { if (LISTVIEW_COM_INTERPRET.SelectedItems[0].Index < GlobalStaticClass.COM_List_of_Commands.Count) { COM_Setup_InterpretForm _csif = new COM_Setup_InterpretForm(GlobalStaticClass.COM_List_of_Commands[LISTVIEW_COM_INTERPRET.SelectedItems[0].Index]); _csif.ShowDialog(); _csif.Close(); } } } else if (TAB_COM_SETUP.SelectedTab == TAB_COM_WRITE) { if (LISTVIEW_COM_EXECUTE.SelectedItems.Count == 0) { (new ErrorForm("Invalid Selection", "Select and item to edit")).ShowDialog(); return; } else { if (LISTVIEW_COM_EXECUTE.SelectedItems[0].Index < GlobalStaticClass.COM_List_of_Executable_Commands.Count) { COM_Setup_ExecutableForm _csif = new COM_Setup_ExecutableForm(GlobalStaticClass.COM_List_of_Executable_Commands[LISTVIEW_COM_EXECUTE.SelectedItems[0].Index]); _csif.ShowDialog(); _csif.Close(); } } } SetupTabLists(); } private void BTN_EDIT_COM_OBJECT_Click(object sender, EventArgs e) { EditObject(); } private void LISTVIEW_COM_INTERPRET_DoubleClick(object sender, EventArgs e) { EditObject(); } private void LISTVIEW_COM_EXECUTE_DoubleClick(object sender, EventArgs e) { EditObject(); } } }