PopUpView.st
changeset 2 b35336ab0de3
parent 0 48194c26a46c
child 5 e5942fea6925
--- a/PopUpView.st	Wed Oct 13 01:30:35 1993 +0100
+++ b/PopUpView.st	Wed Oct 13 01:32:53 1993 +0100
@@ -22,13 +22,6 @@
 COPYRIGHT (c) 1989-93 by Claus Gittinger
               All Rights Reserved
 
-this class implements an abstract superclass for all views which bypass the window manager
-and pop up on top of the screen. These are: PopUpMenus, Alertboxes etc...
-
-class variables:
-
-PopShadow       <Boolean>       if true, popupviews show a shadow
-
 %W% %E%
 
 written spring/summer 89 by claus
@@ -36,6 +29,21 @@
 
 Smalltalk at:#ActiveGrab put:nil!
 
+!PopUpView class methodsFor:'documentation'!
+
+documentation
+"
+this class implements an abstract superclass for all views which bypass the window manager
+and pop up on top of the screen. They are usually not decorated by
+window managers.
+
+class variables:
+
+PopShadow       <Boolean>       if true, popupviews show a shadow
+
+"
+! !
+
 !PopUpView class methodsFor:'defaults'!
 
 defaultExtent
@@ -46,9 +54,7 @@
 
 initialize
     super initialize.
-    PopShadow := Resource name:'POPUP_SHADOW' 
-                       default:View3D
-                      fromFile:'Smalltalk.rs'
+    PopShadow := self classResources name:'POPUP_SHADOW' default:false
 ! !
 
 !PopUpView methodsFor:'initialization / release'!
@@ -84,7 +90,9 @@
 
 create
     super create.
-    self saveUnder:true
+    PopShadow ifFalse:[
+        self saveUnder:true
+    ]
 ! !
 
 !PopUpView methodsFor:'dispatching'!
@@ -139,11 +147,11 @@
 !
 
 unrealize
-    shadowView notNil ifTrue:[shadowView unrealize].
     haveControl := false.
     ActiveGrab := nil.
     device ungrabPointer.
-    super unrealize
+    super unrealize.
+    shadowView notNil ifTrue:[shadowView unrealize].
 ! !
 
 !PopUpView methodsFor:'accessing'!