checkin from browser
authorClaus Gittinger <cg@exept.de>
Fri, 21 May 1999 20:09:35 +0200
changeset 2708 855835147902
parent 2707 cb775384565a
child 2709 188745025c87
checkin from browser
DSurface.st
DisplaySurface.st
WSensor.st
WindowSensor.st
--- a/DSurface.st	Fri May 21 20:07:57 1999 +0200
+++ b/DSurface.st	Fri May 21 20:09:35 1999 +0200
@@ -1225,15 +1225,23 @@
      In this case, a coordinate which is outside of
      the focusView (0 @ 0) is passed as x/y coordinates.
     "
-    (focusView notNil 
-    and:[isKeyEvent
-    and:[self ~~ focusView]]) ifTrue:[
-        focusView 
-            dispatchEvent:type 
-            arguments:(Array with:(argArray at:1) with:-1 with:-1)
-            withFocusOn:nil
-            delegate:doDelegate.
-        ^ self
+    (focusView notNil and:[self ~~ focusView]) ifTrue:[
+        isKeyEvent ifTrue:[
+            focusView 
+                dispatchEvent:type 
+                arguments:(Array with:(argArray at:1) with:-1 with:-1)
+                withFocusOn:nil
+                delegate:doDelegate.
+            ^ self
+        ].
+        type == #mouseWheelMotion:state: ifTrue:[
+            focusView 
+                dispatchEvent:type 
+                arguments:argArray
+                withFocusOn:nil
+                delegate:doDelegate.
+            ^ self
+        ]
     ].
 
     doDelegate ifTrue:[
@@ -1278,6 +1286,9 @@
         ].
     ].
 
+    "
+     if I am not shown, ignore input events
+    "
     (isKeyEvent 
      or:[isButtonEvent 
      or:[isPointerEvent]]) ifTrue:[
@@ -1324,8 +1335,8 @@
 
     eventReceiver perform:selector withArguments:argArray
 
-    "Modified: / 31.10.1997 / 19:54:28 / cg"
     "Created: / 20.5.1998 / 22:46:25 / cg"
+    "Modified: / 21.5.1999 / 19:55:31 / cg"
 ! !
 
 !DisplaySurface methodsFor:'event handling'!
@@ -2226,5 +2237,5 @@
 !DisplaySurface class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/Attic/DSurface.st,v 1.65 1999-05-08 21:25:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/Attic/DSurface.st,v 1.66 1999-05-21 18:09:35 cg Exp $'
 ! !
--- a/DisplaySurface.st	Fri May 21 20:07:57 1999 +0200
+++ b/DisplaySurface.st	Fri May 21 20:09:35 1999 +0200
@@ -1225,15 +1225,23 @@
      In this case, a coordinate which is outside of
      the focusView (0 @ 0) is passed as x/y coordinates.
     "
-    (focusView notNil 
-    and:[isKeyEvent
-    and:[self ~~ focusView]]) ifTrue:[
-        focusView 
-            dispatchEvent:type 
-            arguments:(Array with:(argArray at:1) with:-1 with:-1)
-            withFocusOn:nil
-            delegate:doDelegate.
-        ^ self
+    (focusView notNil and:[self ~~ focusView]) ifTrue:[
+        isKeyEvent ifTrue:[
+            focusView 
+                dispatchEvent:type 
+                arguments:(Array with:(argArray at:1) with:-1 with:-1)
+                withFocusOn:nil
+                delegate:doDelegate.
+            ^ self
+        ].
+        type == #mouseWheelMotion:state: ifTrue:[
+            focusView 
+                dispatchEvent:type 
+                arguments:argArray
+                withFocusOn:nil
+                delegate:doDelegate.
+            ^ self
+        ]
     ].
 
     doDelegate ifTrue:[
@@ -1278,6 +1286,9 @@
         ].
     ].
 
+    "
+     if I am not shown, ignore input events
+    "
     (isKeyEvent 
      or:[isButtonEvent 
      or:[isPointerEvent]]) ifTrue:[
@@ -1324,8 +1335,8 @@
 
     eventReceiver perform:selector withArguments:argArray
 
-    "Modified: / 31.10.1997 / 19:54:28 / cg"
     "Created: / 20.5.1998 / 22:46:25 / cg"
+    "Modified: / 21.5.1999 / 19:55:31 / cg"
 ! !
 
 !DisplaySurface methodsFor:'event handling'!
@@ -2226,5 +2237,5 @@
 !DisplaySurface class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/DisplaySurface.st,v 1.65 1999-05-08 21:25:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/DisplaySurface.st,v 1.66 1999-05-21 18:09:35 cg Exp $'
 ! !
--- a/WSensor.st	Fri May 21 20:07:57 1999 +0200
+++ b/WSensor.st	Fri May 21 20:09:35 1999 +0200
@@ -880,14 +880,13 @@
     "some other data sent to a view.
      This is an X-specific event."
 
-    self pushEvent:(WindowEvent 
-                        clientEvent
-                             for:aView
-                             type:#clientMessage:format:eventData:
-                             arguments:(Array with:type with:format with:data)).
+    self pushEvent:(WindowEvent clientEvent
+                         for:aView
+                         type:#clientMessage:format:eventData:
+                         arguments:(Array with:type with:format with:data)).
 
     "Created: / 4.4.1997 / 17:51:08 / cg"
-    "Modified: / 21.5.1998 / 00:20:56 / cg"
+    "Modified: / 21.5.1999 / 19:46:43 / cg"
 !
 
 configureX:x y:y width:w height:h view:aView
@@ -1006,21 +1005,21 @@
 focusInView:aView
     "view got input focus - this is sent from the device (Display)"
 
-    self pushEvent:(WindowEvent
+    self pushEvent:(WindowEvent focusEvent
                      for:aView
                      type:#focusIn).
 
-    "Modified: 18.1.1997 / 14:07:01 / cg"
+    "Modified: / 21.5.1999 / 19:46:04 / cg"
 !
 
 focusOutView:aView
     "view lost input focus - this is sent from the device (Display)"
 
-    self pushEvent:(WindowEvent
+    self pushEvent:(WindowEvent focusEvent
                      for:aView
                      type:#focusOut).
 
-    "Modified: 18.1.1997 / 14:07:09 / cg"
+    "Modified: / 21.5.1999 / 19:46:10 / cg"
 !
 
 graphicsExposeX:left y:top width:width height:height final:final view:aView
@@ -2662,6 +2661,6 @@
 !WindowSensor class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/Attic/WSensor.st,v 1.154 1999-05-21 14:33:46 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/Attic/WSensor.st,v 1.155 1999-05-21 18:08:51 cg Exp $'
 ! !
 WindowSensor initialize!
--- a/WindowSensor.st	Fri May 21 20:07:57 1999 +0200
+++ b/WindowSensor.st	Fri May 21 20:09:35 1999 +0200
@@ -880,14 +880,13 @@
     "some other data sent to a view.
      This is an X-specific event."
 
-    self pushEvent:(WindowEvent 
-                        clientEvent
-                             for:aView
-                             type:#clientMessage:format:eventData:
-                             arguments:(Array with:type with:format with:data)).
+    self pushEvent:(WindowEvent clientEvent
+                         for:aView
+                         type:#clientMessage:format:eventData:
+                         arguments:(Array with:type with:format with:data)).
 
     "Created: / 4.4.1997 / 17:51:08 / cg"
-    "Modified: / 21.5.1998 / 00:20:56 / cg"
+    "Modified: / 21.5.1999 / 19:46:43 / cg"
 !
 
 configureX:x y:y width:w height:h view:aView
@@ -1006,21 +1005,21 @@
 focusInView:aView
     "view got input focus - this is sent from the device (Display)"
 
-    self pushEvent:(WindowEvent
+    self pushEvent:(WindowEvent focusEvent
                      for:aView
                      type:#focusIn).
 
-    "Modified: 18.1.1997 / 14:07:01 / cg"
+    "Modified: / 21.5.1999 / 19:46:04 / cg"
 !
 
 focusOutView:aView
     "view lost input focus - this is sent from the device (Display)"
 
-    self pushEvent:(WindowEvent
+    self pushEvent:(WindowEvent focusEvent
                      for:aView
                      type:#focusOut).
 
-    "Modified: 18.1.1997 / 14:07:09 / cg"
+    "Modified: / 21.5.1999 / 19:46:10 / cg"
 !
 
 graphicsExposeX:left y:top width:width height:height final:final view:aView
@@ -2662,6 +2661,6 @@
 !WindowSensor class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/WindowSensor.st,v 1.154 1999-05-21 14:33:46 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/WindowSensor.st,v 1.155 1999-05-21 18:08:51 cg Exp $'
 ! !
 WindowSensor initialize!