EnterBox.st
changeset 73 2cd4588996e8
parent 62 7cc1e330da47
child 77 565b052f5277
--- a/EnterBox.st	Wed Dec 28 14:53:57 1994 +0100
+++ b/EnterBox.st	Wed Dec 28 15:44:02 1994 +0100
@@ -23,7 +23,7 @@
 COPYRIGHT (c) 1990 by Claus Gittinger
 	      All Rights Reserved
 
-$Header: /cvs/stx/stx/libwidg/EnterBox.st,v 1.12 1994-11-17 14:34:06 claus Exp $
+$Header: /cvs/stx/stx/libwidg/EnterBox.st,v 1.13 1994-12-28 14:44:02 claus Exp $
 '!
 
 !EnterBox class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libwidg/EnterBox.st,v 1.12 1994-11-17 14:34:06 claus Exp $
+$Header: /cvs/stx/stx/libwidg/EnterBox.st,v 1.13 1994-12-28 14:44:02 claus Exp $
 "
 !
 
@@ -193,44 +193,36 @@
 !EnterBox methodsFor:'initialization'!
 
 initialize
-    |space2 innerWidth|
+    |space2 innerWidth bw2 bh|
 
     super initialize.
 
+    label := 'Enter'.
+
     space2 := 2 * ViewSpacing.
+    bw2 := borderWidth * 2.
+    innerWidth := width - space2.
 
     labelField := Label in:self.
-    labelField label:''.
-    labelField borderWidth:0.
-    labelField adjust:#center.
-
-    "kludge: preset extent to something useful since other subviews
-     depend on it (extent blocks are not evaluated until view is realized)
-     - avoid visible resizing when realized the first time"
-
-    innerWidth := width - space2.
+    labelField label:''; 
+	       borderWidth:0;
+	       adjust:#center.
 
     labelField origin:(ViewSpacing @ ViewSpacing)
 	       extent:(innerWidth @ labelField height).
 
     self createEnterField.
-    enterField origin:(ViewSpacing @ (space2 + labelField height))
-	       extent:((width - space2 - (enterField borderWidth * 2) - margin) @ enterField height).
     enterField origin:[ViewSpacing @ (space2 + labelField height)]
 	       extent:[(width - space2 - (enterField borderWidth * 2) - margin) @ enterField height].
     enterField leaveAction:[:key | self okPressed].
     enterField addDependent:self. "to get preferedExtent-changes"
 
+    bh := font height * 2 + bw2.
     buttonPanel := HorizontalPanelView in:self.
-    buttonPanel origin:(ViewSpacing @ (height - (font height * 2) - ViewSpacing - (borderWidth * 2)))
-		extent:((width - space2 - (ViewSpacing // 2) - (buttonPanel borderWidth * 2)) 
-		       @ ((font height * 2) + (borderWidth * 2))).
-    buttonPanel origin:[ViewSpacing @ (height - (font height * 2) - ViewSpacing - (borderWidth * 2))]
-		extent:[(width - space2 - (ViewSpacing // 2) - (buttonPanel borderWidth * 2)) 
-		       @ ((font height * 2) + (borderWidth * 2))].
+    buttonPanel origin:[ViewSpacing @ (height - bh - ViewSpacing)]
+		extent:[(width - space2) @ bh].
 
-    buttonPanel layout:#fit. "/ "#spread2" #right.
-    buttonPanel borderWidth:0.
+    buttonPanel layout:#fit; borderWidth:0.
 
     abortButton := Button abortButtonIn:buttonPanel.
     abortButton action:[
@@ -251,10 +243,8 @@
 !
 
 createEnterField
-    "
-     this has been extracted from initialize method
-     to allow redefinition in subclasses.
-    "
+    "this has been extracted from the initialize method
+     to allow redefinition in subclasses. (FilenameEnterBox for example)"
 
     enterField := EditField in:self.
 !
@@ -303,16 +293,17 @@
 !EnterBox methodsFor:'queries'!
 
 preferedExtent 
-    |wWanted hWanted wPanel vs2 min|
+    |wWanted hWanted wPanel vs2 min panelPref|
 
     vs2 := ViewSpacing * 2.
+    panelPref := buttonPanel preferedExtent.
     wWanted := (labelField widthIncludingBorder max:enterField preferedExtent x) + vs2.
-    wPanel := buttonPanel preferedExtent x + vs2.
+    wPanel := panelPref x + vs2.
     wPanel > wWanted ifTrue:[
 	wWanted := wPanel
     ].
     hWanted := vs2 + labelField height + enterField height +
-	       (ViewSpacing * 6) + buttonPanel height + ViewSpacing.
+	       (ViewSpacing * 6) + panelPref y + ViewSpacing.
 
     min := self class minExtent.
     wWanted <  min x ifTrue:[