Full Frontal Dialogs
Full Frontal Dialogs
- Subject: Full Frontal Dialogs
- From: Luther Fuller <email@hidden>
- Date: Tue, 16 Dec 2008 11:59:20 -0600
Thanks for the explaining 'modal'. (I'm way behind reading the "Tell
Blocks ..." thread, so I'm not commenting on any details I've missed
there, hence the change of subject.)
Situation 1 ---------------------
Suppose scripted application "S" operates on information shown in a
window belonging to application "A". When S is launched, it must check
the status of application A to know what to ask, then display a
dialog. You don't want the user "clicking around" your dialog, so you
make it application modal, that is, your script tells application "A"
to display dialog ... No problem.
Situation 2 ---------------------
You launch scripted application "S" by some means, a dialog should
appear, but nothing happens. Later you find the dialog hiding behind a
window. The script worked, but you accidentally clicked on an
application window immediately after launch, causing it to hide your
script's dialog. You can't solve this problem with an application
modal dialog, since script S has nothing to do with any particular
application and does not know anything about your active applications.
Now we have a problem.
The only solution in this situation seems to be to have a means to
show a dialog in floating mode. It floats above all other windows, so
it can't be "clicked around". Is this currently possible? I don't
think so.
Situation 3 ---------------------
Scripted application "S" has finished displaying its dialogs and is
now telling application "A" what to do. This may take awhile. And
while its taking awhile, you, the user, shouldn't be operating
application A and neither should another application. While its taking
awhile, application A "belongs to" S. Hiding application A may help,
but, after a few minutes, you will forget and begin operating A,
interfering with S. (Try quitting A before S is finished.) Again we
have a problem.
The only good solution to this is for script S to send a BUSY command
(to the System) that puts application A into busy mode. When S is
finished using A, it releases A from busy mode (default if S quits).
While A is busy, it belongs exclusively to S and A displays an
application modal progress wheel, indicating that neither you nor any
other application can use A. (And if you try to use A, you just get a
beep.) (I'm sure there are gory details involved, but being ignorant
of them, I can let my imagination wander into strange places. Someone
who does know the gory details will solve this problem.)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
Archives: http://lists.apple.com/archives/applescript-users
This email sent to email@hidden