public void AddCommandToHistory(DrawTools.Command.Command command) { this.TrimHistoryList(); historyList.Add(command); nextUndo++; }
/// <summary> /// Add new command to history. /// Called by client after executing some action. /// </summary> /// <param name="command"></param> public void AddCommandToHistory(DrawTools.Command.Command command) { // Purge history list this.TrimHistoryList(); // Add command and increment undo counter historyList.Add(command); nextUndo++; }
public void Undo() { if (!CanUndo) { return; } DrawTools.Command.Command command = historyList[nextUndo]; command.Undo(); nextUndo--; }
public void Redo() { if (!CanRedo) { return; } int itemToRedo = nextUndo + 1; DrawTools.Command.Command command = historyList[itemToRedo]; command.Redo(); nextUndo++; }
/// <summary> /// Undo /// </summary> public void Undo() { if (!CanUndo) { return; } // Get the Command object to be undone DrawTools.Command.Command command = historyList[nextUndo]; // Execute the Command object's undo method command.Undo(); // Move the pointer up one item nextUndo--; }
/// <summary> /// Redo /// </summary> public void Redo() { if (!CanRedo) { return; } // Get the Command object to redo int itemToRedo = nextUndo + 1; DrawTools.Command.Command command = historyList[itemToRedo]; // Execute the Command object command.Redo(); // Move the undo pointer down one item nextUndo++; }