XbaeMatrix is a free Motif® table widget (also compatible with the free LessTif) 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 labelled. A number of "fixed" and "trailing fixed" rows or columns may be specified.

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 or highlighted. The matrix can be dynamically grown or shrunk by adding and deleting rows and columns at any position.
The widget has many resources to allow individual customisation and can be made to look and behave like an extended list widget with added functionality. Pixmaps (both colour xpm and standard bitmaps) can be displayed in individual cells with the callbacks available in the widget.

The file that is downloaded also contains the XbaeCaption widget which is a simple Motif manager widget that associates a label with a child.

In addition the XbaeInput widget is being distributed, a text input field that provides generic customised data entry and formatting for strings.

All those widgets are compatible with version 1.2 of Motif and above. They won't be supported for versions lower than X11R6 (please...) or any Motif release below 1.2.

Documentation

You can view the man pages converted to HTML for all three widgets:

- XbaeMatrix
- XbaeCaption
- XbaeInput

Screenshots of the demos included with XbaeMatrix

- add - dynamically adds and deletes rows or columns
- caption - Demonstrate XbaeCaption Widget
- choice - change the way the matrix looks on the fly
- colors - different foregrounds and backgrounds for cells
- draw - use of the draw cell callback for pixmaps and very large matrices
- fifteen - a working clone of the old puzzle game
- input - Demonstrate XbaeInput Widget
- list - how XbaeMatrix can be used to emulate an enhanced XmList widget
- matrix - displays variations of the labels
- multifixed - fixed and trailing fixed rows and columns
- select-push - what can be achieved with different shadows

Current objectives

Below is a list of things that crossed the mind as possible enhancements. Some of these range from the "doable" to useless to insane. Mentally, and now via this page, I keep a track of what is worth doing and what is not.

- Smooth vertical scrolling (more...)
- Cells with more than one line of text (more...)
- Different fonts in different cells (more...)
- Spannable cells (more...)

Download Xbae

You can download from the Xbae project page at SourceFORGE.net : http://sourceforge.net/project/showfiles.php?group_id=31337.

CVS

The sources for Xbae are kept in a CVS repository at SourceForge. The according page explains how to access those sources. There's also a browsable version available.

Join the mailing lists

Previously we used the LessTif mailing list for discussing Xbae. Now we make a new mailinglist available at http://sourceforge.net/mail/?group_id=31337. Please subscribe to it if you want to discuss usage and development of Xbae!

If you want to follow development in "real-time" you may want to subscribe to the Xbae-commits list which carries information about all changes applied to our public source repository.

If you have comments or suggestions, send us E-mail at xbae-discuss@lists.sourceforge.net

Latest change to this document : $Date: 2002/08/21 18:24:35 $