Re: PV-WAVE widgets [message #605] |
Thu, 07 January 1993 10:35  |
joslyn
Messages: 3 Registered: March 1992
|
Junior Member |
|
|
In article <6JAN199316245880@stars.gsfc.nasa.gov> thompson@stars.gsfc.nasa.gov (William Thompson, code 682.1, x2040) writes:
> In article <1993Jan6.175820.21889@news2.cis.umn.edu>, patel@sparky.drad.umn.edu (8-)) writes...
>> I was wondering if someone out there can summarize the pros and cons
>> of IDL and WAVE widgets.
Sure, IMHO...
I have used both the IDL widgets and the new (version 4.01) PV-WAVE widgets
for creating sizable applications, and think that WAVE widgets are much
better for creating big and involved applications because of its similarity
to X programming. Below is a biased (because I like WAVE widgets) summary
of both. It has been probably close to a year since I've used IDL widgets,
so I welcome any corrections.
Widgets
-------
The new PV-WAVE widgets gives the user access to all the motif and openlook
widgets (this includes things like the file open dialogs, selection lists,
and all the convience routines given to any "normal" motif or openlook
programmer), whereas IDL widgets only supply a limited set of widgets (as
Bill pointed out). The IDL widgets include base windows, buttons, radio
boxes, drawing windows (which is the IDL 'window'), sliders, text boxes,
labels, and lists.
Interfaces
----------
IDL's interface to their widgets consists of a number of WIDGET_* (BASE,
BUTTON, LIST, TEXT, INFO, etc) where the different options are passed
in as parameters and keywords. This type of simplified interface is well
suited for people who are not familiar with X (or some other kind of GUI
interface) programming. The learning curve for those folks may be a bit
faster, but I can't be positive since I wasn't new to GUI programming
when I used either of them. On the other hand, another reason I liked
WAVE widgets, is because the interfacing routines were very, VERY similar
to the C calls needed to create the same thing. Being very similar means
that most routines like XtCreate() are WtCreate() and take basically the
same parameters. However, this doesn't mean that it is like programming
in X. A number of convience routines, Ww*() routines, provide methods
for initializing the X server, creating pop-up message boxes, etc.
Event Handling (& callbacks)
----------------------------
Probably the best thing about the WAVE widgets over the IDL widgets is
the event handling capabilities. IDL provides the user with a single
routine where all events (and callbacks) are sent. The user must then
parse the event through a huge CASE statement. This can generate some
pretty ugly looking code if the application gets big enough. However,
WAVE widgets provides methods to add any number of real X callbacks
and event handlers to any widget and associate it to any any user
written routine. This, along with having access to all the widgets,
is probably the biggest winning point for WAVE.
- Christopher (joslyn@cs.Colorado.EDU)
--
----- Purgamentum Init, Exit Purgamentum ------------------------------------
Christopher M. Joslyn Voice - (303) 449-5497
University of Colorado - Boulder joslyn@spot.Colorado.EDU
Computer Science//CB 430//80310
|
|
|