Previous: Space allocation, Up: Layout protocol
The purpose of the change-space notification protocol is to force a
recalculation of the space occupied by potentially each pane in the
pane hierarchy. The protocol is triggerred by a call to
note-space-requirement-changed
on a pane P. In McCLIM, we
must therefore invalidate the stored space-requirement value and
re-invoke compose-space
on P. Finally, the
parent of P must be notified recursively.
This process would be repeated for all the panes on a path from P
to the top-level pane, if it weren't for the fact that some panes
compute their space requirements independently of those of their
children. Thus, we stop calling note-space-requirement-changed
in the following cases:
restraining-pane
,
top-level-sheet-pane
, or
:width
and
:height
In either of those cases, allocate-space
is called.