Mark Schonewille wrote:
Richard,

I use the suspend message to disable the menubar before the answer or ask dialog shows up. I have modified the ask and answer dialogs to send a resume message to the topstack when they close and enable the menubar again when the resume message is received. (No modification is needed to have the suspend message sent.)

Thanks for the input. For Rev-based sheets it's not been hard to determine when they're sheeted and adjust my menus accordingly.

The hard part is determining when a system dialog ("ask file" or "answer file") is a sheet over a Rev window. In such cases the menubar will need to be updated, and the mouseDown message is sent to the group as one would expect. But without a way to determine that the system dialog is up, I can't know whether to adjust the menus for a sheet or for a fully available document.

For the app I'm working on now I got lucky, since all places that bring up an "ask file" or "answer file" dialog do so by calling handlers in a centralized common library. So it was only a few minutes' work to modify those library handlers to set a flag before the dialog is called, and then clear that flag once the dialog is dismissed, a la:

   global gfwDialogMenuUpdateFlagsA
   put the short name of this stack into tStack
   put "true" into gfwDialogMenuUpdateFlagsA[tStack]
   ask file "Save document as:" as sheet
   put it into tFile
   put empty into gfwDialogMenuUpdateFlagsA[tStack]
   --- do save, etc.

Then in the UpdateMenubar handler triggered by a mouseDown in the menu group (and now in v2.8.1 also trigger by any attempt to use a keyboard shortcut -- THANK YOU RUNREV!), I just check that array and update the menus for sheet mode as needed.

Sure, it's a kludgy workaround, but it got me through the day.

Perhaps down the road the folks at RunRev might consider a new stack property which tells us when a stack is blocked by a sheet over it.

--
 Richard Gaskin
 Managing Editor, revJournal
 _______________________________________________________
 Rev tips, tutorials and more: http://www.revJournal.com
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to