The presentation facility extends output recording to remember the semantics of output displayed in a CLIM window. Presentations are specialized output records that remember not only output, but also the Lisp object associated with the output and the semantic type affiliated with that object. This semantic type, called the presentation type , allows display objects to be classified. Such semantic tagging allows the user to re-use existing output on the window to satisfy future input requests.
When a CLIM application is expecting input, an input context is established, which means the application is awaiting input of a certain semantic type. Presentations with an appropriate presentation type for the input context become sensitive; that is to say, clicking on them with the mouse will cause some action to happen. For instance, in the previous address book application example, when entering a new address, a user could type in an address or could specify input by clicking on any sensitive presentation. Addresses would be the only logical entry in this case, so only address presentation types will be sensitive. Nothing would happen if you clicked on a name or a phone number.
In a specific input context, when a given presentation type is valid input, all of the subclasses of this type are also acceptable. There are many cases, however, in which you may wish to expand the list of valid presentation types for a given input context. This is possible by the use of presentation translators .