[1293] in linux-announce channel archive

home help back first fref pref prev next nref lref last post

Xbae-4.3 released

daemon@ATHENA.MIT.EDU (Lars Wirzenius)
Tue Nov 7 13:20:40 1995

Date: Mon, 6 Nov 1995 21:52:36 +0200
From: Lars Wirzenius <wirzeniu@cc.helsinki.fi>
To: linux-announce@vger.rutgers.edu
Reply-To: linux-announce-owner@vger.rutgers.edu

From: lister@frost.bain.oz.au (Andrew Lister)
Subject: Xbae-4.3 released
Reply-To: lister@bain.oz.au
Return-Receipt-To: lister@bain.oz.au
Approved: linux-announce@news.ornl.gov (Lars Wirzenius)
Newsgroups: comp.os.linux.announce
Followup-to: comp.os.linux.x
Organization: ?

-----BEGIN PGP SIGNED MESSAGE-----


Xbae version 4.3 has been uploaded to

ftp.x.org://contrib/widgets/motif/Xbae-4.3.tar.gz

If you are on the mailing list, it can also be retrieved by sending
mail to xbae-request@bain.oz.au, with Subject: set to "archive".  In the
body of the message put

	get Xbae-4.3.README
	get Xbae-4.3.tar.gz


Here is the README file:


Xbae Library version 4.3
- ------------------------

NOTE: There have been a number of changes from the previous release.
Please ensure you read this file thoroughly!  The XbaeMatrix manual
page should also be up to date so have a good read of this too.

See the INSTALL file for installation procedure.

Once again, comments, questions, bugs & postcards can be directed to
Andrew Lister (lister@bain.oz.au).

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.


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

* Added an XbaeVersion to Matrix.h.  The value for this is calculated in a way
  similar to how Motif does it:

	#define XbaeVERSION       4
	#define XbaeREVISION      3
	#define XbaeVersion (XbaeVERSION * 1000 + XbaeREVISION)

  This brings another header file into the release - patchlevel.h.

* Merged in another patch from Jay Schmidgall that added the resources
  XmNcellShadowTypes, XmNcellUserData, XmNclipWindow, XmNcolumnShadowTypes,
  XmNcolumnUserData, XmNrowShadowTypes, XmNrowUserData and XmNtextField.
  Also some more public functions to manipulate the data.
  See the manual page for more information on these.

* Also added two more demo programs from Jay, fifteen and select-push

* Added row and column label colour resources (suggested by Adam Kerrison,
  Adam.Kerrison@micromuse.co.uk)

* Merged in a patch from Jason Smith <js81736@internet.sbi.com>
  that allows the Matrix to be compiled using Sunos 4.1.x Openwindows 3.0
  and Motif 1.1.x

* Removed the line in SetValues() that resets the scrollbar to 0 when
  the Matrix is redrawn (suggested by Adam Kerrison also)

* Added more public routines: XbaeMatrixIsRowSelected(),
  XbaeMatrixIsColumnSelected(), XbaeMatrixIsCellSelected(),
  XbaeMatrixFirstSelectedRow(), XbaeMatrixFirstSelectedColumn(),
  XbaeMatrixFirstSelectedCell(), XbaeMatrixYToRow(), XbaeMatrixXToCol()
  Suggested by Adam Kerrison.

* Fixed a bug with XmNtopRow and XmNleftColumn, found by Lori Corbani
  (lec@informatics.jax.org)

* Fixed a bug that caused the selectedCells resource to not be updated if
  a row or column was not visible. Pointed out by Jay Schmidgall.

* Added some new public functions - XbaeSelectAll() - to select all the
  cells in the matrix which XbaeGetNumSelected() which returns the number
  of selected cells in the matrix.  This value is updated dynamically to
  prevent traversing the entire matrix.  Suggested by Eric Bruno
  (bruno@nsipo.arc.nasa.gov)

* Looked some more into drawing a pixmap in a cell.  Had it working but
  decided that the method originally inspired by Kevin Brannen was less
  than satisfactory and needs to be rethought.  The current idea is to
  allow a user defined widget, whether it be a label, togglebutton, etc.
  widget, to be drawn in a cell.

* Added the XDesigner contribution from Eric Bruno (bruno@nsipo.arc.nasa.gov)

* The user can now dynamically change the width of a column by using the
  Shift Key and middle button and dragging the column to a new position.
  A column cannot be resized to less than one character.

* Added the Rogue Wave View.h++ contribution from Mark Steckel
  (msteckel@aracada.com)

* Added a resizeCallback called when the matrix is resized so columns
  can be adjusted, etc.  Patch from Mark Steckel.

* Removed the losingFocusCB that was added in 4.0 as it was causing problems
  and the overhead was not necessary, particularly in the case of a very
  lengthy leaveCellCallback routine.

* Changed the default value for XmNspace to 4, rather than 6 as suggested by
  Mike Perik <mikep@crt.com>

* Jay Schmidgall continued his work on the widget to provide us with:
  o	{Un}Highlight{Cell,Column,Row,All} routines
  o	XmNhighlightedCells to go along with the highlight routines
  o	ProcessDrag() routine - bound to Btn2Down to match Motif.
  o	XmNprocessDragCallback
  o	XmN{vertical,horizontal}ScrollBarDisplayPolicy
  o	XmNfill to make the matrix fill the available form.
  o	ResizeColumns reworked to draw across various portions of
  	the matrix's display
  o	allow zero rows and columns
  o	allow visible rows,columns > #rows,columns for sizing purposes
  o	XbaeMatrixNum{Rows,Columns} routines
  o	XbaeMatrix{En,Dis}ableRedisplay routines
  	This is typically most effective when the enable is called
  	just after an XmUpdateDisplay(), at least so I've found.

  Plus a new demo program, "list", that emulates a motif list widget with
  the added advantage of th matrix widgets resource.  The choice program
  was also enhanced.

* Split up more source files to provide Draw.c and Shadow.c so as
  to keep the size of files down to a minimum.

* Added editres capability to all demo programs and cleaned up most
  compilation warnings.

* Modified the Xbae.tmpl to allow a few more configurable options related
  to resizing columns on the fly

* Changed all example program resource files to be the class name of the
  demo.  Now, to run a program something like setenv XAPPLRESDIR . and
  then the program should suffice.

* Reworked the drawing of the resize columns.

* Removed the allocation of cells, selected cells and highlighted_cells
  when the matrix is initialised.  For very large (and I'm talkin' very)
  matrixes, the memory consumption is quite considerable.  A caveat of
  this feature is, if there is no drawCellCallback, memory for the
  above resources is allocated when one of the values changes.
  Pointed out by Daiji Takamori (daijit@std.teradyne.com).

  IMPORTANT:  This feature may cause an application to crash if
  the selected_cells, highlighted_cells or cells is dereferenced
  before being initialised.  Please check the value of the pointer in
  all callbacks.  The functions similar to XbaeMatrixIsCellSelected()
  should probably be used rather than mucking around with matrix
  internals.

* Realised that when using the drawCellCallback, there is no method to
  actually edit the data in the cell and commit these changes.  And
  thus was born the writeCellCallback which should be defined for an
  editable matrix that is drawn using the drawCellCallback.  Failure
  to do so will result in a warning message.  The writeCellCallback
  is called from the set cell action and all normal callbacks (leave, etc)
  are called along the way.

* Checked on quite a few other implications of the drawCellCallback and
  corrected where appropriate.

* Implemented the drawing of Pixmaps in cells via the XmNdrawCellCallback.
  See the "draw" demo program for an example.  I don't really know what
  people expect to achieve by using this functionality.  If you are one of
  those people who intend to use it, please let me know the details.

  I would still like to implement the idea described above about allowing
  any widget to be drawn into a cell.  Maybe in the next release!

* Added the demo program "draw" that demonstrates the drawCellCallback,
  and writeCellCallback and pixmaps in cells.

* Updated the manual page for XbaeMatrix with Jay Schmidgall updating
  the changes that he made.

- -- 
Andrew Lister                                      Phone: +61 2 258 1757
DB Bain Group Services                             Fax:   +61 2 258 1000
lister@bain.oz.au                        The opinions expressed are mine
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Maintainer of the Xbae Widgets --> Mail xbae-request@bain.oz.au for info

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2i

iQCVAwUBMJ5l8YQRll5MupLRAQFBSQP/bFW/P1tH20GkSbnIsZg8Yg2FG2hqs+Jp
dkd2dKGmstDKl1AaJGu/Z3ZKVKKY875JdKQvzTcxidL2y/renB96lseSLSWcA96y
9a/ruaG8b72XPEzo4WfIHPvE8TNbVpYkerJ6wPWau58ulaVy0VunvSlkl0bdapKk
kKghjLVlK7I=
=BzGY
-----END PGP SIGNATURE-----

-- 
This article has been digitally signed by the moderator, using PGP.
Finger wirzeniu@kruuna.helsinki.fi for PGP key needed for validating signature.
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember a short description of the software and the LOCATION.


home help back first fref pref prev next nref lref last post