SynchronousWindowSensor.st
changeset 3594 76381e75d9d2
parent 3450 4b5f22cd68e4
child 3680 4c096f11e018
--- a/SynchronousWindowSensor.st	Mon Feb 11 11:56:08 2002 +0100
+++ b/SynchronousWindowSensor.st	Mon Feb 11 20:47:07 2002 +0100
@@ -177,9 +177,11 @@
 exposeX:x y:y width:w height:h view:aView
     "forward an expose for some view"
 
-    aView
-	dispatchEvent:#exposeX:y:width:height:
-	arguments:(Array with:x with:y with:w with:h)
+    ignoreExposeEvents ~~ true ifTrue:[
+        aView
+            dispatchEvent:#exposeX:y:width:height:
+            arguments:(Array with:x with:y with:w with:h)
+    ]
 
 "/    WindowEvent
 "/        sendEvent:#exposeX:y:width:height:
@@ -256,9 +258,20 @@
 
     xlatedKey := aView graphicsDevice translateKey:untranslatedKey forView:aView.
     xlatedKey notNil ifTrue:[
-	aView
-	    dispatchEvent:#keyPress:x:y:
-	    arguments:(Array with:xlatedKey with:x with:y)
+        WindowGroup lastEventQuerySignal handle:[:ex|  |ev|
+            ev := WindowEvent keyboardEvent
+                     for:aView
+                     type:#keyPress:x:y:
+                     arguments:(Array with:xlatedKey with:x with:y).
+            ev rawKey:untranslatedKey.
+            ev hasShift:shiftDown ctrl:ctrlDown alt:altDown meta:metaDown
+                                  button1:leftButtonDown button2:middleButtonDown button3:rightButtonDown.
+            ex proceedWith:ev.
+        ] do:[
+            aView
+                dispatchEvent:#keyPress:x:y:
+                arguments:(Array with:xlatedKey with:x with:y)
+        ].
 
 "/        WindowEvent
 "/          sendEvent:#keyPress:x:y:
@@ -440,5 +453,5 @@
 !SynchronousWindowSensor class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/SynchronousWindowSensor.st,v 1.21 2001-07-20 12:18:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/SynchronousWindowSensor.st,v 1.22 2002-02-11 19:47:07 stefan Exp $'
 ! !