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 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.