From: wade@cs.utk.edu (reed wade)
Newsgroups: fj.mail-lists.x-window
Subject: Wcl - get it - summary
Date: 17 Nov 92 22:11:29 GMT
Distribution: fj
Organization: Univ of Tennessee, Knoxville, Dept of Computer Science

Date: 9 Nov 92 22:59:43 GMT
Message-Id: <lftravINNbbf@utkcs2.cs.utk.edu>
Newsgroups: comp.windows.x



This is the summary of responses I got from my inqury regarding
the usefulness of Wcl for large projects.

If the responses I got (and my own experiences) are any indication,
Wcl is the way to go and you will be very happy if you try it out
for a few minutes. Also, it appears that not a large number of people
are using Wcl. 

If you aren't already familiar with it, Wcl is a UI builder/prototyping
tool. It isn't a point and shoot environment instead it is a set 
of libraries which allow widget instantiation and callback control
(and more) via application resources. It's a breath of fresh air from
XtVaCreateManagedWidget, et al.

-reed


> Hi,
> 
> I'd like to hear from people who have used Wcl.
> 
> Any experiences regarding portability, hidden limitations,
> performance problems, or even good things would be appreciated.
> 
> In particular, I'd like to hear from anyone who has used Wcl
> for any large project.
> 
> If there is interest I will summarize to the net.
> 
> Thank you,
> Reed Wade
> wade@cs.utk.edu

------- Responses I received. -------

From: jonabbey@cs.utexas.edu (Jonathan David Abbey)
Organization: CS Dept, University of Texas at Austin

Hi, I'm using Wcl for a smallish project.. between 3 to 4 thousand
lines of C code, 680 lines of widget resource definitions.  The
project is a neural network simulator, and I use label widgets to
display bitmaps which I generate and attach to the label widget with
XtSetArg.  I have several control panels that I manage and unmanage,
effectively using a portion of my window for various controls
according to what mode button the user has pressed.  The manage and
unmanage behavior is specified entirely in the widget resource file
using Wcl standard callbacks.  The actual simulation operates as an
XtWorkProc.

Minor problems:  since I place several different control boxes in
alternation in the same screen real estate, I have to have the largest
control panel managed at start-up time so that the main window will be
the right size.  

In general, I've been very pleased with my decision to use Wcl.  I'm
not doing anything tricky with menus or scroll bars or any likesuch
things, though.  I do find that the whole Xt callback paradigm is
pretty frustrating and inflexible.  If I had it to do over again, I
would use C++ and perhaps InterViews rather than C and Wcl.  But that
may be due to the nature of my needs in developing a research
simulator.

I haven't noticed any performance problems, although the initial start
up time of the application is quite noticeable.

Please do summarize to the net.

Jonathan

-- 
Jonathan Abbey                               jonabbey@cs.utexas.edu
the university of texas at austin             --------------------
computer science/math/psychology    -- Oh, my.. life is just so.. you know.. --




From: meajjk@Skferc.NL

I've been playing with Wcl for some months now. It's a nice package
and very userfull for me because I work on Sun/OS, HP-UX and Domain-OS.
So portability isn't a problem. It is pretty simple an straight forward
in use once you have learned it. That's also a big con, it is has a very
steep learning curve (I saw someone call it a learning cliff) That is partly
caused by the lack of documentation. I heard that a postscript formatted
manual is under way but I haven't seen it yet. 
All in all I am pleased with it although it never come near something
like UIMX or TeleUse, but those cost >$5000.-- and Wcl is $0.00.

I hope this is what you wanted, if not then just drop a mail.

Met vriendelijke groeten

Jan Jitze Krol
jitze@mc.bio.uva.nl
meajjk@skferc.nl



From: Jack Moskowitz <jackm@sparrow.pica.army.mil>

I use Wcl and absolutely LOVE it.

Jack Moskowitz
ARDEC
PA&TD-92
Picatinny Arsenal, N.J. 07806-5000
<jackm@pica.army.mil>




From: jwer@phoenix.az.stratus.com (justin werner)

I really haven't used it much yet (my copious spare time is not at  
copious as it once was), but it is VERY easy to port and use.  It  
stacks up very well against UIL and can, of course, be used on  
different Widget sets.  Performance-wise, I think that it is  
comparable to a binary: the real overhead in X is server performance  
and network traffic.  The slowdown from being interpreted is  
negligable.  And finally, my unscientifc endorsement: 'it's way  
cool!'

BTW, Wcl is really small, only a couple of thousand lines of source.

--
_________________________________________________________
justin werner    sw sys eng    stratus computers, inc.
jwer@benson.az.stratus.com
justin_werner@vos.stratus.com

My opinions are my own... and variable.
(Isn't neuro-chemistry amazing?)



From: greg@thirdeye.com (Greg Holmberg)

How large is large?  I use Wcl to implement the GUI for Third Eye's
product, a text retrieval system.  There's about 120,000 lines in our
source files, and about 300 widgets in the UI, all created from an
app-defaults file using Wcl.  We do not use Wcl just to prototype; we
are shipping our product with the creation done through Wcl.  I've been
using it for about 8 months.

I don't know about portability, I've only ever used it under SunOS
4.1.1, and two X servers: vanilla X11R5 and Sun OpenWindows 3.  Being
built on top of libXt though, I'm sure it's quite portable.  Of course,
the Wcl-related lines you enter in the app-defaults file are just ASCII
text that gets interpreted, so that's completely portable.

Limitations?  I haven't yet wanted to do something in Wcl that I
couldn't.  I'm using 1.06.  Version 2.? is out and has many more
features, I'm told.  1.06 is enough for my purposes though.

Performance:  I've had no problems here.  Wcl is only involved in the
creation phase; it has no effect on the performance of the application
after startup.  I haven't tried to recode my application to do widget
creation in C, but start up time has been about the same as for other
Motif applications.  Even without Wcl, most (or all) of your resource
settings should be in the the app-defaults file anyway, so retrieving a
few more lines to specify the creation is a minor overhead.  The great
majority of the start up time is in the Xt and Motif C code anyway; Wcl
doesn't make that any worse, really.  In fact, since it is smart about
managing all children at once, and since most resources get set during
creation instead of after (due to being in the app-defaults file
instead of in C), startup may be _faster_ in some cases.

Basically, I love Wcl.  I would never go back.  I even don't see the
need for one of those WYSIWYG interactive builders, since I've got
Wcl.  I can just edit my app-defaults file, and rerun the executable
(no relink) to see the new widgets.  With a builder, after prototyping
you generate the code, at which point you have to ask, if this is not
the original phase (i.e. this is a maintenance modification), how do
you not detroy your old code and comments?  With Wcl, you're just done;
no mess.

Further, since everything's in the app-defaults file, you allow on-site
greater customization of the app.  The only things in the executable
are the callbacks.  You could even create variations on your
application by just supplying different app-defaults files, but a
single executable!

Get it, you'll be happy you did.
-- 


Tsch|_,


Greg Holmberg

Third Eye Software, Inc.                415/321-0967 Voice
750 Menlo Avenue, Suite 300             415/321-2066 Fax
Menlo Park, CA  94025                   greg@thirdeye.com