private void FillList() { SigButDefs.Refresh(); SigButDefElements.Refresh(); if (listComputers.SelectedIndex == -1) //although I don't know how this could happen { listComputers.SelectedIndex = 0; } if (listComputers.SelectedIndex == 0) { SubList = SigButDefs.GetByComputer(""); } else { //remember, defaults are mixed into this list unless overridden: SubList = SigButDefs.GetByComputer(Computers.List[listComputers.SelectedIndex - 1].CompName); } int selected = listButtons.SelectedIndex; listButtons.Items.Clear(); SigButDef button; SigButDefElement[] elements; string s; for (int i = 0; i < 20; i++) { button = SigButDefs.GetByIndex(i, SubList); if (button == null) { listButtons.Items.Add("-" + (i + 1).ToString() + "-"); } else { s = button.ButtonText; elements = SigButDefElements.GetForButton(button.SigButDefNum); for (int e = 0; e < elements.Length; e++) { if (e == 0) { s += " ("; } else { s += ", "; } s += SigElementDefs.GetElement(elements[e].SigElementDefNum).SigText; if (e == elements.Length - 1) { s += ")"; } } if (button.ComputerName == "" && listComputers.SelectedIndex != 0) { s += " " + Lan.g(this, "(all)"); } listButtons.Items.Add(s); } } }
private void butOK_Click(object sender, System.EventArgs e) { if (textLightRow.errorProvider1.GetError(textLightRow) != "" ) { MsgBox.Show(this, "Please fix data entry errors first."); return; } if (textSigText.Text == "") { MsgBox.Show(this, "Please enter a text description first."); return; } ElementCur.SigElementType = (SignalElementType)listType.SelectedIndex; ElementCur.SigText = textSigText.Text; ElementCur.LightRow = PIn.Byte(textLightRow.Text); ElementCur.LightColor = butColor.BackColor; if (IsNew) { SigElementDefs.Insert(ElementCur); } else { SigElementDefs.Update(ElementCur); } DialogResult = DialogResult.OK; }
private void FormSigButDefEdit_Load(object sender, EventArgs e) { if (ButtonCur.ComputerName == "") { radioAll.Checked = true; } else { radioOne.Checked = true; textComputerName.Text = ButtonCur.ComputerName; } textButtonText.Text = ButtonCur.ButtonText; textSynchIcon.Text = ButtonCur.SynchIcon.ToString(); sigElementDefUser = SigElementDefs.GetSubList(SignalElementType.User); sigElementDefExtras = SigElementDefs.GetSubList(SignalElementType.Extra); sigElementDefMessages = SigElementDefs.GetSubList(SignalElementType.Message); SigButDefElement elementUser = SigButDefs.GetElement(ButtonCur, SignalElementType.User); SigButDefElement elementExtra = SigButDefs.GetElement(ButtonCur, SignalElementType.Extra); SigButDefElement elementMessage = SigButDefs.GetElement(ButtonCur, SignalElementType.Message); comboTo.Items.Clear(); comboTo.Items.Add(Lan.g(this, "none")); comboTo.SelectedIndex = 0; for (int i = 0; i < sigElementDefUser.Length; i++) { comboTo.Items.Add(sigElementDefUser[i].SigText); if (elementUser != null && elementUser.SigElementDefNum == sigElementDefUser[i].SigElementDefNum) { comboTo.SelectedIndex = i + 1; } } comboExtras.Items.Clear(); comboExtras.Items.Add(Lan.g(this, "none")); comboExtras.SelectedIndex = 0; for (int i = 0; i < sigElementDefExtras.Length; i++) { comboExtras.Items.Add(sigElementDefExtras[i].SigText); if (elementExtra != null && elementExtra.SigElementDefNum == sigElementDefExtras[i].SigElementDefNum) { comboExtras.SelectedIndex = i + 1; } } comboMessage.Items.Clear(); comboMessage.Items.Add(Lan.g(this, "none")); comboMessage.SelectedIndex = 0; for (int i = 0; i < sigElementDefMessages.Length; i++) { comboMessage.Items.Add(sigElementDefMessages[i].SigText); if (elementMessage != null && elementMessage.SigElementDefNum == sigElementDefMessages[i].SigElementDefNum) { comboMessage.SelectedIndex = i + 1; } } }
///<summary>Loops through the element list and pulls out one element of a specific type. Used in the button edit window.</summary> public static SigButDefElement GetElement(SigButDef def, SignalElementType elementType) { for (int i = 0; i < def.ElementList.Length; i++) { if (SigElementDefs.GetElement(def.ElementList[i].SigElementDefNum).SigElementType == elementType) { return(def.ElementList[i].Copy()); } } return(null); }
private void butDelete_Click(object sender, EventArgs e) { if (IsNew) { DialogResult = DialogResult.Cancel; } else { if (!MsgBox.Show(this, true, "Delete?")) { return; } SigElementDefs.Delete(ElementCur); DialogResult = DialogResult.OK; } }
private void butDown_Click(object sender, EventArgs e) { if (listToFrom.SelectedIndex == -1 && listExtras.SelectedIndex == -1 && listMessages.SelectedIndex == -1) { MsgBox.Show(this, "Please select an item first."); return; } int selected; if (listToFrom.SelectedIndex != -1) { selected = listToFrom.SelectedIndex; if (selected == listToFrom.Items.Count - 1) { return; } SigElementDefs.MoveDown(selected, ListUser); FillLists(); listToFrom.SelectedIndex = selected + 1; } else if (listExtras.SelectedIndex != -1) { selected = listExtras.SelectedIndex; if (selected == listExtras.Items.Count - 1) { return; } SigElementDefs.MoveDown(selected, ListExtras); FillLists(); listExtras.SelectedIndex = selected + 1; } else if (listMessages.SelectedIndex != -1) { selected = listMessages.SelectedIndex; if (selected == listMessages.Items.Count - 1) { return; } SigElementDefs.MoveDown(selected, ListMessages); FillLists(); listMessages.SelectedIndex = selected + 1; } }
private void FillLists() { SigElementDefs.Refresh(); ListUser = SigElementDefs.GetSubList(SignalElementType.User); ListExtras = SigElementDefs.GetSubList(SignalElementType.Extra); ListMessages = SigElementDefs.GetSubList(SignalElementType.Message); listToFrom.Items.Clear(); for (int i = 0; i < ListUser.Length; i++) { listToFrom.Items.Add(ListUser[i].SigText); } listExtras.Items.Clear(); for (int i = 0; i < ListExtras.Length; i++) { listExtras.Items.Add(ListExtras[i].SigText); } listMessages.Items.Clear(); for (int i = 0; i < ListMessages.Length; i++) { listMessages.Items.Add(ListMessages[i].SigText); } }
private void FillList() { if (listComputers.SelectedIndex == -1) //although I don't know how this could happen { listComputers.SelectedIndex = 0; } int selected = listButtons.SelectedIndex; listButtons.Items.Clear(); SigButDef sigButDef; List <SigElementDef> listSigElementDefs; string buttonText; for (int i = 0; i < _maxNumButtonsInList; i++) { sigButDef = SigButDefs.GetByIndex(i, _arraySigButDefs); if (sigButDef == null) { listButtons.Items.Add("-" + (i + 1).ToString() + "-"); } else { buttonText = sigButDef.ButtonText; listSigElementDefs = SigElementDefs.GetElementsForButDef(sigButDef); if (listSigElementDefs.Count > 0) { buttonText += " (" + string.Join(",", listSigElementDefs.Select(x => x.SigText)) + ")"; } if (sigButDef.ComputerName == "" && listComputers.SelectedIndex != 0) { buttonText += " " + Lan.g(this, "(all)"); } listButtons.Items.Add(buttonText); } } }
private void butAdd_Click(object sender, EventArgs e) { FormSigElementDefEdit FormS = new FormSigElementDefEdit(); FormS.ElementCur = new SigElementDef(); FormS.ElementCur.LightColor = Color.White; //default is user if (listExtras.SelectedIndex != -1) { FormS.ElementCur.SigElementType = SignalElementType.Extra; } if (listMessages.SelectedIndex != -1) { FormS.ElementCur.SigElementType = SignalElementType.Message; } FormS.IsNew = true; FormS.ShowDialog(); if (FormS.DialogResult != DialogResult.OK) { return; } //set the order SigElementDef element = FormS.ElementCur.Copy(); if (element.SigElementType == SignalElementType.User) { element.ItemOrder = ListUser.Length; SigElementDefs.Update(element); } else if (element.SigElementType == SignalElementType.Extra) { element.ItemOrder = ListExtras.Length; SigElementDefs.Update(element); } else if (element.SigElementType == SignalElementType.Message) { element.ItemOrder = ListMessages.Length; SigElementDefs.Update(element); } FillLists(); //Select the item for (int i = 0; i < ListUser.Length; i++) { if (ListUser[i].SigElementDefNum == element.SigElementDefNum) { listToFrom.SelectedIndex = i; } } for (int i = 0; i < ListExtras.Length; i++) { if (ListExtras[i].SigElementDefNum == element.SigElementDefNum) { listExtras.SelectedIndex = i; } } for (int i = 0; i < ListMessages.Length; i++) { if (ListMessages[i].SigElementDefNum == element.SigElementDefNum) { listMessages.SelectedIndex = i; } } }