A pinboard object is a class that provides a rectangular area in a pinboard layout with drawing 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.
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.
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 the section Graphics State in the LispWorks CAPI User Guide for details).
There are a number of predefined pinboard objects provided by the CAPI. They are as follows:
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.
pinboard-layout
draw-pinboard-object
graph-pane
redraw-pinboard-object
redraw-pinboard-layout