VerticalPanelView.st
changeset 3118 996b7fc6dee7
parent 2387 c589e85a4f43
child 3502 5dd1d5b01e4d
--- a/VerticalPanelView.st	Fri Jan 07 11:22:50 2005 +0100
+++ b/VerticalPanelView.st	Fri Jan 07 11:26:51 2005 +0100
@@ -892,6 +892,10 @@
         wChild := child widthIncludingBorder.
         bwChild := child borderWidth.
 
+        elementsChangeSize ifTrue:[
+            "to avoid a recursion when we change the elements size"
+            child removeDependent:self.
+        ].
         resizeToMaxH ifTrue:[
             child width:(wChild := maxWidth - (bwChild  * 2)).
         ].
@@ -963,20 +967,22 @@
             ].
         ].
         index == 1 ifTrue:[
-            |y yB|
-
             (vL == #bottomFit or:[vL == #bottomSpaceFit]) ifTrue:[
-                y := margin + 0 + (child borderWidth * 2) - borderWidth.
+                ypos := margin + 0 + (child borderWidth * 2) - borderWidth.
                 vL == #bottomSpaceFit ifTrue:[
-                    y := y + space
+                    ypos := ypos + space
                 ].
-                yB := child corner y.
-                child origin:((child origin x) @ y)
-                      corner:((child corner x) @ yB)
+                advance := restHeight.
+                child origin:((child origin x) @ ypos)
+                      corner:((child corner x) @ (ypos+advance))
             ].
         ].
 
         ypos := ypos + advance + space.
+        elementsChangeSize ifTrue:[
+            "reinstall dependency that we removed above"
+            child addDependent:self.
+        ].
     ]
 
     "Modified: / 4.9.1995 / 18:43:29 / claus"
@@ -1063,5 +1069,5 @@
 !VerticalPanelView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/VerticalPanelView.st,v 1.39 2001-08-01 13:23:44 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/VerticalPanelView.st,v 1.40 2005-01-07 10:26:49 stefan Exp $'
 ! !