Re: IDL widgets: comments and questions [message #3841 is a reply to message #3752] |
Wed, 15 March 1995 08:05   |
steinhh
Messages: 260 Registered: June 1994
|
Senior Member |
|
|
I'll only comment on the points that I'm qualified for:
In article <3k5jh1$7rb@testnews.ll.mit.edu>, knight@ll.mit.edu (Fred Knight)
writes:
|> 1.
|> I wanted to add a title to each draw widget. The title keyword appears only
|> in widget_base. I finally used the title keyword on my plots. I'd still
|> like to add titles to other widgets.
Well, you could always have a Widget_LABEL centered on top of any draw
window you like. You could even select a special font to make sure it
looks like a "title". It would not be erased by erasing the plot, but
you could change it whenever you like.
|> 7.
|> Some recent comments have praised the availability of the uvalue. I, too,
|> use it for controlling actions in widget_control. However, I still use
|> common blocks to pass most information. You can't pass the id of a widget
|> via the uvalue, and I need ids whenever I call widget_control for set_value
|> or get_value. So common still seems necessary, even though most information
|> could be passed in the uvalue.
|>
If you set it up correctly using a tree structure, you only need
one widget ID in order to find your information no matter how complex
your application is. The places where you have a legitimate
need for that ID is inside the event handler (or routines called by the
event handler). And in the event handler, you do have EVENT.TOP
(and even EVENT.HANDLER/EVENT.ID!). This, in combination with structure
variables as UVALUES, removes any need for common blocks in order
to pass data anywhere.
I'm still using some common blocks in my programs, but those are only
there to insure that information is never lost no matter how the
application crashes. Still, with the NO_COPY keyword, no data (of
any proportion) is ever stored twice. I never use common blocks in
order to pass information.
Stein Vidar
|
|
|