also check for keyboardProcesor-events coming from a
authorClaus Gittinger <cg@exept.de>
Thu, 11 Mar 1999 01:42:04 +0100
changeset 2497 02fee09cb896
parent 2496 f3093d8a83f8
child 2498 4b5e7a08917d
also check for keyboardProcesor-events coming from a mainView of a modal dialog
WGroup.st
WindowGroup.st
--- a/WGroup.st	Wed Mar 10 23:31:00 1999 +0100
+++ b/WGroup.st	Thu Mar 11 01:42:04 1999 +0100
@@ -1136,6 +1136,7 @@
             ignore := false.
             focus := focusView.
             modalDelegate := false.
+            modalTop := nil.
 
             modalGroup notNil ifTrue:[
                 "/ an incoming event for a masterView, 
@@ -1152,6 +1153,9 @@
                     modalTop notNil ifTrue:[
                         focus := modalTop.
                         modalDelegate := true.
+                    ].
+                    modalGroup focusView notNil ifTrue:[
+                        focus := modalGroup focusView
                     ]
                 ] ifFalse:[
                     event isFocusEvent ifTrue:[
@@ -1204,8 +1208,8 @@
                         evView := event view.
 
                         (event isKeyEvent 
-                        and:[(keyboardProcessor := evView topView keyboardProcessor) notNil]) ifTrue:[
-                            ignore := keyboardProcessor processEvent:event 
+                        and:[(keyboardProcessor := (modalTop ? evView topView) keyboardProcessor) notNil]) ifTrue:[
+                            ignore := keyboardProcessor processEvent:event forModalView:modalTop
                         ].
                     ].
 
@@ -1951,6 +1955,6 @@
 !WindowGroup class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/Attic/WGroup.st,v 1.156 1999-03-10 00:01:29 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/Attic/WGroup.st,v 1.157 1999-03-11 00:42:04 cg Exp $'
 ! !
 WindowGroup initialize!
--- a/WindowGroup.st	Wed Mar 10 23:31:00 1999 +0100
+++ b/WindowGroup.st	Thu Mar 11 01:42:04 1999 +0100
@@ -1136,6 +1136,7 @@
             ignore := false.
             focus := focusView.
             modalDelegate := false.
+            modalTop := nil.
 
             modalGroup notNil ifTrue:[
                 "/ an incoming event for a masterView, 
@@ -1152,6 +1153,9 @@
                     modalTop notNil ifTrue:[
                         focus := modalTop.
                         modalDelegate := true.
+                    ].
+                    modalGroup focusView notNil ifTrue:[
+                        focus := modalGroup focusView
                     ]
                 ] ifFalse:[
                     event isFocusEvent ifTrue:[
@@ -1204,8 +1208,8 @@
                         evView := event view.
 
                         (event isKeyEvent 
-                        and:[(keyboardProcessor := evView topView keyboardProcessor) notNil]) ifTrue:[
-                            ignore := keyboardProcessor processEvent:event 
+                        and:[(keyboardProcessor := (modalTop ? evView topView) keyboardProcessor) notNil]) ifTrue:[
+                            ignore := keyboardProcessor processEvent:event forModalView:modalTop
                         ].
                     ].
 
@@ -1951,6 +1955,6 @@
 !WindowGroup class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.156 1999-03-10 00:01:29 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.157 1999-03-11 00:42:04 cg Exp $'
 ! !
 WindowGroup initialize!