Next Prev Up Top Contents Index

18.5.2 Input Protocol Classes

Most classes of sheets will have one of the following input protocol classes mixed in. Of course, a sheet can always have a specialized method for a specific class of event that will override the default. For example, a sheet may need to have only pointer click events dispatched to itself, and may delegate all other events to some other input client. Such a sheet should have delegate-sheet-input-mixin as a superclass, and have a more specific method for dispatch-event on its class and pointer-button-click-event .

standard-sheet-input-mixin

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

immediate-sheet-input-mixin

Summary: This class of sheet provides a method for dispatch-event that calls handle-event immediately for all events.

mute-sheet-input-mixin

Summary: This is mixed into any sheet class that does not handle any input events.

delegate-sheet-input-mixin

Summary: 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. A value of nil will cause input events to be discarded.

delegate-sheet-delegate [Generic Function]

Arguments: sheet

(setf delegate-sheet-delegate) [Generic Function]

Arguments: delegate sheet

Summary: 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.


CommonLisp Interface Manager 2.0 User's Guide - 8 Aug 2003

Next Prev Up Top Contents Index