The list view pane is a choice that displays its items as icons and text in a number of formats.
Specifies which view the list view pane shows. The default is
:icon
.
Returns additional information to be displayed in report view.
Used in report view to print the additional information.
Returns a state image for an item.
A plist of keywords and image-list objects.
Defines the columns used in report view
Determines whether columns automatically resize. Defaults to
:all
.
Indicates whether large icons will be used (generally only if the icon view will be used). Defaults to
t
.
Indicates whether small icons will be used. Defaults to
t
.
Indicates whether state images will be used. Defaults to
nil
.
Width of a large image. Defaults to 32.
Height of a large image. Defaults to 32.
Width of a small image. Defaults to 16.
Height of a small image. Defaults to 16.
list-view-view
list-view-subitem-function
list-view-subitem-print-functions
list-view-image-function
list-view-state-image-function
list-view-columns
list-view-auto-reset-column-widths
The list view inherits its functionality from choice. In many ways it may be regarded as a kind of enhanced list panel, although its behavior is not identical. It supports single selection and extended selection interactions.
The list view displays its items in one of four ways, determined by the value in the
view
slot. An application may use the list view pane in just a single view, or may change the view between all four available views using
(setf list-view-view)
.
See the notes below on using both large and small icon views.
In all views, the text associated with the item (the label) is returned by the print-function , as with any other choice.
In this view, large icons are displayed, together with their label, positioned in the space available.
In this view, small icons are displayed, together with their label, positioned in the space available.
In this view, small icons are displayed, arranged in vertical columns.
In this view, multiple columns are displayed. A small icon and the item's label is displayed in the first column. Additional pieces of information, known as subitems, are displayed in subsequent columns.
To use the view
:report
,
columns
must specify a list of column specifiers. Each column specifier is a
plist
, in which the following keywords are valid:
The column heading
The width of the column in pixels. If this keyword is omitted or has the value
nil
, the width of the column is automatically calculated, based on the widest item to be displayed in that column.
May be
:left
,
:right
or
:center
to indicate how items should be aligned in this column. The default is
:left
. Only left alignment is available for the first column.
The subitem-function is called on the item to return subitem objects that represent the additional information to be displayed in the subsequent columns. Hence, subitem-function should normally return a list, whose length is one less than the number of columns specified. Each subitem is then printed in its column using the appropriate subitem print function. subitem-print-function may be either a single print function, to be used for all subitems, or a list of functions: one for each subitem column.
Note that the first column always contains the item label, as determined by the choice-print-function .
The image-function is called on an item to return an image associated with the item. It can return one of the following:
This specifies the filename of a file suitable for loading with load-image. Currently this must be a bitmap file.
The symbol must have been previously registered by means of a call to register-image-translation.
As returned by load-image.
Allowing a single bitmap to be created which contains several button images side by side. See make-image-locator for more information. On Microsoft Windows, this also allows access to bitmaps stored as resources in a DLL.
This is a zero-based index into the list view's image list. This is generally only useful if the image list is created explicitly. See image-list for more details.
The
state-image-function
is called on an item to determine the state image, an additional optional image used to indicate the state of an item. It can return one of the above, or
nil
to indicate that there is no state image. State images may be used in any view, but are typically used in the report and list views.
If image-lists is supplied, it should be a plist containing the following keywords as keys. The corresponding values should be image-list objects.
Specifies an image-list object that contains the large item images. The image-function should return a numeric index into this image-list.
Specifies an image-list object that contains the small item images. The image-function should return a numeric index into this image-list.
Specifies an image-list object that contains the state images. The state-image-function should return a numeric index into this image-list
If both the large icon view (icon view) and one or more of the small icon views (small icon view, list view, report view) are to be used, special considerations apply.
The image lists must be created explicitly, using the
:image-lists
initarg, and the
image-function
must return an integer. Care must be taken to ensure that corresponding images in the
:normal
and
:small
image lists have the same numeric index.
Returning pathnames, strings or image-locators from the image function cause the CAPI to create the image-lists automatically; however, if large and small icon views are mixed, this will lead to incorrect icons (or no icons) being displayed in one or other view.
Note:
list-view
is not implemented on Cocoa.
Note: for some applications multi-column-list-panel will suffice instead of
list-view
.