예제 #1
0
        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;
            }
        }
예제 #2
0
 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();
 }
예제 #3
0
 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;
             }
         }
     }
 }