WindowGroup.st
changeset 6742 2e8554df5439
parent 6638 953215a3f78d
child 6744 63a263059d4c
--- a/WindowGroup.st	Mon Jan 12 11:27:54 2015 +0100
+++ b/WindowGroup.st	Mon Jan 12 11:28:33 2015 +0100
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libview' }"
 
+"{ NameSpace: Smalltalk }"
+
 Object subclass:#WindowGroup
 	instanceVariableNames:'graphicsDevice views topViews myProcess mySensor isModal
 		previousGroup focusView focusSequence preEventHook postEventHook
@@ -1991,7 +1993,8 @@
 
     previousFocusView notNil ifTrue:[
         previousFocusView isVisible ifTrue:[
-            self focusToView:previousFocusView
+            "/ self focusToView:previousFocusView
+            self focusView:previousFocusView
         ]
     ]
 !
@@ -2246,6 +2249,9 @@
      that the user has explicitely tabbed into the view to force focus to it)"
 
     |prevFocusView myDisplay|
+(aViewOrNil notNil and:[aViewOrNil shown not]) ifTrue:[
+aViewOrNil topView shown ifTrue:[self halt].
+].
 
     "/'focusToView:' print. aViewOrNil print. 
     "/' (prev: ' print.  focusView print. ')' printCR.
@@ -2272,8 +2278,10 @@
             focusCameViaTabOrNil notNil ifTrue:[
                 focusByTab := focusCameViaTabOrNil "or:[focusByTab]".
             ].
-            false ifTrue:[
+            true ifTrue:[
                 focusView showFocus:focusByTab.
+            ].
+            true ifTrue:[
                 'give focus to ' print. aViewOrNil printCR. 
                 self class sendKeyboardFocusEventTo:aViewOrNil withArgument:true.
             ].
@@ -2285,6 +2293,7 @@
         "/ lost explicit focus
         focusView == aViewOrNil ifTrue:[
             "/'give focus to ' print. aViewOrNil printCR. 
+            aViewOrNil showFocus:(focusCameViaTabOrNil ? true).
             self class sendKeyboardFocusEventTo:aViewOrNil withArgument:true.
             ^ self
         ].
@@ -2849,11 +2858,11 @@
 !WindowGroup class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.335 2014-11-28 12:03:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.336 2015-01-12 10:28:33 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.335 2014-11-28 12:03:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.336 2015-01-12 10:28:33 cg Exp $'
 ! !