Chapter 7 Defining a New Presentation Type

7.3 Using Views With CLIM Presentation Types

The present and accept presentation methods can 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 as a bar of a certain length in a bar graph. These two views might be implemented by specializing the view arguments for the textual-view class and the user-defined bar-graph-view class. Typically, at least one canonical view should be defined for a presentation type. For example, the present method for the textual-view view should be defined if the programmer wants to allow objects of that type to be displayed textually. A more concrete example is the dialog view of the member presentation type, which presents the choices in a "radio push-button" style.

CLIM currently supports textual, menu, and dialog views. Operators for views of CLIM presentation types are listed as follows.

view [Protocol Class]

Summary:
The protocol class for view objects. If you want to create a new class that behaves like a view, it should be a subclass of view. Subclasses of view must obey the view protocol. All of the view classes are immutable.

viewp [Function]
Arguments:
object
Summary:
Returns t if object is a view; otherwise, it returns nil.

stream-default-view [Generic Function]
Arguments:
stream
Summary:
Returns the default view for the extended stream stream. accept and present get the default value for the view argument from this. All extended input and output streams must implement a method for this generic function.

(setf stream-default-view) [Generic Function]
Arguments:
view stream
Summary:
Changes the default view for stream to the view view. All extended input and output streams must implement a method for this generic function.

Many CLIM streams will have the textual view +textual-view+ as their default view. Inside menu-choose, the default view will be +menu-view+. Inside accepting-values, the default view will be +dialog-view+.

textual-view [Class]

Summary:
The class representing all textual views, a subclass of view. Presentation methods that apply to a textual view must only do textual input and output (such as read-char and write-string).

textual-menu-view [Class]
Summary:
This subclass of textual-view represents the default view used inside menu-choose for frame managers that are not using a gadget-type look and feel.

textual-dialog-view [Class]
Summary:
This subclass of textual-view represents the default view used inside accepting-values dialogs for frame managers that are not using a gadget-type look and feel.

gadget-view [Class]
Summary:
The class representing all gadget views, a subclass of view.

gadget-menu-view [Class]
Summary:
The class that represents the default view used inside menu-choose for frame managers using a gadget-type look and feel. It is a subclass of gadget-view.

gadget-dialog-view [Class]
Summary:
This subclass of gadget-view represents the default view used inside accepting-values dialogs for frame managers that are using a gadget-type look and feel.

pointer-documentation-view [Class]
Summary:
The class that represents the default view that is used when computing pointer documentation. It is a subclass of textual-view.

+textual-view+ [Constant]
+textual-menu-view+ [Constant]
+textual-dialog-view+ [Constant]
+gadget-view+ [Constant]
+gadget-menu-view+ [Constant]
+gadget-dialog-view+ [Constant]
+pointer-documentation-view+ [Constant]
Summary:
These are objects of class textual-view, textual-menu-view, textual-dialog-view, gadget-view, gadget-menu-view, gadget-dialog-view, and pointer-documentation-view, respectively.


CLIM 2.0 User's Guide - OCT 1998

Generated with Harlequin WebMaker