Provides a rectangular area in a pinboard-layout with drawing capabilities.
ellipse
item-pinboard-object
image-pinboard-object
line-pinboard-object
drawn-pinboard-object
rectangle
The output pane on which the pinboard object is drawn.
If
t
, the pinboard object is made active.
A plist of Graphics Ports drawing options.
The following initargs are geometry hints, influencing the initial size and position of a
pinboard-object
:
The x position of the pinboard object in the pinboard.
The y position of the pinboard object in the pinboard.
The minimum width of the pinboard object in the pinboard.
The minimum height of the pinboard object in the pinboard.
The maximum width of the pinboard object in the pinboard.
The maximum height of the pinboard object in the pinboard.
The minimum visible width of the pinboard object.
The minimum visible height of the pinboard object.
The maximum visible width of the pinboard object.
The maximum height of the pinboard object.
The minimum width of the display region.
The minimum height of the display region.
The class
pinboard-object
provides a rectangular area in a pinboard-layout with drawing and highlighting capabilities. A pinboard object behaves just like a simple pane within layouts, meaning that they can be placed into rows, columns and other layouts, and that they size themselves in the same way. The main distinction is that a pinboard object is a much smaller object than a simple pane as it does not need to create a native window for itself.
Each pinboard object is placed into a pinboard layout (or into a layout itself inside a pinboard layout), and then when the pinboard layout wishes to redisplay a region of itself, it calls the function draw-pinboard-object on each of the pinboard objects that are contained in that region (in the order that they are specified as children to the layout).
The graphics-args slot allows drawing options to be set. These include the font, the background and foreground colors, and others (see graphics-state).
The geometry hints are interpreted as described for element.
By default a
pinboard-object
does not accept the input focus.
There are a number of predefined pinboard objects provided by the CAPI. They are as follows:
Draws an ellipse.
Draws a rectangle.
right-angle-line-pinboard-object
Uses a user-defined display function.
The main user of pinboard objects in the CAPI is the graph pane, which uses item-pinboard-object and line-pinboard-object to display its nodes and edges respectively.
To force a pinboard object to redraw itself, either call the function invalidate-rectangle on it (in which case the redrawing is done immediately), or call redraw-pinboard-object in which case the redrawing may be cached and displayed at a later date.
Call the generic functions highlight-pinboard-object and unhighlight-pinboard-object to highlight a pinboard and remove its highlighting. If you want non-standard highlighting, you can implement methods for your subclass of
pinboard-object
.
You can test whether a whether a point or region coincides with a pinboard object by the generic functions over-pinboard-object-p and pinboard-object-overlap-p. The default methods assume a rectangle based on the geometry, which must always be the enclosing rectangle of the whole pinboard object. Therefore you only need to implement methods if your subclass of
pinboard-object
has a non-rectangular shape.
automatic-resize makes the pinboard object resize automatically. This has an effect only if it is placed inside a static-layout (including subclasses like pinboard-layout). The effect is that when the static-layout is resized then the pinboard object also changes its geometry.
The value of automatic-resize defines how the pinboard object's geometry changes. It must be a plist of keywords and values which match the keywords of the function set-object-automatic-resize and are interpreted in the same way.
You can also control automatic resizing of a pinboard object using set-object-automatic-resize.
pinboard-layout
draw-pinboard-object
graph-pane
highlight-pinboard-object
over-pinboard-object-p
redraw-pinboard-object
redraw-pinboard-layout
pinboard-object-overlap-p
set-object-automatic-resize
unhighlight-pinboard-object
CAPI Reference Manual - 15 Dec 2011