moses@hao.ucar.edu (Julie Moses) (10/30/90)
I have a program in which one of the dialogue boxes are handled without using form_do(). Yes, form_do() is the easiest way to handle dialogue boxes but I am doing some trickier things than what form_do() can handle. Problem - If I depress the mouse button outside the dialogue box which is being handled without form_do() and atop the slider bars, or GEM dropdowns (anything GEM itself is taking care of through evnt_messages), it locks up the program completely; only the mouse can move yet do nothing. Ques. -How is it I can disable GEM so that this will be prevented while I am using this dialogue box? Thanks, J.Moses
csbrod@medusa.informatik.uni-erlangen.de (Claus Brod ) (10/30/90)
moses@hao.ucar.edu (Julie Moses) writes: >Problem - If I depress the mouse button outside the dialogue box >which is being handled without form_do() and atop the slider bars, >or GEM dropdowns (anything GEM itself is taking care of through >evnt_messages), it locks up the program completely; only the mouse >can move yet do nothing. Use wind_update(BEG_UPDATE) and wind_update(END_UPDATE) to prevent the AES screen manager from taking care of menus and the like while you are doing your dialog tricks on the screen. This hint is valid for any situation where you are doing something on the screen (VDI calls, but objc_change() calls also). ---------------------------------------------------------------------- Claus Brod, Am Felsenkeller 2, Things. Take. Time. D-8772 Marktheidenfeld, West Germany (Piet Hein) csbrod@medusa.informatik.uni-erlangen.de ----------------------------------------------------------------------
mui@atari.UUCP (Derek Mui) (11/01/90)
in article <8978@ncar.ucar.edu>, moses@hao.ucar.edu (Julie Moses) says: > > > I have a program in which one of the dialogue boxes are handled > without using form_do(). Yes, form_do() is the easiest way to > handle dialogue boxes but I am doing some trickier things than > what form_do() can handle. > > Problem - If I depress the mouse button outside the dialogue box > which is being handled without form_do() and atop the slider bars, > or GEM dropdowns (anything GEM itself is taking care of through > evnt_messages), it locks up the program completely; only the mouse > can move yet do nothing. > > Ques. -How is it I can disable GEM so that this will be prevented > while I am using this dialogue box? > > > Thanks, > > J.Moses Use the wind_update( TRUE ) in the beginning of your function and use wind_update( FALSE ) at the end of it. ================================================================== Derek Mui, Atari Corp, 1196 Borregas Ave, Sunnyvale, CA 94086 UUCP: {..ames!atari!mui} Disclaimer: Opinions expressed here are my own and they may be hazardous to your mind. ==================================================================
moses@hao.ucar.edu (Julie Moses) (11/01/90)
> > I have a program in which one of the dialogue boxes are handled > without using form_do(). Yes, form_do() is the easiest way to > handle dialogue boxes but I am doing some trickier things than > what form_do() can handle. > > Problem - If I depress the mouse button outside the dialogue box > which is being handled without form_do() and atop the slider bars, > or GEM dropdowns (anything GEM itself is taking care of through > evnt_messages), it locks up the program completely; only the mouse > can move yet do nothing. > > Ques. -How is it I can disable GEM so that this will be prevented > while I am using this dialogue box? > Several people sent me private mail and altogether I was directed to using wind_update() with the parameters BEG_MCTRL and END_MCTRL. I am familiar with the parameters BEG_UPDATE and END_UPDATE but had not tried the other pair due to the lack of information on the differences in their function. As you might already know AES is multi-tasking - it handles the GEM window and menu in conjunction with the functions built into ones program. BEG_MCTRL (and END_) disables the AES more than BEG_UPDATE; it prevents any dropdown, slider bar or window button from being controlled by the AES. If you use BEG_MCTRL then there is no need to also call wind_update with the parameters BEG_UPDATE (END_); the former is a superset of BEG_UPDATE functionality. Case closed. FYI. Thanks. J.Moses