Page 56 Table of Contents Index Page 58
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 8. SHEET PROTOCOLS

This class of sheet provides a method for dispatch-event that calls queue-event on each device
event. Note that configuration events invoke handle-event immediately.

=> immediate-sheet-input-mixin [Class]
This class of sheet provides a method for dispatch-event that calls handle-event immediately
for all events.

=> mute-sheet-input-mixin [Class]
This is mixed in to any sheet class the does not handle any input events.

=> delegate-sheet-input-mixin [Class]
This class of sheet provides a method for dispatch-event that calls dispatch-event on a
designated substitute and the event. The initialization argument :delegate or the accessor
delegate-sheet-delegate may be used to set the recipient of dispatched events.

Minor issue: What is a "substitute" and how do you "designate" it? Is the substitute what
delegate-sheet-delegate returns? Does't this want an initarg for the substitute? | SWM

=> delegate-sheet-delegate sheet [Generic Function]
=> (setf delegate-sheet-delegate) delegate sheet [Generic Function]
This may be set to another recipient of events dispatched to a sheet of class delegate-sheet-
input-mixin
. If the delegate is nil, events are discarded.

8.2 Standard Device Events

An event is a CLIM object that represents some sort of user gesture (such as moving the pointer
or pressing a key on the keyboard) or that corresponds to some sort of notification from the
display server. Event objects store such things as the sheet associated with the event, the x and
y bposition of the pointer within that sheet, the key name or character corresponding to a key
on the keyboard, and so forth.

Figure 8.1 shows all the event classes.

=> event [Protocol Class]
The protocol class that corresponds to any sort of "event". If you want to create a new class
that behaves like an event, it should be a subclass of event. Subclasses of event must obey the
event protocol.

All of the event classes are immutable.

=> eventp object [Function]
Returns true if object is an event, otherwise returns false.


Page 56 Table of Contents Index Page 58
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