Page 231 Table of Contents Index Page 233
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

Implementation note: find-applicable-translators could be implemented by looping over
input-context, calling find-presentation-translators to generate all the translators, and then
calling test-presentation-translator to filter out the ones that do not apply. The conse-
quences of modifying the returned value are unspecified. Note that the ordering of translators can
be done by find-presentation-translators, provided that find-applicable-translators
takes care to preserve this ordering.

Minor issue: Describe and implement the class-nondisjoint-classes idea. Be very clear
and precise about when the translator body gets run. | SWM

=> presentation-matches-context-type presentation context-type frame window x y &key event
modifier-state
[Function]
Returns true if there are any translators that translate from the presentation presentation's type
to the input context type context-type, otherwise returns false. (There is no from-type argument
because it is derived from presentation.) frame, window, x, y, event, and modifier-state are as
for test-presentation-translator.

If there are no applicable translators, presentation-matches-context-type will return false.

=> call-presentation-translator translator presentation context-type frame event window x y
[Function]
Calls the function that implements the body of the translator translator on the presentation
presentation's object, and passes presentation, context-type, frame, event, window, x, and y to
the body of the translator as well.

The returned values are the same as the values returned by the body of the translator, namely,
the translated object and the translated type.

=> document-presentation-translator translator presentation context-type frame event window
x y
&key (stream *standard-output*) documentation-type [Function]
Computes the documentation string for the translator translator and outputs it to the stream
stream. presentation, context-type, frame, event, window, x, and y are as for test-presentation-
translator
.

documentation-type must be either :normal or :pointer. If it is :normal, the usual translator
documentation function is called. If it is :pointer, the translator's pointer documentation is
called.

=> call-presentation-menu presentation input-context frame window x y &key for-menu label
[Function]
Finds all the applicable translators for the presentation presentation in the input context input-
context
, creates a menu that contains all of the translators, and pops up the menu from which
the user can choose a translator. After the translator is chosen, it is called with the arguments
supplied to call-presentation-menu and the matching input context that was established by
with-input-context is terminated.


Page 231 Table of Contents Index Page 233
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