9.2 Defining CLIM Application Frames
The value of the :panes option is an alist, each entry of which is of the form (name . body). name is a symbol that names the pane, and body specifies how to create the pane. body is either a list containing a single element that is itself a list, or a list consisting of a symbol followed by zero or more keyword-value pairs. In the first case, the body is a form exactly like the form used in the :pane option. In the second case, body is a pane abbreviation, where the initial symbol names the type of pane, and the keyword-value pairs are pane options. For gadgets, the pane type is the class name of the abstract gadget (for example, slider or push-button). For CLIM extended stream panes, the following abbreviations are defined:
An example of the use of :panes is:
(:panes (buttons (horizontally () (make-pane 'push-button :label "Press me") (make-pane 'push-button :label "Squeeze me"))) (toggle toggle-button :label "Toggle me") (interactor :interactor :width 300 :height 300) (application :application :display-function 'another-display-function :incremental-redisplay t))The value of the :layouts option is an alist, each entry of which is of the form (name . layout). name is a symbol that names the layout, and layout specifies the layout. layout is a form like the form used in the :pane option, with the extension to the syntax such that the name of a named pane can be used wherever a pane may appear. For example, assuming a frame that uses the :panes example, the following layouts could be specified:
(:layouts (default (vertically () button toggle (scrolling () application) interactor)) (alternate (vertically () (scrolling () application) (scrolling () interactor) (horizontally () button toggle))))
Generated with Harlequin WebMaker