diff -r 7abd3a234296 -r 3ffa271732f7 HorizontalPanelView.st --- a/HorizontalPanelView.st Mon May 08 17:19:27 1995 +0200 +++ b/HorizontalPanelView.st Tue May 09 03:57:16 1995 +0200 @@ -21,7 +21,7 @@ COPYRIGHT (c) 1989 by Claus Gittinger All Rights Reserved -$Header: /cvs/stx/stx/libwidg/HorizontalPanelView.st,v 1.9 1995-05-03 00:29:39 claus Exp $ +$Header: /cvs/stx/stx/libwidg/HorizontalPanelView.st,v 1.10 1995-05-09 01:55:48 claus Exp $ '! !HorizontalPanelView class methodsFor:'documentation'! @@ -42,7 +42,7 @@ version " -$Header: /cvs/stx/stx/libwidg/HorizontalPanelView.st,v 1.9 1995-05-03 00:29:39 claus Exp $ +$Header: /cvs/stx/stx/libwidg/HorizontalPanelView.st,v 1.10 1995-05-09 01:55:48 claus Exp $ " ! @@ -92,6 +92,9 @@ However, ff none of these layout/space combinations is exactly what you need in your application, create a subclass, and redefine the setChildPositions method there. + + TODO: for completeness, support #fixRight, #fixRightSpace, + #rightFit, #rightSpaceFit layouts " ! @@ -242,7 +245,7 @@ v open - example: full fit (vertical is default -> centered) + example: full fit i.e. no spacing (vertical is default -> centered) |v p b1 b2 b3| @@ -535,9 +538,10 @@ v := StandardSystemView new. p := HorizontalPanelView in:v. - v label:'hL=leftFit'. + v label:'hL=leftFit hS=0; vL=fit'. p horizontalLayout:#leftFit. + p horizontalSpace:0. p verticalLayout:#fit. p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0). @@ -558,6 +562,49 @@ l3 ignoreParentDirectory:false. v extent:400 @ 300. v open + + + trouble example: self resizing elements may cause trouble + + |v p l1 l2 l3| + + v := StandardSystemView new. + p := HorizontalPanelView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:v. + + l1 := (Label label:'one' in:p) level:-1. + l2 := (Label label:'two' in:p) level:-1. + l3 := (Label label:'three' in:p) level:-1. + + v extent:400 @ 300. + v open. + + (Delay forSeconds:5) wait. + + l1 label:'oneone'. + l2 label:'twotwo'. + l3 label:'threethree'. + + + fixed trouble example: tell the panel that this situation may happen + + |v p l1 l2 l3| + + v := StandardSystemView new. + p := HorizontalPanelView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:v. + p elementsChangeSize:true. + + l1 := (Label label:'one' in:p) level:-1. + l2 := (Label label:'two' in:p) level:-1. + l3 := (Label label:'three' in:p) level:-1. + + v extent:400 @ 300. + v open. + + (Delay forSeconds:5) wait. + + l1 label:'oneone'. + l2 label:'twotwo'. + l3 label:'threethree'. " ! !