public void AddUndo(UndoableAction undo) { if (suspend) return; redos.Clear(); undos.Push(undo); }
public void AddUndo(UndoableAction undo) { if (suspend) { return; } redos.Clear(); undos.Push(undo); }
public void Redo() { if (!CanRedo()) { return; } try { suspend = true; UndoableAction undo = redos.Pop(); undo.Undo(); undos.Push(undo); } finally { suspend = false; } }
public void Undo() { if (!CanUndo()) { return; } try { suspend = true; UndoableAction redo = undos.Pop(); redo.Undo(); redos.Push(redo); } finally { suspend = false; } }