[mcclim-devel] reinitializing panes

Andy Hefner ahefner at gmail.com
Thu Feb 15 00:57:01 UTC 2007


On 2/14/07, Christophe Rhodes <csr21 at cantab.net> wrote:
> A question came up on #lisp yesterday: essentially, it asked how to
> dynamically change the contents of a pane, in a similar way to
> changing layouts of a frame.

Apologies if I'm sending this twice, as gmail freaked out the first time around.

In the method browser example, I use sheet-adopt-child for this. (setf
sheet-children) isn't in the spec, but seems like it should be the
natural way to change all of the children. McCLIM has such a function,
but it is not useful to user code, because (at least for the box
layout panes) part of the magic is attached to sheet-adopt-child such
that even explicitly following (push new-child (sheet-children
a-box-or-rack-pane)) with (reorder-sheets ..) doesn't make the new
child appear, despite now appearing in the list returned by
sheet-children.

Incidentally, your approach of using reinitialize-instance is an idiom
I was not familiar with.



More information about the mcclim-devel mailing list