Problem with modal widgets [message #8995] |
Thu, 15 May 1997 00:00 |
David Foster
Messages: 341 Registered: January 1996
|
Senior Member |
|
|
This will either be a good puzzle, or a stupid question. Enough said.
I want to "truly center" a modal widget in the center of the screen,
meaning that you have to take into account the size of the widget
itself. Prior to IDL 5.0 I could do this by:
* create widget
* unmap widget
* realize widget
* use WIDGET_CONTROL, wid, TLB_GET_SIZE to get the size
of the widget, and calculate position accordingly
* use WIDGET_CONTROL, wid, TLB_SET_[XY]OFFSET to position widget
* map the widget
Now, with IDL 5.0, and after I obediently put the /MODAL keyword in
the WIDGET_BASE() call that creates the TLB instead of in the call to
XMANAGER(), I get a widget that displays once, then repositions
itself. This looks dorky, and I just can't have dorky programs!
The problem is that in IDL 5.0 you cannot map/unmap "real" modal
widgets (look at XMANAGER.PRO code and you'll see what I mean by
"real", as opposed to "fake" modal widgets created by using
XMANAGER, /MODAL).
And since you have to realize the widget before you can get the size
of it, I don't see a way around this problem. I could just leave
the MODAL keyword in XMANAGER, but then you get that error message
about an obsolete keyword, and our users will think I'm lazy or
something.
Thanks. -Dave
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
David S. Foster Univ. of California, San Diego
Programmer/Analyst Brain Image Analysis Laboratory
foster@bial1.ucsd.edu Department of Psychiatry
(619) 622-5892 8950 Via La Jolla Drive, Suite 2200
La Jolla, CA 92037
[ UCSD Mail Code 0949 ]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
|
|
|