Scrollbar Example

Now we will look at a similar undo example using a Scrollbar.

Edit Scrollbar Script

Set Scrollbar Script

Set the script of the scrollbar to the following RevTalk code. This code is similar to the field code except that the memento is stored on mouseDown and an Undo Action is added (if necessary) on mouseUp.

local sMementoA

on mouseDown pMouseBtnNum

if pMouseBtnNum is 1 then

## Store position of scrollbar so we can undo changes the

## user makes. No undo entry is made here however

## as the user hasn't made any changes yet.

put the long id of the target into sMementoA["scrollbar"]

put the thumbposition of the target into sMementoA["thumbposition"]

end if

end mouseDown

on mouseUp pMouseBtnNum

if pMouseBtnNum is 1 then

## If the position of scrollbar has changed since the mouseDown

## message was received then add an undo action to the queue

if the thumbposition of the target is not sMementoA["thumbposition"] then

undoStoreUndo "change scrollbar position", "Change Scrollbar", sMementoA

end if

## Clear memory

put empty into sMementoA

end if

end mouseUp

Switch to Browse Tool

Change Position of Scrollbar Slider

Click 'Undo Last Change'

The scrollbar slider returns to the original position and a dialog appears.

Click 'Redo Last Change'

The slider goes back to the new position you set and a dialog appears.

0 Comments

Add your comment

E-Mail me when someone replies to this comment