Xbae Library version 4.4
------------------------

See the INSTALL file for installation procedure.

Once again, comments, questions, bugs & postcards can be directed to
Andrew Lister (lister@bain.oz.au).  If you want to send me a postcard,
email me for the address!

For those of you not already on the mailing list and would like to subscribe,
send mail to

        xbae-request@bain.oz.au

with "subscribe" in the Subject: field.

If you would like to be a part of the beta testing, send mail to

	xbae-beta-request@bain.oz.au

with "subscribe" in the Subject: field.


What the widgets do:
--------------------

 XbaeMatrix:

   XbaeMatrix is a Motif widget which presents an editable array of
   string data to the user in a scrollable table similar to a
   spreadsheet. The rows and columns of the Matrix may optionally be
   labeled. Also, a number of "fixed" leading rows or columns may be
   specified - these behave similarly to the labels. While XbaeMatrix
   looks and acts like a grid oF XmTextField widgets, it actually
   contains only one XmTextField.  This means that XbaeMatrix widgets
   with hundreds or thousands of rows have much less overhead than they
   would if they used an XmTextField for each cell. XbaeMatrix has
   callbacks for doing field validation and customizing traversal. It
   allows cells to be assigned independent colors.  It allows rows,
   columns and regions of cells to be selected (highlighted).  The matrix
   can be dynamically grown or shrunk by adding and deleting rows and
   columns at any position.

 XbaeCaption:

   XbaeCaption is a simple Motif manager widget used to associate an
   XmLabel (caption) with it's single child. The label may be either an
   XmString or Pixmap and can be displayed in any one of twelve positions
   around the perimeter of the child. XbaeCaption's geometry management
   technique is to simply "shrink wrap" it's child and display the
   caption alongside it.  By using XbaeCaption with an XmFrame child,
   groups of related widgets can be labeled similarly to the IBM CUA
   "Group Box", but with more flexibility.  XbaeCaption is also useful
   for associating labels with individual XmTextField widgets.

Changes in 4.4
--------------

* Merged in a patch from Martin Helmling (mh@c3i.sel.de) that
  allows cells and pixel tables to be specified in a resource file. The
  matrix example (although too colourful and ugly!) demonstrates the
  possibilites.

* Added a new directory (vmsstuff) that contains the necessary files
  for compilation on VMS.  Courtesy of Vince Li (vli@mpr.ca)

* Fixed a bug found by Andrew Reid (areid@bain.oz.au) that caused
  problems with using XtVaSetValues() on XmNcolors and XmNcellBackgrounds.
  Optimised much of the code handling these settings too.

* Fixed a bug that caused cells not to be drawn even though they were
  visible.  Unearthed by Donato Petrino (dp@rtsffm.com)

* Added support for colour pixmaps to be displayed. flavius@sed.psrw.com
  suggested this change and also modified the "draw" demo to make use of it.
  NOTE: For the draw demo to display colour pixmaps, you should define
  HaveXpm in Xbae.tmpl.  That is, of course, if you have it!  The need for
  returning the width and height of the pixmap to the widget has also been
  removed.  Invaluable help on masks was provided by Adam Kerrison
  (adam@micromuse.co.uk)

* Patched in and modified a resizeColumnCallback from Alexander Ivanov
  <avi@elais.physics.ox.ac.uk>  Refer to the man page for information.
  The new callback allows processing to be done after the columns
  have been resized.  The add example uses this callback to achieve some 
  pretty funky results!

* Patched in some work done by Dirk Vangestel (gesteld@sebb.bel.alcatel.be)
  to allow scroll bars to be placed in different locations, similar to a
  Motif scrolled window.  The new resource, XmNscrollBarPlacement
  behaves exactly the way the resource for XmScrolledWindow does and
  accepts the same values.  Dirk also modified the choice program to
  show off the new behaviour.

* Rewrote (with permission from ICS) a wml file for use with the ICS Builder
  Xcessory GUI builder and the current version of Xbae.  It can be
  found in the contrib subdirectory.  As I no longer have a copy
  of Builder Xcessory, it will be difficult to maintain.  The file
  can (probably) also be found at ftp.ics.com in
  /pub/Products/ToolsAndTricks/BxXbae.tar.gz.  I would expect that the
  other files in the contrib directory may now be out of date also.

* Changed the Imakefile to install Xbae as Xbae-$(VERSION) and make a
  symbolic link.  For those who have production environments, this should
  help in rebuilding with previous versions of the widgets - suggested by
  Ross Milward (rossm@bain.oz.au)

* Tracked down a bug in xbaeComputeCellColors() that incorrectly calculated
  the colour value _if_ the colour had a pixel value of zero (typically white
  in the colourmap)

* Added in a fix from Philip Aston (philipa@parallax.co.uk) to "fix a
  duff calculation of the selected column in a fixed row".

* Changed the XbaeMatrixEnterCellCallbackStruct to include a new member
  called select_text.  By setting to True in the enterCellCallback, the
  text in the textField will be selected and deleted when the next
  insertion occurs.
