
10.5 Gadgets
Note that many of the functions in the output record protocol must correctly manage the case where output records contain gadgets. For example, (setf output-record-position) may need to notify the host window system that the toolkit object representing the gadget has moved, window-clear needs to deactive any gadgets, and so forth.
&rest options)&body body
(with-output-as-gadget
(stream)
(let* ((radio-box
(make-pane 'radio-box
:client stream :id 'radio-box)))
(dolist (item sequence)
(make-pane 'toggle-button
:label (princ-to-string (item-name item))
:value (item-value item)
:id item :parent radio-box))
radio-box))
(with-output-as-gadget
(stream)
(make-pane 'push-button
:label "Click here to exit"
:activate-callback
#'(lambda (button)
(frame-exit (pane-frame button)))))

Generated with Harlequin WebMaker