18.5 Sheet Protocols: Input

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 [Class]

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 [Class]
Summary:
This class of sheet provides a method for dispatch-event that calls handle-event immediately for all events.

mute-sheet-input-mixin [Class]
Summary:
This is mixed into any sheet class that does not handle any input events.

delegate-sheet-input-mixin [Class]
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.


CLIM 2.0 User's Guide - OCT 1998

Generated with Harlequin WebMaker