CLIM mail archive


lack of :extend-width arg to clim:formatting-table

    Date: Thu, 2 Apr 1992 14:19 EST
    From: Meir Laker <>

    dw:formatting-table had an :extend-width arg which (if specified with
    value t) caused dw to space the table columns evenly over the full
    horizontal space available.  We used this for presenting dynamically
    growing tables (i.e., the number of columns changes) so that we didn't
    have to calculate the inter-column spacing on the fly as the table
    width grew and shrunk in order to keep the table spaced evenly across
    a window.

    This option seems to be missing from the clim version.  Am I expected
    to manage the inter-column spacing myself?  I would need to write my
    table to a helper stream, retrieve the size of its bounding rectangle
    apportion the remaining space amongst the current number of columns in
    the table, and finally write the table specifying a new inter-column
    spacing.  This seems like duplication of work that clim is already

    I notice that clim:formatting-item-list is documented with the above
    behavior by default (although I couldn't get it to work either with
    even the simple case:
       (clim:formatting-item-list (stream :n-rows 1
				   :stream-width (clim:stream-text-margin stream))
	   . . . . )   ).

    Nevertheless, I really need the behavior with a table of 2 rows as well.

Historical background: one very important thing for Genera users to
remember about CLIM is that CLIM is not, and is not intended to be, a
portable implementation of Dynamic Windows.  It is true that CLIM is the
intellectual successor to DW, but CLIM was designed from the ground up
based on our experiences with DW, but the DW code was not used as a
"reference document" for CLIM's code.  We explicitly avoided porting a
lot of the less frequently used things from DW to CLIM in order to keep
CLIM simpler than DW.  (Those of you who have never used Dynamic Windows
would probably be horrified at just how much more complicated DW is than
CLIM, given the complexity of CLIM.)

Anyway, :EXTEND-WIDTH is one of the many things that was thought to be
of limited utility, and was therefore omitted from CLIM.  If this is
critically important to you or is somewhat important to a larger group
of users, then it is probably worth doing.  Otherwise, this will have to
go on the back-burner for the time being until one of us has enough time
to do this as a hack-attack.  If you are interested in trying to extend
FORMATTING-TABLE in this way yourself, I would be happy to send you the
source code for it in exchange for whatever you come up with.


Main Index | Thread Index