The class item
groups together a title, some data and some callbacks into a single object for use in collections and choices.
The data associated with the item.
The text to appear in the item (or nil
).
If no text, this is called to print the data.
If t
the item is selected.
An item can provide its own callbacks to override those specified in its enclosing collection, and can also provide some data to get passed to those callbacks. An item is displayed as a string using its text if specified, or else by calling a print function on the item's data. The print-function
will either be the one specified in the item, or else the print-function
for its parent collection.
The selected
slot in an item is non- nil
if the item is currently selected. The accessor item-selected
is provided to access and to set this value.
(defun main-callback (data interface)
(capi:display-message "Main callback: ~S"
data))
(defun item-callback (data interface)
(capi:display-message "Item callback: ~S"
data))
(capi:contain (make-instance
'capi:list-panel
:items (list
(make-instance
'capi:item
:text "Item"
:data '(some data)
:selection-callback
'item-callback)
"Non-Item 1"
"Non-Item 2")
:selection-callback 'main-callback))