Performing a reversible action adds it to the undo stack. If the user presses undo, the change is reversed, and it's moved to the redo stack. Likewise the user can press redo to re-apply it and move it back to the undo stack.
The redo stack should be cleared when the user performs a new action.
Performing a reversible action adds it to the undo stack. If the user presses undo, the change is reversed, and it's moved to the redo stack. Likewise the user can press redo to re-apply it and move it back to the undo stack.
The redo stack should be cleared when the user performs a new action.
Actionwhich undoes the change