6.1.2 Presentations and Presentation Types

CLIM keeps track of the association between a visual representation of an object and the object itself. CLIM maintains this association in a data structure called a
presentation. A presentation embodies three things:

The underlying application object

Its presentation type

Its visual representation

In other words, a presentation is a special kind of output record that remembers not only output, but the object associated with the output and the semantic type associated with that object.

A
presentation type
can be thought of as a CLOS class that has some additional functionality pertaining to its roles in the user interface of an application. In defining a presentation type, the application programmer defines all of the user interface components of the entity:

Its displayed representation, textual or graphical

Textual representation, for user input via the keyboard

Pointer sensitivity, for user input via the pointer

In other words, the application programmer describes in one place all the information about an object necessary to display it to the user and interact with the user for object input.