[mcclim-devel] problems with the implementation of the layout protocol

Robert Strandh strandh at labri.fr
Sat Feb 19 08:27:41 UTC 2005


Hello everyone,

As far as I can tell, there are two major problems with the current
implementation of the layout protocol:

  * First, compose-space and change-space-requirements have :before,
    :after, or :around methods that are essential for the
    implementation to work.  The consequences of this way of doing it
    (it seems to me) is that client code that wishes to change the
    default behavior or override it in subclasses of standard CLIM
    layout panes cannot do so without being aware of the existence of
    these methods. 

  * Second, change-space-requirements always calls itself on the
    parent pane.  However, the definition of the restraining-pane is
    that it should stop propagation of change-space-requirement.
    After discussions with Andy Hefner, we conclude that
    change-space-requirement should call
    note-space-requirement-changed, which in turn calls
    change-space-requirement on its parent, unless overridden. 

These points make it hard to implement the restraining pane, which is
probably why it is not implemented, even though it ought to be fairly
easy. 

-- 
Robert Strandh

---------------------------------------------------------------------
Greenspun's Tenth Rule of Programming: any sufficiently complicated C
or Fortran program contains an ad hoc informally-specified bug-ridden
slow implementation of half of Common Lisp.
---------------------------------------------------------------------



More information about the mcclim-devel mailing list