6.5 Predefined Presentation Types
6.5.5 One-Of and Some-Of Presentation Types
The "one-of" and "some-of" presentation types can be used to accept and present one or more items from a set of items. The set of items can be specified as a "rest" argument, a sequence, or an alist. This table summarizes single ("one-of") and multiple ("some-of") selection presentation types. Each row represents a type of presentation. Columns contain the associated single and multiple selection presentation types.
One-Of and Some-Of Selection Presentation Types Arguments | Single | Multiple | most general | completion | subset-completion |
&rest elements | member | subset |
sequence | member-sequence | subset-sequence |
alist | member-alist | subset-alist |
completion [Presentation Type]
- Arguments:
- sequence
&key
test value-key
- Summary:
- The presentation type that selects one from a finite set of possibilities, with "completion" of partial inputs. Several types are implemented in terms of the completion type, including token-or-type, null-or-type, member, member-sequence, and member-alist.
- sequence is a list or vector whose elements are the possibilities. Each possibility has a printed representation, called its name, and an internal representation, called its value. accept reads a name and returns a value. present is given a value and outputs a name.
- test is a function that compares two values for equality. The default is eql.
- value-key is a function that returns a value, given an element of sequence. The default is identity.
- The following presentation type options are available:
- name-key is a function that returns a name as a string, given an element of sequence. The default is a function that behaves as follows:
- string Û the string
- null Û "NIL"
- cons Û string of the car
- symbol Û string-capitalize of its name
- otherwise Û princ-to-string of it
- documentation-key is a function that returns either nil or a descriptive string, given an element of sequence. The default always returns nil.
- test, value-key, name-key, and documentation-key must have indefinite extent.
- partial-completers is a possibly empty list of characters that delimit portions of a name that can be completed separately. The default is a list of one character,
#\Space.
member [Presentation Type Abbreviation]
- Arguments:
&rest
elements
- Summary:
- The presentation type that specifies one of elements. The options are the same as for completion.
member-sequence [Presentation Type Abbreviation]
- Arguments:
- sequence
&key
test
- Summary:
- Like member, except that the set of possibilities is the sequence sequence. The parameter test and the options are the same as for completion.
member-alist [Presentation Type Abbreviation]
- Arguments:
- alist
&key
test
- Summary:
- Like member, except that the set of possibilities is the alist alist. Each element of alist is either an atom, as in member-sequence, or a list whose car is the name of that possibility and whose cdr is one of the following:
- The value (which must not be a cons)
- A list of one element, the value
- A property list that can contain the following properties:
- :value--the value
- :documentation--a descriptive string
- The test parameter and the options are the same as for completion except that value-key and documentation-key default to functions that support the specified alist format.
subset-completion [Presentation Type]
- Arguments:
- sequence
&key
test value-key
- Summary:
- The type that selects one or more from a finite set of possibilities, with "completion" of partial inputs. The parameters and options are the same as for completion, plus the additional options separator and echo-space, which are as for the sequence type. The subset types that follow are implemented in terms of the subset-completion type.
subset [Presentation Type Abbreviation]
- Arguments:
&rest
elements
- Summary:
- The presentation type that specifies a subset of elements. Values of this type are lists of zero or more values chosen from the possibilities in elements. The printed representation is the names of the elements separated by commas. The options are the same as for completion.
subset-sequence [Presentation Type Abbreviation]
- Arguments:
- sequence
&key
test
- Summary:
- Like subset, except that the set of possibilities is the sequence sequence. The parameter test and the options are the same as for completion.
subset-alist [Presentation Type Abbreviation]
- Arguments:
- alist
&key
test
- Summary:
- Like subset, except that the set of possibilities is the alist alist.
CLIM 2.0 User's Guide - OCT 1998 Generated with Harlequin WebMaker