Frontscript to simulate modal dialog
Frank Leahy
frank at backtalk.com
Fri May 21 20:06:24 EDT 2004
Ken,
> The only thing you can do about this AFAIK is to have a resumeStack
> handler
> on the other windows that have code that checks to see if the progress
> window is in open, and if so, to re-open the progress bar window
> (which will
> bring it to the front). You'll have an odd "toggle" sort of situation
> going
> on (where for a fraction of a second the dialog is submerged), but
> it'll
> keep people from messing up other windows.
I've done that, and it works some of the time, but not all the time. I
may have to add a timer to check that the progress window has actually
been brought forward after 1 second or so.
>
> Another option is to use a palette window for your progress bar and
> have
> each "normal" window have a transparent button that sits in front of
> everything else on that window. Normally it is hidden, but when the
> progress
> bar is going it becomes visible. When the progress bar goes away, this
> button is hidden again. This prevents "submarining" of the progress
> window
> (since it's a palette), and also prevents clicks on the other windows
> (since
> the transparent button gets in the way).
I'd thought of the transparent button, but not using it in conjunction
with a palette because I'd assumed that the palette would have a
palette-like border. But I'll try that, thanks.
By the way, I'm surprised that this frontscript doesn't actually trap
any mouseDown's, is anyone else surprised?
on mouseDown
put the rect of window "Thumbnail Progress" into theRect -- this is
the progress dialog window
put the screenMouseLoc into theLoc
if theLoc is within theRect then
pass mouseDown
else
beep
end if
end mouseDown
Best,
-- Frank
More information about the use-livecode
mailing list