Creating Undo/Redo Buttons
Let's look at how to work with Undo.
Open the Application
Open the application stored in the Starting Application folder of the homework folder. Open launcher.rev and click on it to load the application.
Open Experiment Stack
Edit 'Undo Last Change' Button Script
With the Edit tool active right-click on the Undo Last Change button and edit its script.
Paste In RevTalk Code
Set the script of the button to the following RevTalk code:
if undoCanUndo() then
put undoUndoActionName() into theName
answer "Undo performed for action named:" && theName
answer "No undo action in queue"
What Does the Script Do?
This script will undo the first action in the Undo Queue.
1) Check to see if an undo can be performed. If there are no Undo Actions in the Undo Queue then the undoCanUndo() function returns false.
2) Get the name of the undo action. This is the 2nd parameter that was passed into undoStoreUndo and is useful for displaying to the user (e.g. in the Edit menu).
3) Perform the undo.
Edit 'Redo Last Change' Button Script
Paste in RevTalk Code
Set the script of the button to the following RevTalk code. The code is the same as the Undo button except that it uses the redo API calls.
if undoCanRedo() then
put undoRedoActionName() into theName
answer "Redo performed for action named:" && theName
answer "No redo action in queue"