box resizing and verticalPanel handling changed to allow
authorClaus Gittinger <cg@exept.de>
Wed, 23 Sep 2009 17:25:56 +0200
changeset 3933 0e24fbf0f5fa
parent 3932 fa0f5fcfc64b
child 3934 d1d5bba8c902
box resizing and verticalPanel handling changed to allow for both adding components dynamically at open time and to correctly compute the final oref. extent (after adding)
EnterBox.st
--- a/EnterBox.st	Tue Sep 22 19:03:17 2009 +0200
+++ b/EnterBox.st	Wed Sep 23 17:25:56 2009 +0200
@@ -494,16 +494,17 @@
         enterField := nil.
     ].
 
-    space2 := 2 * ViewSpacing.
-    innerWidth := width - space2.
 
     self addComponent:(enterField := aWidget).
-    enterField 
-        origin:[0.0 @ (space2 + labelField preferredHeight "height")]
-        extent:(1.0 @ enterField height).
-    enterField 
-        leftInset:ViewSpacing-enterField borderWidth; 
-        rightInset:ViewSpacing.
+"/ now all computed by addComponent....
+"/    space2 := 2 * ViewSpacing.
+"/    innerWidth := width - space2.
+"/    enterField 
+"/        origin:[0.0 @ (space2 + labelField preferredHeight "height")]
+"/        extent:(1.0 @ enterField height).
+"/    enterField 
+"/        leftInset:ViewSpacing-enterField borderWidth; 
+"/        rightInset:ViewSpacing.
 
     enterField addDependent:self. "to get preferredExtent-changes"
 
@@ -537,8 +538,8 @@
     space2 := 2 * ViewSpacing.
     innerWidth := width - space2.
 
-    labelField := Label in:self.
-    labelField 
+    labelField := Label new.
+    labelField
         label:''; 
         borderWidth:0;
         adjust:#left;
@@ -546,6 +547,7 @@
         leftInset:ViewSpacing; 
         rightInset:ViewSpacing.
 
+    self addComponent:labelField.
     self addEnterField:(self createEnterField).
 !
 
@@ -568,6 +570,8 @@
     |wWanted hWanted wPanel vs2 min 
      labelPref enterPref panelPref|
 
+    ^ super preferredExtent.
+
     "/ If I have an explicit preferredExtent..
     explicitExtent notNil ifTrue:[
         ^ explicitExtent
@@ -707,5 +711,5 @@
 !EnterBox class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/EnterBox.st,v 1.63 2008-10-26 20:14:57 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/EnterBox.st,v 1.64 2009-09-23 15:25:56 cg Exp $'
 ! !