A choice which displays its selected items and its unselected items in disjoint lists displayed in two sub-panels, and facilitates easy movement of items between these lists.
These initargs are passed to the sub-panels. See the documentation for list-panel for information on how the sub-panels interpret them.
selected-items-title
and
unselected-items-title
are passed as the :title
initarg to the list panels.
The default value of selected-items-title is "Selected items:" and the default value of unselected-items-title is "Unselected items:"
selected-items-filter
and
unselected-items-filter
are passed as the :filter
initarg to the list panels.
The default value of both
selected-items-filter
and
unselected-items-filter
is nil
.
list-visible-min-width
and
list-visible-min-height
are passed as the :visible-min-width
and :visible-min-height
initargs to both list panels.
These initargs are passed to both of the sub-panels to specify images. See the documentation for list-panel for information on how the sub-panels interpret them.
The class double-list-panel
is a choice which displays its
items
in two list-panels. One list contains the selected items and the other contains the unselected items. There is a pair of arrow buttons which move highlighted items between the lists.
The default
interaction
of double-list-panel
is :extended-selection
.
The
selection-callback
,
extend-callback
or
retract-callback
is called as appropriate when items are moved between the lists. There is no
action-callback
for double-list-panel
.
The user selects and de-selects items in the double-list-panel
by moving them between the two lists. There are three ways to move the items:
Return
.double-list-panel
is not a subclass of list-panel.double-list-panel
does not have image lists. To use sub-images from an image-set, use image-locators.(capi:display
(make-instance
'capi:double-list-panel
:items '("John" "Geoff" "chicken" "blue" "water")
:selection-callback
#'(lambda (item choice)
(capi:display-message "selecting ~a" item))
:extend-callback
#'(lambda(item choice)
(capi:display-message "extending ~a" item))
:retract-callback
#'(lambda(item choice)
(capi:display-message "deselecting ~a" item))))
CAPI User Guide and Reference Manual (Macintosh version) - 3 Aug 2017