To change to another layout, use (setf pane-layout)
:
(setf layout
(capi:contain
(make-instance 'row-layout
:description
(list (make-instance 'title-pane :text "One")
(make-instance 'title-pane :text "Two"))
:visible-min-height 100)))
(apply-in-pane-process
layout #'(setf pane-layout)
(make-instance 'column-layout
:description
(list (make-instance 'title-pane :text "Three")
(make-instance 'title-pane :text "Four")))
(element-interface layout))
To change the panes within a layout, use (setf layout-description)
:
(setf layout
(capi:contain
(make-instance 'row-layout
:description
(list (make-instance 'title-pane :text "One")
(make-instance 'title-pane :text "Two"))
:visible-min-height 100)))
(apply-in-pane-process
layout #'(setf layout-description)
(list (make-instance 'title-pane :text "Three")
(make-instance 'title-pane :text "Four")
(make-instance 'title-pane :text "Five"))
layout)
Note: A CAPI layout must not reuse panes that are already displayed in another layout.
CAPI User Guide and Reference Manual (Macintosh version) - 3 Aug 2017