Next Prev Up Top Contents Index

element

Class
Summary

The class element is the superclass of all CAPI objects that appear in a window.

Superclasses

capi-object

Subclasses

simple-pane
menu

Initargs

:parent

The element containing this element.

:interface

The interface containing this element.

:help-key

An object used for lookup of help. Default value t .

The following initargs are hints for the initial size and position of an element:

:x

The x position of the element in a pinboard.

:y

The y position of the element in a pinboard.

:external-min-width

The minimum width of the element in its parent.

:external-min-height

The minimum height of the element in its parent.

:external-max-width

The maximum width of the element in its parent.

:external-max-height

The maximum height of the element in its parent.

:visible-min-width

The minimum visible width of the element.

:visible-min-height

The minimum visible height of the element.

:visible-max-width

The maximum visible width of the element.

:visible-max-height

The maximum height of the element.

:internal-min-width

The minimum width of the display region.

:internal-min-height

The minimum height of the display region.

:internal-max-width

The maximum width of the display region.

:internal-max-height

The maximum height of the display region.

:best-width

The initial width of the element.

:best-height

The initial height of the element.

Accessors

element-parent

Readers

element-interface
help-key

Description

The class element contains the slots parent and interface which contain the element and the interface that the element is contained in respectively. The writer method element-parent can be used to re-parent an element into another parent (or to remove it from a container entirely by setting its parent to nil ). Note that an element should not be used in more than one place at a time.

help-key is used to determine how help is displayed for the pane. The value nil means that no help is displayed. Otherwise, help-key is passed to the interface-help-callback , except when help-key is t , when the name of the pane is passed to the interface-help-callback . For details of interface-help-callback , see interface.

All elements accept initargs (listed above) representing hints as to the initial size and position of the element. By default elements have a minimum pixel size of one by one, and a maximum size of nil (meaning no maximum), but the hints can be specified to change these values. The possible values for these hints are as follows:

integer

The size in pixels.

t

For :visible-max-width and :visible-max-height , means use the minimum.

:text-width

The width of any text in the element.

:screen-width

The width of the screen.

:screen-height

The height of the screen.

Also, hints can be a list starting with any of the following operators, followed by one or more hints.

max

The maximum size of the hints.

min

The minimum size of the hints.

+

The sum of the hints.

-

The subtraction of hints from the first.

*

The multiplication of the hints.

/

The division of hints from the first.

Finally, you can choose to apply or funcall an arbitrary function, by passing a list starting with funcall or apply , followed by the function and then the arguments.

The hints of an element can be changed dynamically using set-hint-table: such a call might change the geometry.

Compatibility Note

The :min-width , :max-width , :min-height , and :max-height initargs are still accepted for compatibility with LispWorks 3.2, but their use is discouraged.

In LispWorks 4, :visible - min-width means the same as :min-width, but takes precedence if both are specified. The use of :min-width can lead to confusion because some CAPI classes have default values for :visible-min-width which will override :min-width . Similarly for : min-height , :max-width , and :max-height . Therefore, your code should use :visible-min-width and friends.

Examples
(capi:display (make-instance 'capi:interface
                              :title "Test"
                              :visible-min-width 300))
(capi:display (make-instance 'capi:interface
                              :title "Test"
                              :visible-min-width 300
                              :visible-max-height 200))

Here is a simple example that demonstrates the use of the element-parent accessor to place elements.

(setq pinboard (capi:contain
                (make-instance 
                 'capi:pinboard-layout)
                :visible-min-width 520
                :visible-min-height 395
                :process nil))
(setq object 
      (make-instance
       'capi:image-pinboard-object
       :x 10 :y 10
       :image
       (sys:lispworks-file 
        "examples/capi/graphics/lwsplash.bmp")
       :parent pinboard))
(setf (capi:element-parent object) nil) (setf (capi:element-parent object) pinboard)
See also

set-hint-table


LispWorks CAPI Reference Manual - 13 Mar 2003

Next Prev Up Top Contents Index