예제 #1
0
 private void okButton_Click(object sender, RoutedEventArgs e)
 {
     for (int i = SourceCollection.Count - 1; i >= 0; i--)
     {
         object o = SourceCollection[i];
         if (!SourceCollectionEdited.Contains(o))
         {
             SourceCollection.RemoveAt(i);
         }
     }
     foreach (object o in SourceCollectionEdited)
     {
         if (!SourceCollection.Contains(o))
         {
             SourceCollection.Add(o);
         }
     }
     for (int i = TargetCollection.Count - 1; i >= 0; i--)
     {
         object o = TargetCollection[i];
         if (!TargetCollectionEdited.Contains(o))
         {
             TargetCollection.RemoveAt(i);
         }
     }
     foreach (object o in TargetCollectionEdited)
     {
         if (!TargetCollection.Contains(o))
         {
             TargetCollection.Add(o);
         }
     }
     cancelButton_Click(sender, e);
 }
        private void ItemParameterChanged(object sender, EventArgs e)
        {
            if (TargetCollection == null || targetCollection.Count < 1 ||
                Index < 0 || Index >= targetCollection.Count)
            {
                return;
            }

            MASM_FormattingItem updatedValues = TargetCollection[Index];

            updatedValues.enable         = EnableToggle.Checked;
            updatedValues.prefix         = PrefixField.Text;
            updatedValues.postfix        = PostfixField.Text;
            updatedValues.property       = PropertyField.Text;
            updatedValues.mode           = ModeField.ToEnum(MASM_FormattingItem.ItemMode.Property);
            updatedValues.operationValue = ParseFloat(ValueField.Text);
            updatedValues.operationType  = OperationField.ToEnum(MASM_FormattingItem.OperationType.None);
            updatedValues.targetData     = TargetField.ToEnum(MASM_FormattingItem.TargetData.PropertyValue);
            updatedValues.roundMode      = RoundField.ToEnum(MASM_FormattingItem.RoundingType.None);
            updatedValues.modulo         = ModuloToggle.Checked;
            updatedValues.outFormat      = OutFormatField.Text;

            if (TargetCollection[Index] != updatedValues)
            {
                TargetCollection[Index] = updatedValues;
            }

            if (sender == CopyButton)
            {
                TargetCollection.Insert(index + 1, TargetCollection[Index]);
            }

            if (sender == MoveUpButton && index - 1 > -1)
            {
                TargetCollection.Move(index, index - 1);
            }

            if (sender == MoveDownButton && index + 1 < TargetCollection.Count)
            {
                TargetCollection.Move(index, index + 1);
            }

            if (sender == RemoveButton &&
                MessageBox.Show("Are you sure to delete item " + index + "?",
                                "Confirm Delete!", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                TargetCollection.RemoveAt(index);
                return;
            }
        }