--- a/SimpleView.st Mon Jun 01 08:59:22 2009 +0200
+++ b/SimpleView.st Mon Jun 01 09:41:56 2009 +0200
@@ -8498,29 +8498,29 @@
"only useful with modal views: hide the view and return control
back to the suspended main view. Ignored for non-modal views."
+ "/ cg - now obsolete; redefined in topView.
|masterGroup|
realized ifFalse:[^ self].
- windowGroup isNil ifTrue:[^ self].
- windowGroup isModal ifFalse:[^ self].
- masterGroup := windowGroup previousGroup.
-
- windowGroup notNil ifTrue:[windowGroup focusView:nil].
+ (windowGroup notNil and:[windowGroup isModal]) ifTrue:[
+ masterGroup := windowGroup previousGroup.
+ windowGroup focusView:nil.
+ ].
self unmap.
device flush.
masterGroup notNil ifTrue:[
- "
- this is a kludge for IRIS and others which do not provide backingstore:
- when we hide a modalbox (such as a searchbox) which covered
- a scrollbar, the scrollbars bitblt-method will copy from the
- not-yet redrawn area - effectively clearing the scroller.
- We need a short delay here, since at this time, the expose event has
- not yet arrived.
- "
- Delay waitForSeconds:0.05.
- masterGroup processExposeEvents
+ "
+ this is a kludge for IRIS and others which do not provide backingstore:
+ when we hide a modalbox (such as a searchbox) which covered
+ a scrollbar, the scrollbars bitblt-method will copy from the
+ not-yet redrawn area - effectively clearing the scroller.
+ We need a short delay here, since at this time, the expose event has
+ not yet arrived.
+ "
+ Delay waitForSeconds:0.05.
+ masterGroup processExposeEvents
].
"/ WindowGroup leaveSignal raise.
@@ -9956,13 +9956,15 @@
|masterGroup activeGroup|
+ activeGroup := WindowGroup activeGroup.
+
"/ cg - because we raise that window, we should avoid to raise the main-non-modal view,
"/ if a dialog is opend from another modal view (confirmation in a modal-box)
-"/ mainGroup := WindowGroup activeGroup.
+"/ mainGroup := activeGroup.
"/ mainGroup notNil ifTrue:[mainGroup := mainGroup mainGroup].
-"/ masterGroup := activeGroup := WindowGroup activeGroup.
+"/ masterGroup := activeGroup.
"/ [masterGroup notNil and:[masterGroup isPopUp or:[masterGroup isModal]]] whileTrue:[
"/ masterGroup := masterGroup previousGroup.
"/ ].
@@ -10064,10 +10066,10 @@
"
AbortOperationRequest handle:[:ex |
AbortOperationRequest handle:[:ex2 |
-self halt.
+ "/ an aborted hide (user confirmation ?)
+ self breakPoint:#cg.
ex proceed
] do:[
-self halt.
self hide.
ex proceed
].
@@ -10390,7 +10392,7 @@
!SimpleView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/SimpleView.st,v 1.627 2009-06-01 06:44:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/SimpleView.st,v 1.628 2009-06-01 07:41:56 cg Exp $'
! !
SimpleView initialize!