--- a/WindowEvent.st Tue Apr 23 21:41:54 1996 +0200
+++ b/WindowEvent.st Tue Apr 23 21:57:07 1996 +0200
@@ -49,23 +49,23 @@
The algorithm for event dispatching is:
- - if the destination view has a keyboard focus set,
- AND the event is a keyboard event,
- THEN recursively invoke the event dispatching method,
- sending the event to the focus view (or its delegate, as below)
+ - if the destination view has a keyboard focus set,
+ AND the event is a keyboard event,
+ THEN recursively invoke the event dispatching method,
+ sending the event to the focus view (or its delegate, as below)
- - if the destination view has a delegate,
- AND its a keyboard, button or pointer event,
- AND the delegate is interested in that event
- (i.e. implements & responds to #handlesXXX with true)
- THEN send the event to the delegate, passing the original view
- as additional argument
+ - if the destination view has a delegate,
+ AND its a keyboard, button or pointer event,
+ AND the delegate is interested in that event
+ (i.e. implements & responds to #handlesXXX with true)
+ THEN send the event to the delegate, passing the original view
+ as additional argument
- - if the view has a nonNil controller,
- AND its a key, button or pointer event,
- THEN send the event to the controller
+ - if the view has a nonNil controller,
+ AND its a key, button or pointer event,
+ THEN send the event to the controller
- - otherwise send the event to the view
+ - otherwise send the event to the view
If the view has a non-nil transformation, the event is sent as a
@@ -85,29 +85,35 @@
Therefore, for a delegated keyPress messages, the flow is:
- sendEvent
- view has delegate
- ------> ask delegate via 'handlesKeyPress:key inView:view'
- <------ returns true
- ------> 'delegate keyPress:key x:x y:y view:view'
- -----> delegate does whatever it wants to do
- (typically sends the event to some other view)
+ sendEvent
+ view has delegate
+ ------> ask delegate via 'handlesKeyPress:key inView:view'
+ <------ returns true
+ ------> 'delegate keyPress:key x:x y:y view:view'
+ -----> delegate does whatever it wants to do
+ (typically sends the event to some other view)
for an undelegated message:
- sendEvent
- view has delegate
- ------> ask delegate via 'handlesKeyPress:key inView:view'
- <------ returns false
- view has controller
- ------> 'controller keyPress:key x:x y:y'
- view has no controller
- view has transformation
- ----> 'view deviceKeyPress:key x:x y:y'
- inverse transform x/y
- ----> 'self keyPress:key x:xLogical y:yLogical'
- view has no transformation
- ----> 'view keyPress:key x:x y:y'
+ sendEvent
+ view has delegate
+ ------> ask delegate via 'handlesKeyPress:key inView:view'
+ <------ returns false
+ view has controller
+ ------> 'controller keyPress:key x:x y:y'
+ view has no controller
+ view has transformation
+ ----> 'view deviceKeyPress:key x:x y:y'
+ inverse transform x/y
+ ----> 'self keyPress:key x:xLogical y:yLogical'
+ view has no transformation
+ ----> 'view keyPress:key x:x y:y'
+
+ [see also:]
+ WindowGroup WindowSensor
+ DeviceWorkstation View
+ KeyboardMap KeyboardForwarder EventListener
+
"
! !
@@ -499,5 +505,5 @@
!WindowEvent class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/WindowEvent.st,v 1.25 1996-03-07 13:59:00 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/WindowEvent.st,v 1.26 1996-04-23 19:56:12 cg Exp $'
! !