HorizontalPanelView.st
author Claus Gittinger <cg@exept.de>
Thu, 31 Jul 1997 23:12:50 +0200
changeset 1291 03ed7c44f194
parent 1254 c9e604f03e6a
child 1306 bf4903012f7a
permissions -rw-r--r--
finally removed #layout - you had enough time to convert.
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
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
     3
	      All Rights Reserved
0
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
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
    14
	instanceVariableNames:''
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
    15
	classVariableNames:''
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
    16
	poolDictionaries:''
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
    17
	category:'Views-Layout'
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    18
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    19
980
6079922a5519 eliminated references to subViews instance variable (will vanish)
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
    20
!HorizontalPanelView class methodsFor:'documentation'!
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    21
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    22
copyright
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    23
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    24
 COPYRIGHT (c) 1989 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    25
	      All Rights Reserved
38
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
 This software is furnished under a license and may be used
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    28
 only in accordance with the terms of that license and with the
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    29
 inclusion of the above copyright notice.   This software may not
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    30
 be provided or otherwise made available to, or used by, any
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    31
 other person.  No title to or ownership of the software is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    32
 hereby transferred.
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
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    35
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    36
documentation
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    37
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    38
    a View which arranges its child-views in a horizontal row.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    39
    All real work is done in PanelView - only the layout computation is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    40
    redefined here.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    41
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    42
    The layout is controlled the instance variables: 
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    43
        horizontalLayout and verticalLayout
127
claus
parents: 125
diff changeset
    44
    in addition to 
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    45
        horizontalSpace and verticalSpace.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    46
133
claus
parents: 131
diff changeset
    47
    HorizontalSpace and verticalSpace control the spacing between elements;
claus
parents: 131
diff changeset
    48
    they default to some 1mm.
claus
parents: 131
diff changeset
    49
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    50
    The horizontal layout can be any of:
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    51
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    52
        #left           arrange elements at the left
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    53
        #leftSpace      arrange elements at the left, start with spacing
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    54
        #fixLeft        same as #left, but do not reduce spacing in case of no fit
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    55
        #fixLeftSpace   same as #leftSpace, but do not reduce spacing in case of no fit
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    56
        #right          arrange elements at the right
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    57
        #rightSpace     arrange elements at the right, start with spacing
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    58
        #center         arrange elements in the center
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    59
        #spread         spread elements evenly
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    60
        #spreadSpace    spread elements evenly with spacing at the ends
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    61
        #fit            like #spread, but resize elements for tight packing
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    62
        #fitSpace       like #fit, with additional spacing at the far ends
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    63
        #leftFit        like #left, but extend the last element to the right
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    64
        #leftSpaceFit   like #leftSpace, but extend the last element to the right
133
claus
parents: 131
diff changeset
    65
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    66
        #leftMax        like corresponding non-Max layouts,
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    67
        #leftSpaceMax   but resize all components to width of widest components
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    68
        #rightMax
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    69
        #rightSpaceMax
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    70
        #centerMax
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    71
        #spreadMax
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    72
        #spreadSpaceMax
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    73
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    74
    the vertical layout can be:
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    75
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    76
        #top            place element at the top
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    77
        #topSpace       place element at the top, offset by verticalSpace
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    78
        #center         place it horizontally centered
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    79
        #bottom         place it at the bottom
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    80
        #bottomSpace    place it at the bottom, offset by verticalSpace
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    81
        #fit            resize elements vertically to fit this panel
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    82
        #fitSpace       like #fit, but with spacing
133
claus
parents: 131
diff changeset
    83
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    84
        #topMax         like #top, but resize all views vertically to max height
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    85
        #topSpaceMax    like #topSpace, but resize all views vertically to max height
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    86
        #bottomMax      like #bottom, but resize all views vertically to max height
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    87
        #bottomSpaceMax like #bottomSpace, but resize all views vertically to max height
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
    88
        #centerMax      like #center, but resize all views vertically to max height
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    89
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    90
    The defaults is #center for both directions.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    91
    The layout is changed by the messages #verticalLayout: and #horizontalLayout:.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    92
    For backward compatibility (to times, where only hLayout existed), the simple
133
claus
parents: 131
diff changeset
    93
    #layout: does the same as #horizontalLayout:. 
claus
parents: 131
diff changeset
    94
    Do not use this old method; it will vanish and currently outpus a warning.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    95
127
claus
parents: 125
diff changeset
    96
    The panel assumes, that the elements do not resize themselfes, after it
claus
parents: 125
diff changeset
    97
    became visible. This is not true for all widgets (buttons or labels may
claus
parents: 125
diff changeset
    98
    like to change). If you have changing elements, tell this to the panel
claus
parents: 125
diff changeset
    99
    with 'aPanel elementsChangeSize:true'. In that case, the panel will react
133
claus
parents: 131
diff changeset
   100
    to size changes of its elements, and reorganize things.
127
claus
parents: 125
diff changeset
   101
118
claus
parents: 77
diff changeset
   102
    By combining Horizontal- and VerticalPanels (i.e. place a hPanel into a
claus
parents: 77
diff changeset
   103
    vPanel), most layouts should be implementable.
133
claus
parents: 131
diff changeset
   104
    However, iff none of these layout/space combinations is exactly what you need 
118
claus
parents: 77
diff changeset
   105
    in your application, create a subclass, and redefine the setChildPositions 
claus
parents: 77
diff changeset
   106
    method there.
125
claus
parents: 118
diff changeset
   107
claus
parents: 118
diff changeset
   108
    TODO: for completeness, support #fixRight, #fixRightSpace,
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   109
          #rightFit, #rightSpaceFit layouts
127
claus
parents: 125
diff changeset
   110
claus
parents: 125
diff changeset
   111
    CAVEAT: this class started with #left and no vertical alignments;
133
claus
parents: 131
diff changeset
   112
    as time went by, more layouts were added (by users requests)
claus
parents: 131
diff changeset
   113
    and noew, many layout combinations are possible.
claus
parents: 131
diff changeset
   114
    Reflecting this, the setup should be changed to use different selectors 
claus
parents: 131
diff changeset
   115
    for space-on/off, max-resize and alignment
127
claus
parents: 125
diff changeset
   116
    (i.e. having more and more layout symbols makes things a bit confusing ...)
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   117
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   118
    [see also:]
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   119
        VerticalPanelView
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   120
        VariableVerticalPanel VariableHorizontalPanel
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   121
        Label
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   122
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   123
    [author:]
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   124
        Claus Gittinger
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   125
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   126
    [author:]
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   127
        Claus Gittinger
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   128
"
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   129
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   130
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   131
examples
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   132
"
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   133
    These examples show the effect of various horizontalLayout and
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   134
    verticalLayout settings. Try them all. Especially, notice the
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   135
    differences between the xxx and xxxSpace layouts and the effect of
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   136
    setting different values for the spacing.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   137
    Try resizing the view and see how the elements get rearranged.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   138
118
claus
parents: 77
diff changeset
   139
    Most of the examples below place 3 buttons onto a panel; Of course,
claus
parents: 77
diff changeset
   140
    you can put any other view into a panel ... the last examples show this.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   141
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   142
127
claus
parents: 125
diff changeset
   143
    example: default layout (center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   144
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   145
        |v p b1 b2 b3|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   146
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   147
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   148
        v label:'default: center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   149
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   150
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   151
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   152
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   153
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   154
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   155
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   156
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   157
                                                                        [exEnd]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   158
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   159
133
claus
parents: 131
diff changeset
   160
    example: same (default center layout) with different sized elements
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   161
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   162
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   163
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   164
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   165
        v label:'default: center'.
133
claus
parents: 131
diff changeset
   166
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   167
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   168
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   169
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   170
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   171
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   172
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   173
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   174
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   175
claus
parents: 131
diff changeset
   176
claus
parents: 131
diff changeset
   177
    example: horizontal default (center); vertical centerMax
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   178
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   179
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   180
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   181
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   182
        v label:'vL=centerMax'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   183
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   184
        p verticalLayout:#centerMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   185
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   186
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   187
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   188
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   189
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   190
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   191
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   192
claus
parents: 131
diff changeset
   193
claus
parents: 131
diff changeset
   194
    example: horizontal default (center); vertical topMax
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   195
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   196
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   197
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   198
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   199
        v label:'vL=topMax'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   200
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   201
        p verticalLayout:#topMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   202
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   203
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   204
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   205
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   206
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   207
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   208
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   209
claus
parents: 131
diff changeset
   210
claus
parents: 131
diff changeset
   211
    example: horizontal default (center); vertical topSpaceMax
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   212
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   213
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   214
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   215
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   216
        v label:'vL=topSpaceMax'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   217
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   218
        p verticalLayout:#topSpaceMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   219
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   220
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   221
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   222
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   223
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   224
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   225
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   226
claus
parents: 131
diff changeset
   227
claus
parents: 131
diff changeset
   228
    example: horizontal default (center); vertical bottomMax
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   229
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   230
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   231
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   232
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   233
        v label:'vL=bottomMax'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   234
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   235
        p verticalLayout:#bottomMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   236
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   237
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   238
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   239
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   240
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   241
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   242
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   243
claus
parents: 131
diff changeset
   244
claus
parents: 131
diff changeset
   245
    example: horizontal default (center); vertical bottomSpaceMax
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   246
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   247
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   248
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   249
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   250
        v label:'vL=bottomSpaceMax'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   251
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   252
        p verticalLayout:#bottomSpaceMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   253
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   254
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   255
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   256
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   257
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   258
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   259
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   260
claus
parents: 131
diff changeset
   261
127
claus
parents: 125
diff changeset
   262
    example: left-layout (vertical is default -> center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   263
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   264
        |v p b1 b2 b3|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   265
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   266
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   267
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   268
        v label:'hL=left; vL=default (center)'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   269
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   270
        p horizontalLayout:#left.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   271
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   272
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   273
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   274
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   275
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   276
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   277
                                                                        [exEnd]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   278
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   279
127
claus
parents: 125
diff changeset
   280
    example: left starting with spacing (vertical is default -> center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   281
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   282
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   283
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   284
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   285
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   286
        v label:'hL=leftSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   287
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   288
        p horizontalLayout:#leftSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   289
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   290
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   291
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   292
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   293
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   294
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   295
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   296
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   297
127
claus
parents: 125
diff changeset
   298
    example: leftFit-layout (vertical is default -> center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   299
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   300
        |v p b1 b2 b3|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   301
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   302
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   303
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   304
        v label:'hL=leftFit; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   305
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   306
        p horizontalLayout:#leftFit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   307
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   308
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   309
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   310
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   311
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   312
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   313
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   314
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   315
127
claus
parents: 125
diff changeset
   316
    example: leftSpaceFit-layout (vertical is default -> center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   317
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   318
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   319
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   320
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   321
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   322
        v label:'hL=leftSpaceFit; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   323
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   324
        p horizontalLayout:#leftSpaceFit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   325
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   326
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   327
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   328
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   329
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   330
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   331
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   332
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   333
127
claus
parents: 125
diff changeset
   334
    example: right-layout (vertical is default -> center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   335
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   336
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   337
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   338
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   339
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   340
        v label:'hL=right; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   341
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   342
        p horizontalLayout:#right.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   343
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   344
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   345
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   346
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   347
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   348
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   349
                                                                        [exEnd]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   350
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   351
127
claus
parents: 125
diff changeset
   352
    example: right with initial spacing (vertical is default -> center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   353
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   354
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   355
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   356
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   357
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   358
        v label:'hL=rightSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   359
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   360
        p horizontalLayout:#rightSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   361
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   362
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   363
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   364
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   365
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   366
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   367
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   368
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   369
127
claus
parents: 125
diff changeset
   370
    example: fit-layout (vertical is default -> center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   371
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   372
        |v p b1 b2 b3|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   373
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   374
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   375
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   376
        p horizontalLayout:#fit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   377
        v label:'hL=fit; vL=center'.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   378
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   379
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   380
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   381
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   382
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   383
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   384
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   385
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   386
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   387
127
claus
parents: 125
diff changeset
   388
    example: full fit i.e. no spacing (vertical is default -> center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   389
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   390
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   391
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   392
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   393
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   394
        p horizontalLayout:#fit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   395
        p horizontalSpace:0.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   396
        v label:'hL=fit hS=0; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   397
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   398
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   399
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   400
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   401
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   402
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   403
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   404
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   405
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   406
127
claus
parents: 125
diff changeset
   407
    example: fit with spacing (vertical is default -> center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   408
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   409
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   410
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   411
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   412
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   413
        v label:'hL=fitSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   414
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   415
        p horizontalLayout:#fitSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   416
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   417
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   418
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   419
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   420
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   421
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   422
                                                                        [exEnd]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   423
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   424
127
claus
parents: 125
diff changeset
   425
    example: spread-layout (vertical is default -> center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   426
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   427
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   428
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   429
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   430
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   431
        p horizontalLayout:#spread.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   432
        v label:'hL=spread; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   433
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   434
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   435
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   436
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   437
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   438
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   439
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   440
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   441
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   442
127
claus
parents: 125
diff changeset
   443
    example: spread with spacing (vertical is default -> center)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   444
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   445
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   446
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   447
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   448
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   449
        v label:'hL=spreadSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   450
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   451
        p horizontalLayout:#spreadSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   452
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   453
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   454
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   455
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   456
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   457
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   458
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   459
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   460
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   461
    example: spread with spacing; vertical fit
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   462
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   463
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   464
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   465
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   466
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   467
        v label:'hL=spreadSpace; vL=fit'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   468
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   469
        p horizontalLayout:#spreadSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   470
        p verticalLayout:#fit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   471
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   472
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   473
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   474
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   475
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   476
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   477
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   478
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   479
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   480
    example: spread with spacing; vertical fit with spacing
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   481
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   482
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   483
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   484
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   485
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   486
        v label:'hL=spreadSpace; vL=fitSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   487
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   488
        p horizontalLayout:#spreadSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   489
        p verticalLayout:#fitSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   490
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   491
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   492
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   493
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   494
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   495
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   496
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   497
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   498
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   499
    example: fit - top
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   500
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   501
        |v p b1 b2 b3|
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   502
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   503
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   504
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   505
        v label:'hL=fit; vL=top'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   506
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   507
        p horizontalLayout:#fit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   508
        p verticalLayout:#top.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   509
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   510
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   511
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   512
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   513
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   514
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   515
                                                                        [exEnd]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   516
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   517
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   518
    example: fit with initial spacing
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   519
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   520
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   521
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   522
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   523
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   524
        v label:'hL=fitSpace; vL=top'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   525
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   526
        p horizontalLayout:#fitSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   527
        p verticalLayout:#top.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   528
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   529
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   530
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   531
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   532
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   533
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   534
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   535
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   536
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   537
    example: fit with initial spacing in both directions
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   538
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   539
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   540
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   541
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   542
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   543
        v label:'hL=fitSpace; vL=fitSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   544
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   545
        p horizontalLayout:#fitSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   546
        p verticalLayout:#fitSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   547
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   548
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   549
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   550
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   551
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   552
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   553
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   554
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   555
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   556
    example: fit without spacing in both directions
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   557
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   558
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   559
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   560
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   561
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   562
        v label:'hL=fit hS=0; vL=fit'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   563
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   564
        p horizontalLayout:#fit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   565
        p verticalLayout:#fit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   566
        p horizontalSpace:0.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   567
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   568
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   569
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   570
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   571
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   572
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   573
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   574
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   575
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   576
    example: fit with initial spacing; top with spacing
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   577
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   578
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   579
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   580
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   581
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   582
        v label:'hL=fitSpace; vL=topSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   583
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   584
        p horizontalLayout:#fitSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   585
        p verticalLayout:#topSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   586
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   587
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   588
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   589
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   590
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   591
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   592
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   593
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   594
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   595
    example: fit - top without spacing
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   596
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   597
        |v p b1 b2 b3|
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   598
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   599
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   600
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   601
        v label:'hL=fit; vL=top'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   602
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   603
        p horizontalLayout:#fit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   604
        p verticalLayout:#top.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   605
        p horizontalSpace:0.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   606
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   607
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   608
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   609
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   610
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   611
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   612
                                                                        [exEnd]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   613
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   614
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   615
    example: fit - bottom with spacing and bottomSpace
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   616
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   617
        |v p b1 b2 b3|
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   618
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   619
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   620
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   621
        v label:'hL=fitSpace; vL=bottomSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   622
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   623
        p horizontalLayout:#fitSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   624
        p verticalLayout:#bottomSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   625
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   626
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   627
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   628
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   629
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   630
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   631
                                                                        [exEnd]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   632
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   633
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   634
    example: fit no horizontal space - bottom with spacing and bottomSpace
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   635
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   636
        |v p b1 b2 b3|
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   637
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   638
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   639
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   640
        v label:'hL=fit; vL=bottomSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   641
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   642
        p horizontalLayout:#fit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   643
        p verticalLayout:#bottomSpace.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   644
        p horizontalSpace:0.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   645
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   646
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   647
        b2 := Button label:'button2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   648
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   649
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   650
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   651
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   652
133
claus
parents: 131
diff changeset
   653
    example: leftMax - vertical default
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   654
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   655
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   656
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   657
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   658
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   659
        v label:'hL=leftMax; vL=default'.
133
claus
parents: 131
diff changeset
   660
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   661
        p horizontalLayout:#leftMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   662
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   663
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   664
        b2 := Button label:'b2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   665
        b3 := Button label:'but3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   666
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   667
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   668
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   669
claus
parents: 131
diff changeset
   670
claus
parents: 131
diff changeset
   671
    example: leftSpaceMax - vertical default
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   672
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   673
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   674
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   675
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   676
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   677
        v label:'hL=leftSpaceMax; vL=default'.
133
claus
parents: 131
diff changeset
   678
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   679
        p horizontalLayout:#leftSpaceMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   680
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   681
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   682
        b2 := Button label:'b2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   683
        b3 := Button label:'but3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   684
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   685
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   686
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   687
claus
parents: 131
diff changeset
   688
claus
parents: 131
diff changeset
   689
    example: rightMax - vertical default
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   690
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   691
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   692
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   693
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   694
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   695
        v label:'hL=rightMax; vL=default'.
133
claus
parents: 131
diff changeset
   696
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   697
        p horizontalLayout:#rightMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   698
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   699
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   700
        b2 := Button label:'b2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   701
        b3 := Button label:'but3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   702
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   703
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   704
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   705
claus
parents: 131
diff changeset
   706
claus
parents: 131
diff changeset
   707
    example: rightSpaceMax - vertical default
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   708
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   709
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   710
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   711
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   712
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   713
        v label:'hL=rightSpaceMax; vL=default'.
133
claus
parents: 131
diff changeset
   714
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   715
        p horizontalLayout:#rightSpaceMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   716
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   717
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   718
        b2 := Button label:'b2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   719
        b3 := Button label:'but3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   720
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   721
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   722
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   723
claus
parents: 131
diff changeset
   724
claus
parents: 131
diff changeset
   725
    example: centerMax - vertical default
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   726
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   727
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   728
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   729
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   730
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   731
        v label:'hL=centerMax; vL=default'.
133
claus
parents: 131
diff changeset
   732
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   733
        p horizontalLayout:#centerMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   734
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   735
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   736
        b2 := Button label:'b2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   737
        b3 := Button label:'but3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   738
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   739
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   740
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   741
claus
parents: 131
diff changeset
   742
claus
parents: 131
diff changeset
   743
    example: spreadMax - vertical default
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   744
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   745
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   746
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   747
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   748
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   749
        v label:'hL=spreadMax; vL=default'.
133
claus
parents: 131
diff changeset
   750
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   751
        p horizontalLayout:#spreadMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   752
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   753
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   754
        b2 := Button label:'b2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   755
        b3 := Button label:'but3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   756
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   757
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   758
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   759
claus
parents: 131
diff changeset
   760
claus
parents: 131
diff changeset
   761
    example: spreadSpaceMax - vertical default
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   762
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   763
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   764
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   765
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   766
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   767
        v label:'hL=spreadSpaceMax; vL=default'.
133
claus
parents: 131
diff changeset
   768
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   769
        p horizontalLayout:#spreadSpaceMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   770
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   771
        b1 := Button label:'button1' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   772
        b2 := Button label:'b2' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   773
        b3 := Button label:'but3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   774
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   775
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   776
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   777
claus
parents: 131
diff changeset
   778
claus
parents: 131
diff changeset
   779
    example: maximize elements in both directions and center
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   780
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   781
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   782
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   783
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   784
        v label:'hL=centerMax; vL=centerMax'.
133
claus
parents: 131
diff changeset
   785
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   786
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   787
        p horizontalLayout:#centerMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   788
        p verticalLayout:#centerMax.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   789
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   790
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   791
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   792
        b3 := Button label:'button3' in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   793
        v extent:300 @ 100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   794
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   795
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   796
claus
parents: 131
diff changeset
   797
118
claus
parents: 77
diff changeset
   798
    example: placing hPanels into a vPanel
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   799
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   800
        |v vP hP1 hP2 hP3 b1 b2 b3 b4 b5 b6 b7 b8 b9|
118
claus
parents: 77
diff changeset
   801
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   802
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   803
        vP := VerticalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   804
        vP origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   805
        vP verticalLayout:#fit;
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   806
           verticalSpace:0;
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   807
           horizontalLayout:#fit.
118
claus
parents: 77
diff changeset
   808
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   809
        hP1 := HorizontalPanelView in:vP.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   810
        hP1 horizontalLayout:#fitSpace;
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   811
            verticalLayout:#center.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   812
        b1 := Button label:'button1' in:hP1.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   813
        b2 := Button label:'button2' in:hP1.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   814
        b3 := Button label:'button3' in:hP1.
118
claus
parents: 77
diff changeset
   815
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   816
        hP2 := HorizontalPanelView in:vP.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   817
        hP2 horizontalLayout:#fitSpace;
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   818
            verticalLayout:#center.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   819
        b4 := Button label:'button4' in:hP2.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   820
        b5 := Button label:'button5' in:hP2.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   821
        b6 := Button label:'button6' in:hP2.
118
claus
parents: 77
diff changeset
   822
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   823
        hP3 := HorizontalPanelView in:vP.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   824
        hP3 horizontalLayout:#fitSpace;
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   825
            verticalLayout:#center.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   826
        b7 := Button label:'button7' in:hP3.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   827
        b8 := Button label:'button8' in:hP3.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   828
        b9 := Button label:'button9' in:hP3.
118
claus
parents: 77
diff changeset
   829
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   830
        v extent:300 @ 300.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   831
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   832
                                                                        [exEnd]
118
claus
parents: 77
diff changeset
   833
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   834
    example: a browser like table, where the rightmost list
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   835
             extends to the far right.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   836
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   837
        |v p l1 l2 l3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   838
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   839
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   840
        p := HorizontalPanelView in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   841
        v label:'hL=leftFit hS=0; vL=fit'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   842
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   843
        p horizontalLayout:#leftFit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   844
        p horizontalSpace:0.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   845
        p verticalLayout:#fit.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   846
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   847
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   848
        l1 := ScrollableView for:FileSelectionList in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   849
        l1 stayInDirectory:true.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   850
        l1 ignoreParentDirectory:true.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   851
        l1 directory:'/'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   852
        l1 action:[:selection | l2 directory:(l1 selectedPathname)].
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   853
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   854
        l2 := ScrollableView for:FileSelectionList in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   855
        l2 stayInDirectory:true.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   856
        l2 directory:nil.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   857
        l2 ignoreParentDirectory:true.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   858
        l2 action:[:selection | l3 directory:(l2 selectedPathname)].
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   859
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   860
        l3 := ScrollableView for:FileSelectionList in:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   861
        l3 directory:nil.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   862
        l3 ignoreParentDirectory:false.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   863
        v extent:400 @ 300.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   864
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   865
                                                                        [exEnd]
125
claus
parents: 118
diff changeset
   866
claus
parents: 118
diff changeset
   867
claus
parents: 118
diff changeset
   868
    trouble example: self resizing elements may cause trouble
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   869
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   870
        |v p l1 l2 l3|
125
claus
parents: 118
diff changeset
   871
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   872
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   873
        p := HorizontalPanelView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   874
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   875
        l1 := (Label label:'one' in:p) level:-1.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   876
        l2 := (Label label:'two' in:p) level:-1.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   877
        l3 := (Label label:'three' in:p) level:-1.
125
claus
parents: 118
diff changeset
   878
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   879
        v extent:400 @ 300.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   880
        v open.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   881
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   882
        (Delay forSeconds:5) wait.
125
claus
parents: 118
diff changeset
   883
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   884
        l1 label:'oneone'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   885
        l2 label:'twotwo'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   886
        l3 label:'threethree'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   887
                                                                        [exEnd]
125
claus
parents: 118
diff changeset
   888
claus
parents: 118
diff changeset
   889
claus
parents: 118
diff changeset
   890
    fixed trouble example: tell the panel that this situation may happen
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   891
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   892
        |v p l1 l2 l3|
125
claus
parents: 118
diff changeset
   893
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   894
        v := StandardSystemView new.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   895
        p := HorizontalPanelView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   896
        p elementsChangeSize:true.
125
claus
parents: 118
diff changeset
   897
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   898
        l1 := (Label label:'one' in:p) level:-1.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   899
        l2 := (Label label:'two' in:p) level:-1.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   900
        l3 := (Label label:'three' in:p) level:-1.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   901
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   902
        v extent:400 @ 300.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   903
        v open.
125
claus
parents: 118
diff changeset
   904
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   905
        (Delay forSeconds:5) wait.
125
claus
parents: 118
diff changeset
   906
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   907
        l1 label:'oneone'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   908
        l2 label:'twotwo'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   909
        l3 label:'threethree'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   910
                                                                        [exEnd]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   911
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   912
! !
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   913
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   914
!HorizontalPanelView methodsFor:'accessing'!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   915
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   916
horizontalLayout
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   917
    "return the horizontal layout as symbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   918
     the returned value is one of
133
claus
parents: 131
diff changeset
   919
	#left           arrange elements at the left
claus
parents: 131
diff changeset
   920
	#leftSpace      arrange elements at the left, start with spacing
claus
parents: 131
diff changeset
   921
	#fixLeft        same as #left, but do not reduce spacing in case of no fit
claus
parents: 131
diff changeset
   922
	#fixLeftSpace   same as #leftSpace, but do not reduce spacing in case of no fit
claus
parents: 131
diff changeset
   923
	#right          arrange elements at the right
claus
parents: 131
diff changeset
   924
	#rightSpace     arrange elements at the right, start with spacing
claus
parents: 131
diff changeset
   925
	#center         arrange elements in the center
claus
parents: 131
diff changeset
   926
	#spread         spread elements evenly
claus
parents: 131
diff changeset
   927
	#spreadSpace    spread elements evenly with spacing at the ends
claus
parents: 131
diff changeset
   928
	#fit            like #spread, but resize elements for tight packing
claus
parents: 131
diff changeset
   929
	#fitSpace       like #fit, with additional spacing at the far ends
claus
parents: 131
diff changeset
   930
	#leftFit        like #left, but extend the last element to the right
claus
parents: 131
diff changeset
   931
	#leftSpaceFit   like #leftSpace, but extend the last element to the right
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   932
      the default is #center
118
claus
parents: 77
diff changeset
   933
      See the class documentation for  the meanings.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   934
    "
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   935
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   936
    ^ hLayout
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   937
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   938
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   939
horizontalLayout:aSymbol
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   940
    "change the horizontal layout as symbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   941
     The argument, aSymbol must be one of:
1156
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   942
        #left           arrange elements at the left
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   943
        #leftSpace      arrange elements at the left, start with spacing
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   944
        #fixLeft        same as #left, but do not reduce spacing in case of no fit
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   945
        #fixLeftSpace   same as #leftSpace, but do not reduce spacing in case of no fit
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   946
        #right          arrange elements at the right
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   947
        #rightSpace     arrange elements at the right, start with spacing
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   948
        #center         arrange elements in the center
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   949
        #spread         spread elements evenly
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   950
        #spreadSpace    spread elements evenly with spacing at the ends
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   951
        #fit            like #spread, but resize elements for tight packing
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   952
        #fitSpace       like #fit, with additional spacing at the far ends
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   953
        #leftFit        like #left, but extend the last element to the right
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   954
        #leftSpaceFit   like #leftSpace, but extend the last element to the right
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   955
        #leftMax        like non-Max layouts, resizing components to
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   956
        #leftSpaceMax   the width of the widest component
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   957
        #rightMax
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   958
        #rightSpaceMax
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   959
        #centerMax
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   960
        #spreadMax
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   961
        #spreadSpaceMax
118
claus
parents: 77
diff changeset
   962
      the default (if never changed) is #center.
claus
parents: 77
diff changeset
   963
      See the class documentation for  the meanings.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   964
    "
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   965
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   966
    (hLayout ~~ aSymbol) ifTrue:[
1156
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   967
        hLayout := aSymbol.
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   968
        self layoutChanged
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   969
    ]
1156
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   970
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
   971
    "Modified: 26.3.1997 / 15:41:16 / cg"
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   972
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   973
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   974
layout:something
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   975
    "OBSOLETE compatibility interface. Will vanish.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   976
     leftover for historic reasons - do not use any more.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   977
     In the meantime, try to figure out what is meant ... a kludge"
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   978
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   979
    something isLayout ifTrue:[^ super layout:something].
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   980
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   981
    self obsoleteMethodWarning:'use #horizontalLayout:'.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   982
    ^ self horizontalLayout:something
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   983
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   984
    "Modified: 31.8.1995 / 23:07:33 / claus"
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   985
!
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   986
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   987
verticalLayout
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   988
    "return the vertical layout as a symbol.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   989
     the returned value is one of
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   990
	#top            place element at the top
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   991
	#topSpace       place element at the top, offset by verticalSpace
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   992
	#center         place it horizontally centered
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   993
	#bottom         place it at the bottom
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   994
	#bottomSpace    place it at the bottom, offset by verticalSpace
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   995
	#fit            resize elements vertically to fit this panel
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   996
	#fitSpace       like #fit, but with spacing
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   997
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   998
	#topMax         like #top, but resize all views vertically to max height
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   999
	#topSpaceMax    like #topSpace, but resize all views vertically to max height
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1000
	#bottomMax      like #bottom, but resize all views vertically to max height
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1001
	#bottomSpaceMax like #bottomSpace, but resize all views vertically to max height
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1002
	#centerMax      like #center, but resize all views vertically to max height
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1003
      the default is #center
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1004
      See the class documentation for  the meanings.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1005
    "
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1006
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1007
    ^ vLayout
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1008
!
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1009
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1010
verticalLayout:aSymbol
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1011
    "change the vertical layout as a symbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1012
     The argument, aSymbol must be one of:
133
claus
parents: 131
diff changeset
  1013
	#top            place element at the top
claus
parents: 131
diff changeset
  1014
	#topSpace       place element at the top, offset by verticalSpace
claus
parents: 131
diff changeset
  1015
	#center         place it horizontally centered
claus
parents: 131
diff changeset
  1016
	#bottom         place it at the bottom
claus
parents: 131
diff changeset
  1017
	#bottomSpace    place it at the bottom, offset by verticalSpace
claus
parents: 131
diff changeset
  1018
	#fit            resize elements vertically to fit this panel
claus
parents: 131
diff changeset
  1019
	#fitSpace       like #fit, but with spacing
claus
parents: 131
diff changeset
  1020
claus
parents: 131
diff changeset
  1021
	#topMax         like #top, but resize all views vertically to max height
claus
parents: 131
diff changeset
  1022
	#topSpaceMax    like #topSpace, but resize all views vertically to max height
claus
parents: 131
diff changeset
  1023
	#bottomMax      like #bottom, but resize all views vertically to max height
claus
parents: 131
diff changeset
  1024
	#bottomSpaceMax like #bottomSpace, but resize all views vertically to max height
claus
parents: 131
diff changeset
  1025
	#centerMax      like #center, but resize all views vertically to max height
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
  1026
      the default (if never changed) is #center
118
claus
parents: 77
diff changeset
  1027
      See the class documentation for  the meanings.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1028
    "
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1029
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1030
    (vLayout ~~ aSymbol) ifTrue:[
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1031
	vLayout := aSymbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1032
	self layoutChanged
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1033
    ]
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1034
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1035
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1036
!HorizontalPanelView methodsFor:'layout'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1037
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1038
setChildPositions
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1039
    "(re)compute position of every child whenever childs are added or
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1040
     my size has changed"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1041
133
claus
parents: 131
diff changeset
  1042
    |xpos space sumOfWidths numChilds l wEach wInside hL vL resizeToMaxV 
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1043
     resizeToMaxH maxHeight maxWidth d m2 subViews ext
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1044
     restWidth|
1042
5914ecc423e1 care for sizing with no subviews;
ca
parents: 1038
diff changeset
  1045
5914ecc423e1 care for sizing with no subviews;
ca
parents: 1038
diff changeset
  1046
    subViews := self subViews.
5914ecc423e1 care for sizing with no subviews;
ca
parents: 1038
diff changeset
  1047
    subViews size == 0 ifTrue:[^ self].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1048
1042
5914ecc423e1 care for sizing with no subviews;
ca
parents: 1038
diff changeset
  1049
    extentChanged ifTrue:[
5914ecc423e1 care for sizing with no subviews;
ca
parents: 1038
diff changeset
  1050
        ext := self computeExtent.
5914ecc423e1 care for sizing with no subviews;
ca
parents: 1038
diff changeset
  1051
        width := ext x.
5914ecc423e1 care for sizing with no subviews;
ca
parents: 1038
diff changeset
  1052
        height := ext y.
5914ecc423e1 care for sizing with no subviews;
ca
parents: 1038
diff changeset
  1053
    ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1054
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1055
    space := horizontalSpace.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
  1056
    numChilds := subViews size.
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1057
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1058
    m2 := margin * 2.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1059
    wInside := width - m2 + (borderWidth*2) - subViews last borderWidth.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
  1060
118
claus
parents: 77
diff changeset
  1061
    hL := hLayout.
claus
parents: 77
diff changeset
  1062
    vL := vLayout.
claus
parents: 77
diff changeset
  1063
133
claus
parents: 131
diff changeset
  1064
    resizeToMaxH := false.
claus
parents: 131
diff changeset
  1065
    (hL endsWith:'Max') ifTrue:[
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1066
        wEach := maxWidth := subViews inject:0 into:[:maxSoFar :child | maxSoFar max:child widthIncludingBorder].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1067
        hL := (hL copyWithoutLast:3) asSymbol.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1068
        resizeToMaxH := true.
133
claus
parents: 131
diff changeset
  1069
    ].
claus
parents: 131
diff changeset
  1070
118
claus
parents: 77
diff changeset
  1071
    hL == #fitSpace ifTrue:[
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1072
        "
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1073
         adjust childs extents and set origins.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1074
         Be careful to avoid accumulation of rounding errors
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1075
        "
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1076
        wEach := (wInside - (numChilds + 1 * space)) / numChilds.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1077
        xpos := space + margin - borderWidth.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1078
    ] ifFalse:[
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1079
        hL == #fit ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1080
            "
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1081
             adjust childs extents and set origins.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1082
             Be careful to avoid accumulation of rounding errors
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1083
            "
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1084
            wEach := (wInside - (numChilds - 1 * space)) / numChilds.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1085
            xpos := margin - borderWidth.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1086
        ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1087
            "
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1088
             compute net width needed
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1089
            "
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1090
            resizeToMaxH ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1091
                sumOfWidths := subViews inject:0 into:[:sumSoFar :child | sumSoFar + maxWidth + (child borderWidth*2)].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1092
            ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1093
                sumOfWidths := subViews inject:0 into:[:sumSoFar :child | sumSoFar + child widthIncludingBorder].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1094
            ].
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1095
            restWidth := width - sumOfWidths.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1096
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1097
            l := hL.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1098
            ((l == #center) and:[numChilds == 1]) ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1099
                l := #spread
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1100
            ].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1101
            (l == #spread and:[numChilds == 1]) ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1102
                l := #spreadSpace
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1103
            ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1104
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1105
            "
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1106
             compute position of leftmost subview and space between them;
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1107
             if they do hardly fit, leave no space between them 
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1108
            "
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1109
            ((sumOfWidths >= (width - m2)) 
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1110
            and:[l ~~ #fixLeftSpace and:[l ~~ #fixLeft]]) ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1111
                xpos := margin.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1112
                space := 0
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1113
            ] ifFalse: [
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1114
                l == #fixLeftSpace ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1115
                    l := #leftSpace
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1116
                ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1117
                    l == #fixLeft ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1118
                        l := #left
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1119
                    ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1120
                ].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1121
                ((l == #right) or:[l == #rightSpace]) ifTrue:[
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1122
                    xpos := restWidth - (space * (numChilds - 1)).
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1123
        "
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1124
                    borderWidth == 0 ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1125
                        xpos := xpos + space 
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1126
                    ].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1127
        "
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1128
                    l == #rightSpace ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1129
                        xpos >= space ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1130
                            xpos := xpos - space
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1131
                        ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1132
                    ].
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1133
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1134
                    xpos < 0 ifTrue:[
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1135
                        space := space min:(restWidth // (numChilds + 1)).
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1136
                        xpos := restWidth - (space * numChilds).
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1137
                    ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1138
                ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1139
                    (l == #spread) ifTrue:[
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1140
                        space := (restWidth - m2) // (numChilds - 1).
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1141
                        xpos := margin.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1142
                        (space == 0) ifTrue:[
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1143
                            xpos := restWidth // 2
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1144
                        ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1145
                    ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1146
                      (l == #spreadSpace) ifTrue:[
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1147
                        space := restWidth // (numChilds + 1).
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1148
                        xpos := space.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1149
                        (space == 0) ifTrue:[
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1150
                            xpos := restWidth // 2
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1151
                        ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1152
                      ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1153
                        ((l == #left) 
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1154
                        or:[l == #leftSpace
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1155
                        or:[l == #leftFit
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1156
                        or:[l == #leftSpaceFit]]]) ifTrue:[
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1157
                            space := space min:(restWidth - m2) // (numChilds + 1).
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1158
                            (hL == #fixLeft or:[hL == #fixLeftSpace]) ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1159
                                space := space max:horizontalSpace.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1160
                            ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1161
                                space := space max:0.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1162
                            ].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1163
                            (l == #leftSpace 
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1164
                            or:[l == #leftSpaceFit]) ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1165
                                xpos := space.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1166
                            ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1167
                                "/
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1168
                                "/ if the very first view has a 0-level AND
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1169
                                "/ my level is non-zero, begin with margin
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1170
                                "/
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1171
                                (margin ~~ 0 and:[subViews first level == 0]) ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1172
                                    xpos := margin
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1173
                                ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1174
                                    xpos := 0
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1175
                                ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1176
                            ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1177
                        ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1178
                            "center"
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1179
                            xpos := (restWidth - ((numChilds - 1) * space)) // 2.
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1180
                            xpos < 0 ifTrue:[
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1181
                                space := restWidth // (numChilds + 1).
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1182
                                xpos := (restWidth - ((numChilds - 1) * space)) // 2.
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1183
                            ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1184
                        ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1185
                      ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1186
                    ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1187
                ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1188
            ].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1189
        ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1190
    ].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1191
133
claus
parents: 131
diff changeset
  1192
    vL := vLayout.
claus
parents: 131
diff changeset
  1193
    resizeToMaxV := false.
claus
parents: 131
diff changeset
  1194
    (vLayout endsWith:'Max') ifTrue:[
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1195
        resizeToMaxV := true.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1196
        maxHeight := subViews inject:0 into:[:maxSoFar :child | maxSoFar max:child heightIncludingBorder].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1197
        vL == #centerMax ifTrue:[vL := #center].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1198
        vL == #bottomMax ifTrue:[vL := #bottom].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1199
        vL == #bottomSpaceMax ifTrue:[vL := #bottomSpace].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1200
        vL == #topMax ifTrue:[vL := #top].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1201
        vL == #topSpaceMax ifTrue:[vL := #topSpace].
133
claus
parents: 131
diff changeset
  1202
    ].
claus
parents: 131
diff changeset
  1203
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1204
    "now set positions"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1205
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
  1206
    subViews keysAndValuesDo:[:index :child |
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1207
        |ypos advance bwChild hChild newHChild|
133
claus
parents: 131
diff changeset
  1208
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1209
        hChild := child heightIncludingBorder.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1210
        bwChild := child borderWidth.
133
claus
parents: 131
diff changeset
  1211
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1212
        resizeToMaxV ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1213
            child height:(hChild := maxHeight - (bwChild  * 2)).
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1214
        ].
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1215
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1216
        vL == #top ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1217
            ypos := margin
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1218
        ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1219
            vL == #topSpace ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1220
                ypos := verticalSpace
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1221
            ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1222
                vL == #bottom ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1223
                    ypos := height - margin - child heightIncludingBorder
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1224
                ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1225
                    vL == #bottomSpace ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1226
                        ypos := height - verticalSpace - child heightIncludingBorder.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1227
                    ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1228
                        vL == #fitSpace ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1229
                            ypos := verticalSpace.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1230
                            newHChild := height - (verticalSpace + bwChild * 2)
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1231
                        ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1232
                            vL == #fit ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1233
                                newHChild := height - (bwChild * 2).
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1234
                                child level == 0 ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1235
                                    ypos := margin.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1236
                                    newHChild := newHChild - m2
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1237
                                ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1238
                                    ypos := 0. 
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1239
                                ].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1240
                            ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1241
                                "centered"
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1242
                                ypos := (height - m2 - hChild) // 2.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1243
                            ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1244
                        ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1245
                    ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1246
                ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1247
            ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1248
        ].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1249
        newHChild notNil ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1250
            child height:newHChild
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1251
        ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1252
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1253
        (ypos < 0) ifTrue:[ypos := 0].
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
  1254
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1255
        (hL == #fit 
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1256
         or:[hL == #fitSpace
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1257
         or:[resizeToMaxH]]) ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1258
            child sizeFixed ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1259
                d := wEach - (child widthIncludingBorder) // 2.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1260
                child origin:(xpos truncated + d @ ypos)
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1261
            ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1262
                child origin:(xpos truncated @ ypos)
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1263
                      corner:(xpos + wEach - (child borderWidth) - 1) truncated
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1264
                             @ (ypos + child height - 1).
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1265
            ].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1266
            advance := wEach.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1267
        ] ifFalse:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1268
            child origin:(xpos @ ypos).
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1269
            advance := child widthIncludingBorder
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1270
        ].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1271
        xpos := xpos + advance + space.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
  1272
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1273
        index == numChilds ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1274
            |x|
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1275
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1276
            (hL == #leftFit or:[hL == #leftSpaceFit]) ifTrue:[
793
12396da0e36e care for borderWidths
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
  1277
                x := width - margin - 1 - (child borderWidth * 2) + borderWidth.
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1278
                hL == #leftSpaceFit ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1279
                    x := x - space
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1280
                ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1281
            ].
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1282
            x notNil ifTrue:[
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1283
                subViews last corner:(x @ (ypos + child height - 1))
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1284
            ]
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1285
        ]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
  1286
    ].
155
claus
parents: 133
diff changeset
  1287
claus
parents: 133
diff changeset
  1288
    "Modified: 4.9.1995 / 18:43:10 / claus"
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1289
    "Modified: 27.6.1997 / 11:50:50 / cg"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1290
! !
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1291
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1292
!HorizontalPanelView methodsFor:'queries'!
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1293
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1294
preferredExtent
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1295
    "return a good extent, one that makes subviews fit"
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1296
980
6079922a5519 eliminated references to subViews instance variable (will vanish)
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
  1297
    |sumOfWidths maxHeight maxWidth m2 subViews|
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1298
797
2f9cd56f48ee *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 793
diff changeset
  1299
    "/ If I have an explicit preferredExtent ..
2f9cd56f48ee *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 793
diff changeset
  1300
713
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
  1301
    preferredExtent notNil ifTrue:[
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
  1302
        ^ preferredExtent
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
  1303
    ].
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
  1304
1038
c6d8eb89d260 useful preferredExtent if no subviews.
ca
parents: 980
diff changeset
  1305
    (subViews := self subViews) isNil ifTrue:[
c6d8eb89d260 useful preferredExtent if no subviews.
ca
parents: 980
diff changeset
  1306
        ^ super preferredExtent.
c6d8eb89d260 useful preferredExtent if no subviews.
ca
parents: 980
diff changeset
  1307
        "/ ^ horizontalSpace @ verticalSpace].
c6d8eb89d260 useful preferredExtent if no subviews.
ca
parents: 980
diff changeset
  1308
    ].
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1309
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1310
    "compute net height needed"
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1311
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1312
    sumOfWidths := 0.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1313
    maxHeight := 0.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1314
    maxWidth := 0.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1315
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1316
    subViews do:[:child |
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1317
        |childsPreference|
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1318
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1319
        "/ better to use component's preferredExtent ...
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1320
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1321
        childsPreference := child preferredExtent.
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1322
        sumOfWidths := sumOfWidths + childsPreference x.
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1323
        maxHeight := maxHeight max:childsPreference y.
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1324
        maxWidth := maxWidth max:childsPreference x.
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1325
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1326
        "/ ... instead of actual extent
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1327
"/        sumOfWidths := sumOfWidths + child widthIncludingBorder.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1328
"/        maxHeight := maxHeight max:(child heightIncludingBorder).
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1329
"/        maxWidth := maxWidth max:(child widthIncludingBorder).
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1330
    ].
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1331
    borderWidth ~~ 0 ifTrue:[
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1332
        sumOfWidths := sumOfWidths + (horizontalSpace * 2).
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1333
        maxHeight := maxHeight + (verticalSpace * 2).
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1334
    ].
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1335
    (hLayout == #fit 
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1336
    or:[hLayout == #fitSpace
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1337
    or:[hLayout endsWith:'Max']]) ifTrue:[
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1338
        sumOfWidths := maxWidth * subViews size.
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1339
        borderWidth ~~ 0 ifTrue:[
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1340
            sumOfWidths := sumOfWidths + (horizontalSpace * 2).
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1341
        ]
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1342
    ] ifFalse:[
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1343
        sumOfWidths := sumOfWidths + ((subViews size - 1) * horizontalSpace).
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1344
        ((hLayout == #leftSpace) or:[hLayout == #rightSpace]) ifTrue:[
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1345
            sumOfWidths := sumOfWidths + horizontalSpace
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1346
        ] ifFalse:[
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1347
            ((hLayout == #center) or:[hLayout == #spread]) ifTrue:[
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1348
                sumOfWidths := sumOfWidths + (horizontalSpace * 2)
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1349
            ]
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1350
        ].
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1351
    ].
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1352
1165
16b8537595fd care for spacing in preferredExtent of centerSpace layout.
Claus Gittinger <cg@exept.de>
parents: 1156
diff changeset
  1353
    ((vLayout == #topSpace) 
16b8537595fd care for spacing in preferredExtent of centerSpace layout.
Claus Gittinger <cg@exept.de>
parents: 1156
diff changeset
  1354
    or:[vLayout == #bottomSpace]) ifTrue:[
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1355
        maxHeight := maxHeight + verticalSpace
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1356
    ] ifFalse:[
1165
16b8537595fd care for spacing in preferredExtent of centerSpace layout.
Claus Gittinger <cg@exept.de>
parents: 1156
diff changeset
  1357
        ((vLayout == #fitSpace) 
16b8537595fd care for spacing in preferredExtent of centerSpace layout.
Claus Gittinger <cg@exept.de>
parents: 1156
diff changeset
  1358
        or:[vLayout == #center
16b8537595fd care for spacing in preferredExtent of centerSpace layout.
Claus Gittinger <cg@exept.de>
parents: 1156
diff changeset
  1359
        or:[vLayout == #centerSpace]]) ifTrue:[
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1360
            maxHeight := maxHeight + (verticalSpace * 2)
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1361
        ]        
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1362
    ].
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1363
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1364
    m2 := margin * 2.
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1365
    ^ (sumOfWidths + m2) @ (maxHeight + m2)
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1366
1165
16b8537595fd care for spacing in preferredExtent of centerSpace layout.
Claus Gittinger <cg@exept.de>
parents: 1156
diff changeset
  1367
    "Modified: 29.3.1997 / 11:06:45 / cg"
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1368
! !
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1369
980
6079922a5519 eliminated references to subViews instance variable (will vanish)
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
  1370
!HorizontalPanelView class methodsFor:'documentation'!
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
  1371
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
  1372
version
1291
03ed7c44f194 finally removed #layout - you had enough time to convert.
Claus Gittinger <cg@exept.de>
parents: 1254
diff changeset
  1373
    ^ '$Header: /cvs/stx/stx/libwidg/HorizontalPanelView.st,v 1.33 1997-07-31 21:12:35 cg Exp $'
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
  1374
! !