Page 142 | Table of Contents | Index | Page 144 |
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 |
Major issue: There is a proposal on the table to unify the sheet and output record pro-
tocols, not by unifying the class structure, but by making them implement the same generic
functions where that makes sense. For instance, sheets and output records both have regions,
transformations (that relate sheets to their parents), both support a repainting operation, and
so forth.
In particular, sheet-parent and output-record-parent are equivalent, as are sheet-children
and output-record-children, sheet-adopt-child and add-output-record, sheet-disown-child
and delete-output-record, and repaint-sheet and replay-output-record, and the map-
ping functions. output-record-position and its setf function have sheet analogs. The sheet
and output record notification functions are also equivalent.
This simplifies the conceptual framework of CLIM, and could eventually simplify the implemen-
tation as well. Doing this work now opens the door for later unifications, such unifying the pane
layout functionality with table formatting. | York, SWM
16.2 Output Records
=> output-record [Protocol Class]
The protocol class that is used to indicate that an object is an output record, that is, an
object that contains other output records. This is a subclass of bounding-rectangle, and as
such, output records obey the bounding rectangle protocol. If you want to create a new class
that behaves like an output record, it should be a subclass of output-record. Subclasses of
output-record must obey the output record protocol.
All output records are mutable.
=> output-record-p object [Function]
Returns true if object is an output record, otherwise returns false.
=> displayed-output-record [Protocol Class]
The protocol class that is used to indicate that an object is a displayed output record, that
is, an object that represents a visible piece of output on some output stream. This is a
Page 142 | Table of Contents | Index | Page 144 |
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 |