On Mar 31, 2005, at 1:14 AM, graham samuel wrote:
I'd like to put up a kind of advisory note to the user saying something like

"Please wait while we process your request"

I don't want any reaction from the user, such as clicking on "OK" or "Cancel" - I just want to warn her/him that it may take some time to complete the next task. During this period, I have a nice animation for the person to look at, but I don't really want to add my note to the animated display. I suppose the usual thing is to put the cursor into 'hourglass' or 'pizza' mode (according to platform) and of course I can do this, but I just want to show my message first.

What's the best way to implement this, do you think?

Graham,

Do you want to keep the user from clicking on other areas of your app while this happens? For some tasks I have a "progress" stack that I display as modal (but doesn't block current script execution). This displays a progress bar (or animation) and keeps the user from clicking on anything else until the process has completed.

If this would work in your case you can do the following:

1) Create a stack. For this example I will name it "myProgress".
2) Attach the script I've included below.
3) To give a name to the progress stack: set the uTitle of stack "myProgress" to "I'm doing something. Hold on."
3) To show the stack: set the uShow of stack "myProgress" to true
4) To hide the stack: set the uShow of stack "myProgress" to false


In my script I have additional properties such as uProgress (updates a progress bar) and uFeedback (updates text displayed to the user). This script just has the basics included.

Note that if you make a mistake during development and forget to close the progress dialog you can hold down the command/control key and click on the window to make it disappear (see the mousedown handler).


-- Trevor DeVore Blue Mango Multimedia [EMAIL PROTECTED]



=====
== BEGIN SCRIPT
=====

local sCenterOnScreen   = "true"


setProp uTitle pValue set title of me to pValue end uTitle


setProp uCenter pValue if pValue <> false then put true into pValue put pValue into sCenterOnScreen end uCenter

setProp uShow pValue
        local tTarget           = ""
        
        if pValue = true then
                put line 1 of openStacks() into tTarget
                if sCenterOnScreen = false AND tTarget <> empty then
                        put loc of stack tTarget into tLoc
                else
                        put screenLoc() into tLoc
                end if
                go invisible stack (short name of me) as modal
                set loc of me to tLoc
                set visible of me to true
                
                --> GIVE IT TIME TO DISPLAY
                wait 100 milliseconds
        else
                put true into sCenterOnScreen
                put 100 into sEndValue
                close me
                wait 0 milliseconds
        end if
end uShow


getProp uShow if short name of me is among lines of openStacks() then return true else return false end if end uShow


--> FOR TESTING
on mousedown
if environment() = "development" AND commandKey() is down then close stack (short name of me)
end mousedown



===== == END SCRIPT =====

_______________________________________________
use-revolution mailing list
[email protected]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to