initial focus
authorClaus Gittinger <cg@exept.de>
Mon, 17 May 2004 18:52:20 +0200
changeset 4180 85392e34c7a7
parent 4179 d3a1cfe411db
child 4181 91439783248a
initial focus
TopView.st
WindowGroup.st
--- a/TopView.st	Mon May 17 18:50:36 2004 +0200
+++ b/TopView.st	Mon May 17 18:52:20 2004 +0200
@@ -475,19 +475,26 @@
 assignInitialKeyboardFocus
     "assign the initial keyboard focus to a 'useful' component."
 
-    |keyboardProcessor componentWithInitialFocus|
+    |componentWithInitialFocus|
 
-    keyboardProcessor := self keyboardProcessor.
-    keyboardProcessor notNil ifTrue:[
-        componentWithInitialFocus := keyboardProcessor componentWithInitialFocus.
-        componentWithInitialFocus notNil ifTrue:[
-            self windowGroup focusView:componentWithInitialFocus byTab:true.
-            "/ componentWithInitialFocus requestFocus.                    
-            ^ self.
-        ]
+"/    |keyboardProcessor componentWithInitialFocus|
+"/
+"/    keyboardProcessor := self keyboardProcessor.
+"/    keyboardProcessor notNil ifTrue:[
+"/        componentWithInitialFocus := keyboardProcessor componentWithInitialFocus.
+"/        componentWithInitialFocus notNil ifTrue:[
+"/            self windowGroup focusView:componentWithInitialFocus byTab:true.
+"/            "/ componentWithInitialFocus requestFocus.                    
+"/            ^ self.
+"/        ]
+"/    ].
+
+    (windowGroup notNil 
+    and:[(componentWithInitialFocus := windowGroup defaultKeyboardConsumer) notNil]) ifTrue:[
+        windowGroup focusView:componentWithInitialFocus byTab:true "false".
+    ] ifFalse:[
+        self assignKeyboardFocusToFirstInputField.
     ].
-
-    self assignKeyboardFocusToFirstInputField.
 !
 
 assignKeyboardFocusToFirstInputField
@@ -1041,7 +1048,7 @@
 !TopView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/TopView.st,v 1.89 2004-05-17 15:12:09 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/TopView.st,v 1.90 2004-05-17 16:51:40 cg Exp $'
 ! !
 
 TopView initialize!
--- a/WindowGroup.st	Mon May 17 18:50:36 2004 +0200
+++ b/WindowGroup.st	Mon May 17 18:52:20 2004 +0200
@@ -1869,9 +1869,16 @@
 !WindowGroup methodsFor:'focus control'!
 
 defaultKeyboardConsumer
+    |view keyboardProcessor|
+
+    view := self mainView.
+    view notNil ifTrue:[
+        keyboardProcessor := view keyboardProcessor.
+        keyboardProcessor notNil ifTrue:[
+            ^ keyboardProcessor componentWithInitialFocus.
+        ]
+    ].
     ^ nil
-
-    "Created: / 20.5.1999 / 18:17:07 / cg"
 !
 
 explicitFocusView
@@ -2740,7 +2747,7 @@
 !WindowGroup class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.263 2004-05-13 18:47:57 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.264 2004-05-17 16:52:20 cg Exp $'
 ! !
 
 WindowGroup initialize!