HPanelV.st
author claus
Sun, 07 Aug 1994 15:23:42 +0200
changeset 38 4b9b70b2cc87
parent 5 7b4fb1b170e5
child 59 450ce95a72a4
permissions -rw-r--r--
2.10.3 pre-final version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     1
"
5
claus
parents: 3
diff changeset
     2
 COPYRIGHT (c) 1989 by Claus Gittinger
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     3
              All Rights Reserved
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     4
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    11
"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    12
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    13
PanelView subclass:#HorizontalPanelView
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    14
       instanceVariableNames:''
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    15
       classVariableNames:''
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    16
       poolDictionaries:''
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    17
       category:'Views-Layout'
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    18
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    19
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    20
HorizontalPanelView comment:'
5
claus
parents: 3
diff changeset
    21
COPYRIGHT (c) 1989 by Claus Gittinger
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    22
              All Rights Reserved
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    23
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    24
$Header: /cvs/stx/stx/libwidg/Attic/HPanelV.st,v 1.4 1994-08-07 13:22:03 claus Exp $
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    25
'!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    26
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    27
!HorizontalPanelView class methodsFor:'documentation'!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    28
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    29
copyright
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    30
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    31
 COPYRIGHT (c) 1989 by Claus Gittinger
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    32
              All Rights Reserved
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    33
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    34
 This software is furnished under a license and may be used
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    35
 only in accordance with the terms of that license and with the
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    36
 inclusion of the above copyright notice.   This software may not
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    37
 be provided or otherwise made available to, or used by, any
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    38
 other person.  No title to or ownership of the software is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    39
 hereby transferred.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    40
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    41
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    42
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    43
version
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    44
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    45
$Header: /cvs/stx/stx/libwidg/Attic/HPanelV.st,v 1.4 1994-08-07 13:22:03 claus Exp $
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    46
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    47
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    48
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    49
documentation
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    50
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    51
    a View which arranges its child-views in a horizontal row.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    52
    All real work is done in PanelView - only the layout computation is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    53
    redefined here.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    54
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    55
    example: default layout (centered)
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    56
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    57
        |v p b1 b2 b3|
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    58
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    59
        v := StandardSystemView new.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    60
        p := HorizontalPanelView in:v.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    61
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    62
        b1 := Button label:'button1' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    63
        b2 := Button label:'button2' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    64
        b3 := Button label:'button3' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    65
        v extent:300 @ 100.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    66
        v open
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    67
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    68
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    69
    example: left-layout
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    70
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    71
        |v p b1 b2 b3|
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    72
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    73
        v := StandardSystemView new.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    74
        p := HorizontalPanelView in:v.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    75
        p layout:#left.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    76
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    77
        b1 := Button label:'button1' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    78
        b2 := Button label:'button2' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    79
        b3 := Button label:'button3' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    80
        v extent:300 @ 100.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    81
        v open
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    82
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    83
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    84
    example: right-layout
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    85
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    86
        |v p b1 b2 b3|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    87
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    88
        v := StandardSystemView new.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    89
        p := HorizontalPanelView in:v.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    90
        p layout:#right.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    91
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    92
        b1 := Button label:'button1' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    93
        b2 := Button label:'button2' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    94
        b3 := Button label:'button3' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    95
        v extent:300 @ 100.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    96
        v open
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    97
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    98
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    99
    example: spread-layout
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   100
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   101
        |v p b1 b2 b3|
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   102
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   103
        v := StandardSystemView new.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   104
        p := HorizontalPanelView in:v.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   105
        p layout:#spread.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   106
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   107
        b1 := Button label:'button1' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   108
        b2 := Button label:'button2' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   109
        b3 := Button label:'button3' in:p.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   110
        v extent:300 @ 100.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   111
        v open
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   112
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   113
! !
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   114
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   115
!HorizontalPanelView methodsFor:'queries'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   116
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   117
preferedExtent
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   118
    "return a good extent, one that makes subviews fit"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   119
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   120
    |sumOfWidths maxHeight|
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   121
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   122
    subViews isNil ifTrue:[^ horizontalSpace @ verticalSpace].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   123
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   124
    "compute net height needed"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   125
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   126
    sumOfWidths := 0.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   127
    maxHeight := 0.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   128
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   129
    subViews do:[:child |
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   130
        sumOfWidths := sumOfWidths + child widthIncludingBorder.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   131
        maxHeight := maxHeight max:(child heightIncludingBorder)
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   132
    ].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   133
    borderWidth ~~ 0 ifTrue:[
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   134
        sumOfWidths := sumOfWidths + (horizontalSpace * 2).
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   135
        maxHeight := maxHeight + (verticalSpace * 2).
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   136
    ].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   137
    sumOfWidths := sumOfWidths + ((subViews size - 1) * horizontalSpace).
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   138
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   139
    ^ sumOfWidths @ maxHeight
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   140
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   141
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   142
!HorizontalPanelView methodsFor:'layout'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   143
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   144
setChildPositions
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   145
    "(re)compute position of every child whenever childs are added or
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   146
     my size has changed"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   147
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   148
    |xpos ypos space sumOfWidths numChilds l|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   149
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   150
    subViews isNil ifTrue:[^ self].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   151
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   152
    space := horizontalSpace.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   153
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   154
    "compute net width needed"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   155
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   156
    sumOfWidths := subViews inject:0 into:[:sumSoFar :child | sumSoFar + child widthIncludingBorder].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   157
    numChilds := subViews size.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   158
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   159
    l := layout.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   160
    ((l == #center) and:[numChilds == 1]) ifTrue:[
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   161
        l := #spread
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   162
    ].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   163
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   164
    "compute position of leftmost subview and space between them;
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   165
     if they do hardly fit, leave no space between them "
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   166
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   167
    (sumOfWidths >= (width - (margin * 2))) ifTrue:[
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   168
        xpos := 0.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   169
        space := 0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   170
    ] ifFalse: [
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   171
        (l == #right) ifTrue:[
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   172
            xpos := width - (space * numChilds) - sumOfWidths.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   173
"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   174
            borderWidth == 0 ifTrue:[
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   175
                xpos := xpos + space 
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   176
            ].
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   177
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   178
            xpos < 0 ifTrue:[
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   179
                space := space min:(width - sumOfWidths) // (numChilds + 1).
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   180
                xpos := width - (space * numChilds) - sumOfWidths.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   181
            ]
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   182
        ] ifFalse:[
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   183
            (l == #spread) ifTrue:[
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   184
                space := (width - sumOfWidths) // (numChilds + 1).
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   185
                xpos := space.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   186
                (space == 0) ifTrue:[
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   187
                    xpos := (width - sumOfWidths) // 2
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   188
                ]
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   189
            ] ifFalse:[
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   190
                (l == #center) ifTrue:[
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   191
                    xpos := (width - (sumOfWidths
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   192
                                      + ((numChilds - 1) * space))) // 2.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   193
                    xpos < 0 ifTrue:[
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   194
                        space := (width - sumOfWidths) // (numChilds + 1).
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   195
                        xpos := (width - (sumOfWidths
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   196
                                       + ((numChilds - 1) * space))) // 2.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   197
                    ]
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   198
                ] ifFalse:[
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   199
                    "left"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   200
                    space := space min:(width - sumOfWidths) // (numChilds + 1).
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   201
                    xpos := space.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   202
"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   203
                    borderWidth == 0 ifTrue:[
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   204
                        xpos := 0 
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   205
                    ].
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   206
"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   207
                ]
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   208
            ]
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   209
        ]
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   210
    ].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   211
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   212
    "now set positions"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   213
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   214
    subViews do:[:child |
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   215
        ypos := (height - child heightIncludingBorder) // 2.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   216
        (ypos < 0) ifTrue:[ypos := 0].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   217
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   218
        child origin:(xpos @ ypos).
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   219
        xpos := xpos + (child widthIncludingBorder) + space
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   220
    ]
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   221
! !