Next Prev Up Top Contents Index

6.3 Swapping panes and layouts

The class switchable-layout is useful when your interface has several panes of which exactly one should be visible at any time. The class tab-layout provides similar functionality in a Window-system specific way. See Advanced pane layouts

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 (layout-description layout)) 
 (element-interface layout))

To change the panes within a layout, or merely permute them, 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)
 (reverse (layout-description layout)) layout)

LispWorks CAPI User Guide (Unix version) - 11 Sep 2003

Next Prev Up Top Contents Index