Next Prev Top Contents Index

Appendix E Liquid CLIM and Motif

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.

CLIM Gadgets and the Equivalent Motif Widgets

CLIM gadgets

Motif widgets

Other equivalent

N/A

climCascadeButton

 

push-button

climPushButton

 

toggle-button

climToggleButton

 

N/A

climMenuBar

:menu-bar option to define-application-frame

slider

climScale

 

scrollbar

climScrollBar

 

text-editor

climText

 

text-field

climTextField

 

N/A

climPopupMenu

 

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)

 


Common Lisp Interface Manager 2.0 User Guide - 14 Dec 2001

Next Prev Top Contents Index