The element containing this element.
The interface containing this element.
An object used for lookup of help. Default value
t
.
The following initargs are hints for the initial size and position of an element:
The x position of the element in a pinboard.
The y position of the element in a pinboard.
The minimum width of the element in its parent.
The minimum height of the element in its parent.
The maximum width of the element in its parent.
The maximum height of the element in its parent.
The minimum visible width of the element.
The minimum visible height of the element.
The maximum visible width of the element.
The maximum height of the element.
The minimum width of the display region.
The minimum height of the display region.
The maximum width of the display region.
The maximum height of the display region.
The initial width of the element.
The initial height of the element.
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:
The size in pixels.
For
:visible-max-width
and
:visible-max-height
, means use the minimum.
The width of any text in the element.
The width of the screen.
The height of the screen.
Also, hints can be a list starting with any of the following operators, followed by one or more hints.
The maximum size of the hints.
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.
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.
(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)