Page 212 Table of Contents Index Page 214
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E



CHAPTER 23. PRESENTATION TYPES

The present method can specialize on the view argument in order to define more than one view
of the data. For example, a spreadsheet program might define a presentation type for revenue,
which can be displayed either as a number or a bar of a certain length in a bar graph. Typically,
at least one canonical view should be defined for a presentation type, for example, the present
method for the textual-view view must be defined if the programmer wants to allow objects
of that type to be displayed textually.

Implementation note: the actual argument list to the present method is
(type-key parameters options object type stream view &key acceptably for-context-type)
type-key
is the object that is used to cause the appropriate methods to be selected (an instance
of the class that corresponds to the presentation type type.). parameters and options are the
parameters and options for the type on which the current method is specialized. The other
arguments are gotten from the arguments of the same name in present.

Implementation note: the actual generic function of the present method is an internal generic
function, not the function whose name is present. Similar internal generic functions are used
for all presentation methods.

=> accept type stream view &key default default-type [Presentation Method]
The accept method is responsible for "parsing" the representation of the presentation type type
for a particular view view. The accept method must return a single value, the object that was
"parsed", or two values, the object and its type (a presentation type specifier). The method's
caller takes care of establishing the input context, defaulting, prompting, and input editing.

The accept method can specialize on the view argument in order to define more than one input
view for the data. The accept method for the textual-view view must be defined if the
programmer wants to allow objects of that type to entered via the keyboard.

Note that accept presentation methods can call accept recursively. In this case, the programmer
should be careful to specify nil for :prompt and :display-default unless recursive prompting
is really desired.

Implementation note: the actual argument list to the accept method is
(type-key parameters options type stream view &key default default-type)

=> describe-presentation-type type stream plural-count [Presentation Method]
The describe-presentation-type method is responsible for textually describing the presen-
tation type
type. stream is a stream, and will not be nil as it can be for the describe-
presentation-type
function.

Implementation note: the actual argument list to the describe-presentation-type method
is
(type-key parameters options type stream plural-count)

=> presentation-type-specifier-p type [Presentation Method]
The presentation-type-specifier-p method is responsible for checking the validity of the
parameters and options for the presentation type type. The default method returns t.


Page 212 Table of Contents Index Page 214
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E