SccsID: %Z% %M% %I% %E% %U%
Widget Creation Library Version 2.5 Distribution
------------------------------------------------
The distribution contains files which make up the Widget Creation
Library (Wcl or libWc.a), and resource interpreters and utility
libraries (which include Table widgets) for each of the following
widget sets: Athena, Motif, and OpenLook.
Wcl is completely widget set independent. It provides mechanisms to
allow an entire user interface to be specified in resource files.
Basically, this amounts to providing new resources for specifying the
types of the widgets and the widget heirarchy. In addition, Wcl
provides several callbacks and action functions which many programs
need.
See README20 for general information about Wcl version 2, and README22
for additional features introduced in Wcl version 2.2 and version 2.1,
and README23 for new features in Wcl 2.3, and README24 for new features
in Wcl 2.4.
New Features of Wcl 2.5
------------------------
This is the last Wcl release from Germany. Following this release,
I will again be supporting Wcl from JPL in Pasadena California.
Doc - A directory with two very simple tutorial text
files which give you hints on how to actually
develop a program and/or libraries using Wcl.
Some improvements were made, for example I
mention that non-visible appShells must have
non-zero sizes.
Mri/Imakefile - Has been enhanced to properly build a profiled
version of Mri. This is still labor intensive at
the Imake level, but it works (on SunOS at least).
WcPrint - It is now easy to override Wcl's default use of
stderr for printing all messages. You can provide
new, non-vargs replacements to print messages,
and messages with a "printf" like format string
which contains ONLY `%s' format characters. See
WcCreateP.h, look at the section beginning with
the comment "Override for Default Wcl Error Printing"
XmpAddActionsAndCallbacks
XmpAddConverters
XmpAddMotifConverters - These are called by XmpRegisterMotif(), but allow
applications to get just some of the Xmp things
without registering the Xmp and Motif widgets.
New Platform Support
--------------------
Interactive 3.0.1 - MakeByHand can be used to build the distribution
by using WcMake1.isc and WcMake2.isc, thanks to
J.J.Bailey (jjb@jagware.acco.com)
AIX and ESIX - You need to do a tiny bit more work, but I hope
everything you need for these platforms is in the
files by these names. These files were provided
by Klaus Kretschel <RZ13@dlrvm.bitnet> and
Dave Custer (ddc@druwa.att.com) respectively.
Sorry, but this distribution has NOT been tested on these platforms.
Next time...
Bug Fixes
---------
WcSetValues can now take empty resource values, like this:
*foo.activateCallback: WcSetValue(this.labelString:)
WcCvtStringToWidget Sometimes did not work when widgets were destroyed
because the R4 and R5 conversion cache was being
used, but not cleared (it only gets cleared when the
`this' widget gets destroyed, NOT when any named
widgets are destroyed). A new style converter is
now used on R4 and later builds to avoid this
problem. However, this means YOU may need to change
calls to XtAddConverter to be XtAddTypeConverter
if YOU register this converter function without
using Wcl or Xmp to do it for you.
WcLoadResourceFile no longer dumps core with multiple application
contexts.
WcName.c has been modified to use isspace(), isalpha() and
so on. This makes these routines portable across
character sets. A side effect of this is that
Constructors can now be specified in resource files
with trailing empty (ignored) parenthesis, like
callback procedures.
MapAg.c MapAg_Forget_Normal() had a bug detected by Purify.
Thanks, Ik Su Yoo (ik@mobydick.leis.bellcore.com)
WcTemplate Tracing Tracing now (again) works correctly.
Table Widget
------------
Table really works much better now. There was an annoying bug
where children which got managed and unmanaged multiple times
would slowly be squashed down to nothing. This was because I
tried to be very, very literal with my implementation of Xt
geometry management. See Xmp/TableLoc.c XmpTableLocPreferredWidth()
for a discussion of this point.
Unmanaged Tables (especially when children of popped-down Motif
dialog shells) now resize correctly when children resize.
A new set of resources sameWidth, sameHeight, sameBorder all of
class SameSize has been added. This causes the Table to try and
maintain the named widgets to be the same size when the table
does a new re-layout (due to shell resize, child resize, child
manage/unmanage, etc).
Table now completely forgets about destroyed widgets (it kept a
pointer to un-managed widgets in the default_layout location list,
and it now clears this out when children get destroyed).
Make and Imake changes for Clients
----------------------------------
Build Instructions
------------------
See README_BUILD for detailed instructions on how to build the
distribution.
If you are using imake, you MUST provide a Wc.tmpl file.
The distribution provides two versions of this file,
one of which may be exactly what you need:
Wc.tmpl.r5 Should work as-is with X11R5 from mit.
Wc.tmpl.irix Should work as-is on Irix (Silicon Graphics) machines with
SGI X (R4) and Motif installations.
If you are using make, you MUST look at WcMake1.tmpl and WcMake2.tmpl.
Again, a couple of different versions of these files are provided, but
you almost certainly must do something to make it build on your
platform.
WcMake1.tmpl These work on my machine
WcMake2.tmpl
WcMake1.svr4 These work on SVR4 machines with X11R4 and Motif 1.1,
WcMake2.svr4 and are used to make dynamic libraries.
WcMake1.svr4-a These work on SVR4 machines with X11R4 and Motif 1.1.,
WcMake2.svr4-a and are used to create static libraries.
WcMake1.sco These work on SCO Open Desk Top machines. Whew! Also,
WcMake2.sco installable man pages (*S.z, *C.z) are now provided.
WcMake1.isc These work on Interactive 3.0.1 machines,
WcMake2.isc thanks to J.J.Bailey (jjb@jagware.acco.com)
AIX What you need to know to build on AIX machines,
thanks to Klaus Kretschel <RZ13@dlrvm.bitnet>
ESIX What you need to know to build on ESIX machines,
thanks to Dave Custer (ddc@druwa.att.com)
Wcl has been built against Motif 1.2 and Xaw3d without any problems.
---------------------------------------------------------------------------
David E. Smyth David.Smyth@ap.mchp.sni.de
Object/X Researcher AP 154, Carl-Wery-Str 22, Munich 83 Germany
Research Grant provided by Esprit Investments Ltd,
major sponsor Siemens Nixdorf Informationssysteme AG