public void Undo() { if (nameChanged) { bool b = origParentNode.Children.Remove(eventNode); Debug.Assert(b); if (!b) { throw new InvalidOperationException(); } origOptions.CopyTo(eventNode.EventDef); origParentNode.Children.Insert(origParentChildIndex, eventNode); } else { origOptions.CopyTo(eventNode.EventDef); } eventNode.RaiseUIPropsChanged(); }
public void Execute() { if (nameChanged) { bool b = origParentChildIndex < origParentNode.Children.Count && origParentNode.Children[origParentChildIndex] == eventNode; Debug.Assert(b); if (!b) { throw new InvalidOperationException(); } origParentNode.Children.RemoveAt(origParentChildIndex); newOptions.CopyTo(eventNode.EventDef); origParentNode.AddToChildren(eventNode); } else { newOptions.CopyTo(eventNode.EventDef); } eventNode.RaiseUIPropsChanged(); }