示例#1
0
        public void Undo()
        {
            if (nameChanged)
            {
                bool b = origParentNode.Children.Remove(fieldNode);
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }

                origOptions.CopyTo(fieldNode.FieldDefinition);
                origParentNode.Children.Insert(origParentChildIndex, fieldNode);
            }
            else
            {
                origOptions.CopyTo(fieldNode.FieldDefinition);
            }
            fieldNode.RaiseUIPropsChanged();
        }
示例#2
0
        public void Execute()
        {
            if (nameChanged)
            {
                bool b = origParentChildIndex < origParentNode.Children.Count && origParentNode.Children[origParentChildIndex] == fieldNode;
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }
                origParentNode.Children.RemoveAt(origParentChildIndex);
                newOptions.CopyTo(fieldNode.FieldDefinition);

                origParentNode.AddToChildren(fieldNode);
            }
            else
            {
                newOptions.CopyTo(fieldNode.FieldDefinition);
            }
            fieldNode.RaiseUIPropsChanged();
        }