private void okButton_Click(object sender, EventArgs e) { bool checkNameCollision = editingMode == LabelEditMode.Add ? true : !nameBox.Text.Equals(editedLabel.Name, StringComparison.Ordinal); int off = -1; Symbol sym = new Symbol() { Name = nameBox.Text }; if (!Utility.IsWord(nameBox.Text)) { Error.ShowErrorMessage(ErrorMessage.Label_InvalidName); } else if (checkNameCollision && labelContainer.IsSymbolDefined(sym)) { Error.ShowErrorMessage(ErrorMessage.Label_NameAlreadyDefined); } else if (!Utility.OffsetStringToInt(offsetBox.Text, out off)) { Error.ShowErrorMessage(ErrorMessage.Label_InvalidOffset); } else { if (editingMode == LabelEditMode.Edit) { labelContainer.RemoveFuncLabel(editedLabel); } editedLabel = new FunctionLabel(off, nameBox.Text, commentBox.Text); labelContainer.AddFuncLabel(editedLabel); this.DialogResult = System.Windows.Forms.DialogResult.OK; } }
private void funcLabelBox_DrawItem(object sender, DrawItemEventArgs e) { e.DrawBackground(); if (funcLabelBox.Items.Count > 0) { FunctionLabel ds = (FunctionLabel)funcLabelBox.Items[e.Index]; Brush itemBrush = Brushes.Black; StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Near; sf.LineAlignment = StringAlignment.Center; e.Graphics.DrawString(ds.ToString(), e.Font, itemBrush, funcLabelBox.GetItemRectangle(e.Index), sf); } e.DrawFocusRectangle(); }
public AddFunctionLabelForm(LabelContainer lblContainer, LabelEditMode editMode, FunctionLabel newPriorLabel = null) { InitializeComponent(); labelContainer = lblContainer; editingMode = editMode; editedLabel = newPriorLabel; if (editingMode == LabelEditMode.Edit) { Text = "Edit Label"; if (editedLabel != null) { nameBox.Text = editedLabel.Name; offsetBox.Text = editedLabel.Offset.ToString("X"); if (!String.IsNullOrEmpty(editedLabel.Comment)) { commentBox.Text = editedLabel.Comment; } } } }