class: DeviceWorkstation
authorClaus Gittinger <cg@exept.de>
Sat, 01 Mar 2014 00:24:17 +0100
changeset 6293 ffbc09caad84
parent 6292 b5e02ca45876
child 6294 55a1757ee198
class: DeviceWorkstation added: #viewIsRelevantInCheckForEndOfDispatch: changed: #checkForEndOfDispatch
DeviceWorkstation.st
--- a/DeviceWorkstation.st	Sat Mar 01 00:17:42 2014 +0100
+++ b/DeviceWorkstation.st	Sat Mar 01 00:24:17 2014 +0100
@@ -4645,11 +4645,9 @@
         (knownViews contains:[:slot |
                 slot notNil
                 and:[slot ~~ 0
-                and:[slot isRootView not
-                and:[slot isTopView
-                and:[slot isPopUpView not
+                and:[(self viewIsRelevantInCheckForEndOfDispatch:slot) 
                 and:[true "slot isModal not"
-                "and:[slot realized]"]]]]]])
+                "and:[slot realized]"]]]])
          ifFalse:[
             "/ my last view was closed
             dispatching := false.
@@ -4989,6 +4987,16 @@
     "Release a system-wide hot key."
 
     ^ self subclassResponsibility
+!
+
+viewIsRelevantInCheckForEndOfDispatch:aView
+    "return true, if the argument is not to be treated as a user view.
+     These, if any of them is still present, will prevent the endOfDispatch if the
+     exitOnLastClose flag is set."
+
+    ^ aView isRootView not
+    and:[ aView isTopView 
+    and:[ aView isPopUpView not ]]
 ! !
 
 !DeviceWorkstation methodsFor:'event sending'!
@@ -8305,11 +8313,11 @@
 !DeviceWorkstation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.602 2014-02-28 12:57:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.603 2014-02-28 23:24:17 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.602 2014-02-28 12:57:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.603 2014-02-28 23:24:17 cg Exp $'
 ! !