This appendix describes how the current version of Liquid CLIM uses the Motif toolkit.
CLIM versions of resource names have been added to the normal Motif widgets. (Note that Motif resources are completely unrelated to the Lisp resource utility described in Appendix C.1.) You should be able to set all their standard, documented Motif resources unless those resources are overridden by a conflicting CLIM initarg (for example, :text-style
). Table 6., CLIM Gadgets and the Equivalent Motif Widgets shows the equivalences between the CLIM gadgets and Motif widgets.
A few general restrictions affect the Motif resource specification:
Liquid CLIM 2.0 does not implement any "container" widgets.
Liquid CLIM 2.0 only supports the widgets that correspond to the "gadgets" listed in the CLIM specification.
Liquid CLIM 2.0 only supports the make-pane initargs that correspond to resources listed in the CLIM specification.
Here is a sample widget frame:
(define-application-frame resource-test () ()
(:menu-bar nil)
(:pane
(vertically
()
(make-pane 'text-editor
:height 100
:value "Edit moi!")
(bordering (:thickness 10)
(make-clim-interactor-pane
:scroll-bars :vertical))
(bordering (:thickness 6))
(horizontally
()
(make-pane 'push-button
:label "Press me"
:show-as-default-p t
:activate-callback
#'(lambda (gadget) (print gadget))
:text-style
(make-text-style :serif :roman 16))
(make-pane 'toggle-button
:label "Choose me"
:indicator-type :one-of
:value t
:value-changed-callback
#'(lambda (gadget val) (print val))
:text-style
(make-text-style :sans-serif :bold :small))))
(make-pane 'slider :label "Sliiide" :show-value-p t)))
(setq rt (make-application-frame 'resource-test :width 400 :height 400))
(enable-frame rt)