[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