HPanelV.st
author claus
Tue, 09 May 1995 03:57:16 +0200
changeset 125 3ffa271732f7
parent 118 3ee5ea99d0e2
child 127 462396b08e30
permissions -rw-r--r--
.
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
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    14
       instanceVariableNames:''
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    15
       classVariableNames:''
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    16
       poolDictionaries:''
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    17
       category:'Views-Layout'
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    18
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    19
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    20
HorizontalPanelView comment:'
5
claus
parents: 3
diff changeset
    21
COPYRIGHT (c) 1989 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    22
	      All Rights Reserved
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    23
125
claus
parents: 118
diff changeset
    24
$Header: /cvs/stx/stx/libwidg/Attic/HPanelV.st,v 1.10 1995-05-09 01:55:48 claus Exp $
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    25
'!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    26
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    27
!HorizontalPanelView class methodsFor:'documentation'!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    28
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    29
copyright
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    30
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    31
 COPYRIGHT (c) 1989 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    32
	      All Rights Reserved
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    33
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    34
 This software is furnished under a license and may be used
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    35
 only in accordance with the terms of that license and with the
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    36
 inclusion of the above copyright notice.   This software may not
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    37
 be provided or otherwise made available to, or used by, any
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    38
 other person.  No title to or ownership of the software is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    39
 hereby transferred.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    40
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    41
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    42
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    43
version
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    44
"
125
claus
parents: 118
diff changeset
    45
$Header: /cvs/stx/stx/libwidg/Attic/HPanelV.st,v 1.10 1995-05-09 01:55:48 claus Exp $
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    46
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    47
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    48
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    49
documentation
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    50
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    51
    a View which arranges its child-views in a horizontal row.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    52
    All real work is done in PanelView - only the layout computation is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    53
    redefined here.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    54
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    55
    The layout is controlled the instance variables: 
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    56
	horizontalLayout and verticalLayout
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    57
    in addition to horizontalSpace and verticalSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    58
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    59
    The horizontal layout can be any of:
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    60
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    61
	#left           arrange elements at the left
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    62
	#leftSpace      arrange elements at the left, start with spacing
118
claus
parents: 77
diff changeset
    63
	#fixLeft        same as #left, but do not reduce spacing in case of no fit
claus
parents: 77
diff changeset
    64
	#fixLeftSpace   same as #leftSpace, but do not reduce spacing in case of no fit
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    65
	#right          arrange elements at the right
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    66
	#rightSpace     arrange elements at the right, start with spacing
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    67
	#center         arrange elements in the center
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    68
	#spread         spread elements evenly
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    69
	#spreadSpace    spread elements evenly with spacing at the ends
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    70
	#fit            like spread, but resize elements for tight packing
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    71
	#fitSpace       like fit, with additional spacing at the far ends
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    72
	#leftFit        like left, but extend the last element to the right
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    73
	#leftSpaceFit   like leftSpace, but extend the last element to the right
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    74
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    75
    the vertical layout can be:
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    76
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    77
	#top            place element at the top
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    78
	#topSpace       place element at the top, offset by verticalSpace
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    79
	#center         place it horizontally centered
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    80
	#bottom         place it at the bottom
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    81
	#bottomSpace    place it at the bottom, offset by verticalSpace
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    82
	#fit            resize elements vertically to fit this panel
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    83
	#fitSpace       like fit, but with spacing
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    84
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    85
    The defaults is #center for both directions.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    86
    The layout is changed by the messages #verticalLayout: and #horizontalLayout:.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    87
    For backward compatibility (to times, where only hLayout existed), the simple
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    88
    #layout: does the same as #horizontalLayout:. Do not use this old method.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    89
118
claus
parents: 77
diff changeset
    90
    By combining Horizontal- and VerticalPanels (i.e. place a hPanel into a
claus
parents: 77
diff changeset
    91
    vPanel), most layouts should be implementable.
claus
parents: 77
diff changeset
    92
    However, ff none of these layout/space combinations is exactly what you need 
claus
parents: 77
diff changeset
    93
    in your application, create a subclass, and redefine the setChildPositions 
claus
parents: 77
diff changeset
    94
    method there.
125
claus
parents: 118
diff changeset
    95
claus
parents: 118
diff changeset
    96
    TODO: for completeness, support #fixRight, #fixRightSpace,
claus
parents: 118
diff changeset
    97
	  #rightFit, #rightSpaceFit layouts
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    98
"
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    99
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   100
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   101
examples
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   102
"
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   103
    These examples show the effect of various horizontalLayout and
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   104
    verticalLayout settings. Try them all. Especially, notice the
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   105
    differences between the xxx and xxxSpace layouts and the effect of
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   106
    setting different values for the spacing.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   107
    Try resizing the view and see how the elements get rearranged.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   108
118
claus
parents: 77
diff changeset
   109
    Most of the examples below place 3 buttons onto a panel; Of course,
claus
parents: 77
diff changeset
   110
    you can put any other view into a panel ... the last examples show this.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   111
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   112
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   113
    example: default layout (centered)
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   114
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   115
	|v p b1 b2 b3|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   116
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   117
	v := StandardSystemView new.
118
claus
parents: 77
diff changeset
   118
	v label:'default: center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   119
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   120
	p := HorizontalPanelView in:v.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   121
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   122
	b1 := Button label:'button1' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   123
	b2 := Button label:'button2' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   124
	b3 := Button label:'button3' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   125
	v extent:300 @ 100.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   126
	v open
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   127
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   128
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   129
    example: left-layout (vertical is default -> centered)
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   130
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   131
	|v p b1 b2 b3|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   132
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   133
	v := StandardSystemView new.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   134
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   135
	v label:'hL=left; vL=default (center)'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   136
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   137
	p horizontalLayout:#left.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   138
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   139
	b1 := Button label:'button1' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   140
	b2 := Button label:'button2' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   141
	b3 := Button label:'button3' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   142
	v extent:300 @ 100.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   143
	v open
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   144
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   145
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   146
    example: left starting with spacing (vertical is default -> centered)
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   147
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   148
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   149
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   150
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   151
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   152
	v label:'hL=leftSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   153
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   154
	p horizontalLayout:#leftSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   155
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   156
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   157
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   158
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   159
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   160
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   161
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   162
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   163
    example: leftFit-layout (vertical is default -> centered)
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   164
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   165
	|v p b1 b2 b3|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   166
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   167
	v := StandardSystemView new.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   168
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   169
	v label:'hL=leftFit; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   170
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   171
	p horizontalLayout:#leftFit.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   172
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   173
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   174
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   175
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   176
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   177
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   178
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   179
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   180
    example: leftSpaceFit-layout (vertical is default -> centered)
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   181
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   182
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   183
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   184
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   185
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   186
	v label:'hL=leftSpaceFit; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   187
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   188
	p horizontalLayout:#leftSpaceFit.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   189
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   190
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   191
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   192
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   193
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   194
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   195
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   196
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   197
    example: right-layout (vertical is default -> centered)
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   198
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   199
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   200
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   201
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   202
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   203
	v label:'hL=right; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   204
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   205
	p horizontalLayout:#right.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   206
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   207
	b1 := Button label:'button1' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   208
	b2 := Button label:'button2' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   209
	b3 := Button label:'button3' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   210
	v extent:300 @ 100.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   211
	v open
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   212
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   213
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   214
    example: right with initial spacing (vertical is default -> centered)
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   215
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   216
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   217
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   218
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   219
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   220
	v label:'hL=rightSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   221
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   222
	p horizontalLayout:#rightSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   223
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   224
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   225
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   226
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   227
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   228
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   229
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   230
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   231
    example: fit-layout (vertical is default -> centered)
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   232
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   233
	|v p b1 b2 b3|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   234
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   235
	v := StandardSystemView new.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   236
	p := HorizontalPanelView in:v.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   237
	p horizontalLayout:#fit.
118
claus
parents: 77
diff changeset
   238
	v label:'hL=fit; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   239
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   240
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   241
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   242
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   243
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   244
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   245
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   246
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   247
125
claus
parents: 118
diff changeset
   248
    example: full fit i.e. no spacing (vertical is default -> centered)
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   249
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   250
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   251
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   252
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   253
	p := HorizontalPanelView in:v.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   254
	p horizontalLayout:#fit.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   255
	p horizontalSpace:0.
118
claus
parents: 77
diff changeset
   256
	v label:'hL=fit hS=0; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   257
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   258
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   259
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   260
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   261
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   262
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   263
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   264
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   265
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   266
    example: fit with spacing (vertical is default -> centered)
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   267
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   268
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   269
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   270
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   271
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   272
	v label:'hL=fitSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   273
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   274
	p horizontalLayout:#fitSpace.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   275
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   276
	b1 := Button label:'button1' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   277
	b2 := Button label:'button2' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   278
	b3 := Button label:'button3' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   279
	v extent:300 @ 100.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   280
	v open
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   281
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   282
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   283
    example: spread-layout (vertical is default -> centered)
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   284
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   285
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   286
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   287
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   288
	p := HorizontalPanelView in:v.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   289
	p horizontalLayout:#spread.
118
claus
parents: 77
diff changeset
   290
	v label:'hL=spread; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   291
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   292
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   293
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   294
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   295
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   296
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   297
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   298
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   299
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   300
    example: spread with spacing (vertical is default -> centered)
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   301
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   302
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   303
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   304
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   305
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   306
	v label:'hL=spreadSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   307
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   308
	p horizontalLayout:#spreadSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   309
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   310
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   311
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   312
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   313
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   314
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   315
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   316
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   317
    example: spread with spacing; vertical fit
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   318
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   319
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   320
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   321
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   322
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   323
	v label:'hL=spreadSpace; vL=fit'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   324
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   325
	p horizontalLayout:#spreadSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   326
	p verticalLayout:#fit.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   327
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   328
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   329
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   330
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   331
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   332
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   333
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   334
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   335
    example: spread with spacing; vertical fit with spacing
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   336
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   337
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   338
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   339
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   340
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   341
	v label:'hL=spreadSpace; vL=fitSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   342
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   343
	p horizontalLayout:#spreadSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   344
	p verticalLayout:#fitSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   345
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   346
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   347
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   348
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   349
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   350
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   351
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   352
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   353
    example: fit - top
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   354
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   355
	|v p b1 b2 b3|
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   356
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   357
	v := StandardSystemView new.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   358
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   359
	v label:'hL=fit; vL=top'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   360
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   361
	p horizontalLayout:#fit.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   362
	p verticalLayout:#top.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   363
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   364
	b1 := Button label:'button1' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   365
	b2 := Button label:'button2' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   366
	b3 := Button label:'button3' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   367
	v extent:300 @ 100.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   368
	v open
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   369
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   370
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   371
    example: fit with initial spacing
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   372
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   373
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   374
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   375
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   376
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   377
	v label:'hL=fitSpace; vL=top'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   378
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   379
	p horizontalLayout:#fitSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   380
	p verticalLayout:#top.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   381
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   382
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   383
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   384
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   385
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   386
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   387
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   388
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   389
    example: fit with initial spacing in both directions
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   390
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   391
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   392
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   393
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   394
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   395
	v label:'hL=fitSpace; vL=fitSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   396
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   397
	p horizontalLayout:#fitSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   398
	p verticalLayout:#fitSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   399
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   400
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   401
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   402
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   403
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   404
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   405
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   406
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   407
    example: fit without spacing in both directions
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   408
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   409
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   410
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   411
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   412
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   413
	v label:'hL=fit hS=0; vL=fit'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   414
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   415
	p horizontalLayout:#fit.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   416
	p verticalLayout:#fit.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   417
	p horizontalSpace:0.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   418
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   419
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   420
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   421
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   422
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   423
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   424
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   425
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   426
    example: fit with initial spacing; top with spacing
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   427
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   428
	|v p b1 b2 b3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   429
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   430
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   431
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   432
	v label:'hL=fitSpace; vL=topSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   433
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   434
	p horizontalLayout:#fitSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   435
	p verticalLayout:#topSpace.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   436
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   437
	b1 := Button label:'button1' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   438
	b2 := Button label:'button2' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   439
	b3 := Button label:'button3' in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   440
	v extent:300 @ 100.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   441
	v open
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   442
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   443
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   444
    example: fit - top without spacing
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   445
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   446
	|v p b1 b2 b3|
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   447
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   448
	v := StandardSystemView new.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   449
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   450
	v label:'hL=fit; vL=top'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   451
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   452
	p horizontalLayout:#fit.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   453
	p verticalLayout:#top.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   454
	p horizontalSpace:0.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   455
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   456
	b1 := Button label:'button1' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   457
	b2 := Button label:'button2' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   458
	b3 := Button label:'button3' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   459
	v extent:300 @ 100.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   460
	v open
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   461
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   462
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   463
    example: fit - bottom with spacing and bottomSpace
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   464
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   465
	|v p b1 b2 b3|
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   466
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   467
	v := StandardSystemView new.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   468
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   469
	v label:'hL=fitSpace; vL=bottomSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   470
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   471
	p horizontalLayout:#fitSpace.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   472
	p verticalLayout:#bottomSpace.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   473
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   474
	b1 := Button label:'button1' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   475
	b2 := Button label:'button2' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   476
	b3 := Button label:'button3' in:p.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   477
	v extent:300 @ 100.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   478
	v open
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   479
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   480
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   481
    example: fit no horizontal space - bottom with spacing and bottomSpace
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   482
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   483
	|v p b1 b2 b3|
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   484
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   485
	v := StandardSystemView new.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   486
	p := HorizontalPanelView in:v.
118
claus
parents: 77
diff changeset
   487
	v label:'hL=fit; vL=bottomSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   488
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   489
	p horizontalLayout:#fit.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   490
	p verticalLayout:#bottomSpace.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   491
	p horizontalSpace:0.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   492
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   493
	b1 := Button label:'button1' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   494
	b2 := Button label:'button2' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   495
	b3 := Button label:'button3' in:p.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   496
	v extent:300 @ 100.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   497
	v open
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   498
118
claus
parents: 77
diff changeset
   499
    example: placing hPanels into a vPanel
claus
parents: 77
diff changeset
   500
claus
parents: 77
diff changeset
   501
	|v vP hP1 hP2 hP3 b1 b2 b3 b4 b5 b6 b7 b8 b9|
claus
parents: 77
diff changeset
   502
claus
parents: 77
diff changeset
   503
	v := StandardSystemView new.
claus
parents: 77
diff changeset
   504
	vP := VerticalPanelView in:v.
claus
parents: 77
diff changeset
   505
	vP origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
claus
parents: 77
diff changeset
   506
	vP verticalLayout:#fit;
claus
parents: 77
diff changeset
   507
	   verticalSpace:0;
claus
parents: 77
diff changeset
   508
	   horizontalLayout:#fit.
claus
parents: 77
diff changeset
   509
claus
parents: 77
diff changeset
   510
	hP1 := HorizontalPanelView in:vP.
claus
parents: 77
diff changeset
   511
	hP1 horizontalLayout:#fitSpace;
claus
parents: 77
diff changeset
   512
	    verticalLayout:#center.
claus
parents: 77
diff changeset
   513
	b1 := Button label:'button1' in:hP1.
claus
parents: 77
diff changeset
   514
	b2 := Button label:'button2' in:hP1.
claus
parents: 77
diff changeset
   515
	b3 := Button label:'button3' in:hP1.
claus
parents: 77
diff changeset
   516
claus
parents: 77
diff changeset
   517
	hP2 := HorizontalPanelView in:vP.
claus
parents: 77
diff changeset
   518
	hP2 horizontalLayout:#fitSpace;
claus
parents: 77
diff changeset
   519
	    verticalLayout:#center.
claus
parents: 77
diff changeset
   520
	b4 := Button label:'button4' in:hP2.
claus
parents: 77
diff changeset
   521
	b5 := Button label:'button5' in:hP2.
claus
parents: 77
diff changeset
   522
	b6 := Button label:'button6' in:hP2.
claus
parents: 77
diff changeset
   523
claus
parents: 77
diff changeset
   524
	hP3 := HorizontalPanelView in:vP.
claus
parents: 77
diff changeset
   525
	hP3 horizontalLayout:#fitSpace;
claus
parents: 77
diff changeset
   526
	    verticalLayout:#center.
claus
parents: 77
diff changeset
   527
	b7 := Button label:'button7' in:hP3.
claus
parents: 77
diff changeset
   528
	b8 := Button label:'button8' in:hP3.
claus
parents: 77
diff changeset
   529
	b9 := Button label:'button9' in:hP3.
claus
parents: 77
diff changeset
   530
claus
parents: 77
diff changeset
   531
	v extent:300 @ 300.
claus
parents: 77
diff changeset
   532
	v open
claus
parents: 77
diff changeset
   533
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   534
    example: a browser like table, where the rightmost list
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   535
	     extends to the far right.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   536
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   537
	|v p l1 l2 l3|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   538
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   539
	v := StandardSystemView new.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   540
	p := HorizontalPanelView in:v.
125
claus
parents: 118
diff changeset
   541
	v label:'hL=leftFit hS=0; vL=fit'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   542
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   543
	p horizontalLayout:#leftFit.
125
claus
parents: 118
diff changeset
   544
	p horizontalSpace:0.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   545
	p verticalLayout:#fit.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   546
	p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   547
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   548
	l1 := ScrollableView for:FileSelectionList in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   549
	l1 stayInDirectory:true.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   550
	l1 ignoreParentDirectory:true.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   551
	l1 directory:'/'.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   552
	l1 action:[:selection | l2 directory:(l1 selectedPathname)].
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   553
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   554
	l2 := ScrollableView for:FileSelectionList in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   555
	l2 stayInDirectory:true.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   556
	l2 directory:nil.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   557
	l2 ignoreParentDirectory:true.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   558
	l2 action:[:selection | l3 directory:(l2 selectedPathname)].
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   559
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   560
	l3 := ScrollableView for:FileSelectionList in:p.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   561
	l3 directory:nil.
118
claus
parents: 77
diff changeset
   562
	l3 ignoreParentDirectory:false.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   563
	v extent:400 @ 300.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   564
	v open
125
claus
parents: 118
diff changeset
   565
claus
parents: 118
diff changeset
   566
claus
parents: 118
diff changeset
   567
    trouble example: self resizing elements may cause trouble
claus
parents: 118
diff changeset
   568
claus
parents: 118
diff changeset
   569
	|v p l1 l2 l3|
claus
parents: 118
diff changeset
   570
claus
parents: 118
diff changeset
   571
	v := StandardSystemView new.
claus
parents: 118
diff changeset
   572
	p := HorizontalPanelView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:v.
claus
parents: 118
diff changeset
   573
claus
parents: 118
diff changeset
   574
	l1 := (Label label:'one' in:p) level:-1.
claus
parents: 118
diff changeset
   575
	l2 := (Label label:'two' in:p) level:-1.
claus
parents: 118
diff changeset
   576
	l3 := (Label label:'three' in:p) level:-1.
claus
parents: 118
diff changeset
   577
claus
parents: 118
diff changeset
   578
	v extent:400 @ 300.
claus
parents: 118
diff changeset
   579
	v open.
claus
parents: 118
diff changeset
   580
claus
parents: 118
diff changeset
   581
	(Delay forSeconds:5) wait.
claus
parents: 118
diff changeset
   582
claus
parents: 118
diff changeset
   583
	l1 label:'oneone'.
claus
parents: 118
diff changeset
   584
	l2 label:'twotwo'.
claus
parents: 118
diff changeset
   585
	l3 label:'threethree'.
claus
parents: 118
diff changeset
   586
claus
parents: 118
diff changeset
   587
claus
parents: 118
diff changeset
   588
    fixed trouble example: tell the panel that this situation may happen
claus
parents: 118
diff changeset
   589
claus
parents: 118
diff changeset
   590
	|v p l1 l2 l3|
claus
parents: 118
diff changeset
   591
claus
parents: 118
diff changeset
   592
	v := StandardSystemView new.
claus
parents: 118
diff changeset
   593
	p := HorizontalPanelView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:v.
claus
parents: 118
diff changeset
   594
	p elementsChangeSize:true.
claus
parents: 118
diff changeset
   595
claus
parents: 118
diff changeset
   596
	l1 := (Label label:'one' in:p) level:-1.
claus
parents: 118
diff changeset
   597
	l2 := (Label label:'two' in:p) level:-1.
claus
parents: 118
diff changeset
   598
	l3 := (Label label:'three' in:p) level:-1.
claus
parents: 118
diff changeset
   599
claus
parents: 118
diff changeset
   600
	v extent:400 @ 300.
claus
parents: 118
diff changeset
   601
	v open.
claus
parents: 118
diff changeset
   602
claus
parents: 118
diff changeset
   603
	(Delay forSeconds:5) wait.
claus
parents: 118
diff changeset
   604
claus
parents: 118
diff changeset
   605
	l1 label:'oneone'.
claus
parents: 118
diff changeset
   606
	l2 label:'twotwo'.
claus
parents: 118
diff changeset
   607
	l3 label:'threethree'.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   608
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   609
! !
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   610
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   611
!HorizontalPanelView methodsFor:'accessing'!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   612
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   613
horizontalLayout
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   614
    "return the horizontal layout as symbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   615
     the returned value is one of
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   616
	#left 
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   617
	#leftSpace 
118
claus
parents: 77
diff changeset
   618
	#leftFit 
claus
parents: 77
diff changeset
   619
	#leftSpaceFit 
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   620
	#center
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   621
	#spread
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   622
	#fit
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   623
	#right 
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   624
	#rightSpace 
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   625
      the default is #center
118
claus
parents: 77
diff changeset
   626
      See the class documentation for  the meanings.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   627
    "
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   628
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   629
    ^ hLayout
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   630
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   631
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   632
verticalLayout
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   633
    "return the vertical layout as a symbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   634
     the returned value is one of
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   635
	#top / #topSpace
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   636
	#center
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   637
	#bottom / #bottomSpace
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   638
	#fit
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   639
      the default is #center
118
claus
parents: 77
diff changeset
   640
      See the class documentation for  the meanings.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   641
    "
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   642
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   643
    ^ vLayout
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   644
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   645
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   646
horizontalLayout:aSymbol
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   647
    "change the horizontal layout as symbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   648
     The argument, aSymbol must be one of:
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   649
	#left / #leftSpace 
118
claus
parents: 77
diff changeset
   650
	#leftFit / #leftSpaceFit 
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   651
	#center
118
claus
parents: 77
diff changeset
   652
	#spread / spreadSpace
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   653
	#fit / fitSpace
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   654
	#right / #rightSpace 
118
claus
parents: 77
diff changeset
   655
      the default (if never changed) is #center.
claus
parents: 77
diff changeset
   656
      See the class documentation for  the meanings.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   657
    "
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   658
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   659
    (hLayout ~~ aSymbol) ifTrue:[
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   660
	hLayout := aSymbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   661
	self layoutChanged
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   662
    ]
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   663
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   664
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   665
verticalLayout:aSymbol
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   666
    "change the vertical layout as a symbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   667
     The argument, aSymbol must be one of:
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   668
	#top / #topSpace
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   669
	#center
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   670
	#bottom / #bottomSpace
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   671
	#fit 
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   672
      the default (if never changed) is #center
118
claus
parents: 77
diff changeset
   673
      See the class documentation for  the meanings.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   674
    "
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   675
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   676
    (vLayout ~~ aSymbol) ifTrue:[
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   677
	vLayout := aSymbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   678
	self layoutChanged
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   679
    ]
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   680
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   681
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   682
layout
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   683
    "leftover for historic reasons - do not use any more"
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   684
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   685
    self horizontalLayout
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   686
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   687
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   688
layout:aSymbol
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   689
    "leftover for historic reasons - do not use any more"
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   690
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   691
    self horizontalLayout:aSymbol
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   692
! !
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   693
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   694
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   695
!HorizontalPanelView methodsFor:'queries'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   696
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   697
preferedExtent
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   698
    "return a good extent, one that makes subviews fit"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   699
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   700
    |sumOfWidths maxHeight maxWidth|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   701
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   702
    subViews isNil ifTrue:[^ horizontalSpace @ verticalSpace].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   703
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   704
    "compute net height needed"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   705
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   706
    sumOfWidths := 0.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   707
    maxHeight := 0.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   708
    maxWidth := 0.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   709
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   710
    subViews do:[:child |
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   711
	|childsPreference|
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   712
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   713
	childsPreference := child preferedExtent.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   714
	sumOfWidths := sumOfWidths + childsPreference x.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   715
	maxHeight := maxHeight max:childsPreference y.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   716
	maxWidth := maxWidth max:childsPreference x.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   717
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   718
"/        sumOfWidths := sumOfWidths + child widthIncludingBorder.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   719
"/        maxHeight := maxHeight max:(child heightIncludingBorder).
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   720
"/        maxWidth := maxWidth max:(child widthIncludingBorder).
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   721
    ].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   722
    borderWidth ~~ 0 ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   723
	sumOfWidths := sumOfWidths + (horizontalSpace * 2).
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   724
	maxHeight := maxHeight + (verticalSpace * 2).
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   725
    ].
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   726
    (hLayout == #fit or:[hLayout == #fitSpace]) ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   727
	sumOfWidths := maxWidth * subViews size.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   728
	borderWidth ~~ 0 ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   729
	    sumOfWidths := sumOfWidths + (verticalSpace * 2).
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   730
	]
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   731
    ] ifFalse:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   732
	sumOfWidths := sumOfWidths + ((subViews size - 1) * horizontalSpace).
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   733
    ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   734
65
b33e4f3a264e *** empty log message ***
claus
parents: 62
diff changeset
   735
    ((vLayout == #topSpace) or:[vLayout == #bottomSpace]) ifTrue:[
b33e4f3a264e *** empty log message ***
claus
parents: 62
diff changeset
   736
	maxHeight := maxHeight + verticalSpace
b33e4f3a264e *** empty log message ***
claus
parents: 62
diff changeset
   737
    ] ifFalse:[
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   738
	((vLayout == #fitSpace)  or:[vLayout == #center]) ifTrue:[
65
b33e4f3a264e *** empty log message ***
claus
parents: 62
diff changeset
   739
	    maxHeight := maxHeight + (verticalSpace * 2)
b33e4f3a264e *** empty log message ***
claus
parents: 62
diff changeset
   740
	]        
b33e4f3a264e *** empty log message ***
claus
parents: 62
diff changeset
   741
    ].
b33e4f3a264e *** empty log message ***
claus
parents: 62
diff changeset
   742
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   743
    ^ sumOfWidths @ maxHeight
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   744
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   745
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   746
!HorizontalPanelView methodsFor:'layout'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   747
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   748
setChildPositions
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   749
    "(re)compute position of every child whenever childs are added or
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   750
     my size has changed"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   751
118
claus
parents: 77
diff changeset
   752
    |xpos space sumOfWidths numChilds l wEach wInside hL vL|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   753
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   754
    subViews isNil ifTrue:[^ self].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   755
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   756
    space := horizontalSpace.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   757
    numChilds := subViews size.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   758
    wInside := width - (margin * 2) + (borderWidth*2) - subViews last borderWidth.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   759
118
claus
parents: 77
diff changeset
   760
    hL := hLayout.
claus
parents: 77
diff changeset
   761
    vL := vLayout.
claus
parents: 77
diff changeset
   762
claus
parents: 77
diff changeset
   763
    hL == #fitSpace ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   764
	"
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   765
	 adjust childs extents and set origins.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   766
	 Be careful to avoid accumulation of rounding errors
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   767
	"
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   768
	wEach := (wInside - (numChilds + 1 * space)) / numChilds.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   769
	xpos := space + margin - borderWidth.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   770
    ] ifFalse:[
118
claus
parents: 77
diff changeset
   771
	hL == #fit ifTrue:[
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   772
	    "
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   773
	     adjust childs extents and set origins.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   774
	     Be careful to avoid accumulation of rounding errors
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   775
	    "
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   776
	    wEach := (wInside - (numChilds - 1 * space)) / numChilds.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   777
	    xpos := margin - borderWidth.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   778
	] ifFalse:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   779
	    "
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   780
	     compute net width needed
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   781
	    "
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   782
	    sumOfWidths := subViews inject:0 into:[:sumSoFar :child | sumSoFar + child widthIncludingBorder].
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   783
118
claus
parents: 77
diff changeset
   784
	    l := hL.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   785
	    ((l == #center) and:[numChilds == 1]) ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   786
		l := #spread
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   787
	    ].
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   788
	    (l == #spread and:[numChilds == 1]) ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   789
		l := #spreadSpace
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   790
	    ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   791
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   792
	    "
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   793
	     compute position of leftmost subview and space between them;
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   794
	     if they do hardly fit, leave no space between them 
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   795
	    "
118
claus
parents: 77
diff changeset
   796
	    ((sumOfWidths >= (width - (margin * 2))) 
claus
parents: 77
diff changeset
   797
	    and:[l ~~ #fixLeftSpace and:[l ~~ #fixLeft]]) ifTrue:[
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   798
		xpos := 0.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   799
		space := 0
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   800
	    ] ifFalse: [
118
claus
parents: 77
diff changeset
   801
		l == #fixLeftSpace ifTrue:[
claus
parents: 77
diff changeset
   802
		    l := #leftSpace
claus
parents: 77
diff changeset
   803
		] ifFalse:[
claus
parents: 77
diff changeset
   804
		    l == #fixLeft ifTrue:[
claus
parents: 77
diff changeset
   805
			l := #left
claus
parents: 77
diff changeset
   806
		    ]
claus
parents: 77
diff changeset
   807
		].
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   808
		((l == #right) or:[l == #rightSpace]) ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   809
		    xpos := width - (space * (numChilds - 1)) - sumOfWidths.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   810
	"
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   811
		    borderWidth == 0 ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   812
			xpos := xpos + space 
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   813
		    ].
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   814
	"
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   815
		    l == #rightSpace ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   816
			xpos >= space ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   817
			    xpos := xpos - space
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   818
			]
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   819
		    ].
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   820
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   821
		    xpos < 0 ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   822
			space := space min:(width - sumOfWidths) // (numChilds + 1).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   823
			xpos := width - (space * numChilds) - sumOfWidths.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   824
		    ]
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   825
		] ifFalse:[
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   826
		    (l == #spread) ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   827
			space := (width - sumOfWidths) // (numChilds - 1).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   828
			xpos := 0.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   829
			(space == 0) ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   830
			    xpos := (width - sumOfWidths) // 2
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   831
			]
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   832
		    ] ifFalse:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   833
		      (l == #spreadSpace) ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   834
			space := (width - sumOfWidths) // (numChilds + 1).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   835
			xpos := space.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   836
			(space == 0) ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   837
			    xpos := (width - sumOfWidths) // 2
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   838
			]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   839
		      ] ifFalse:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   840
			((l == #left) 
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   841
			or:[l == #leftSpace
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   842
			or:[l == #leftFit
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   843
			or:[l == #leftSpaceFit]]]) ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   844
			    space := space min:(width - sumOfWidths) // (numChilds + 1).
118
claus
parents: 77
diff changeset
   845
			    (hL == #fixLeft or:[hL == #fixLeftSpace]) ifTrue:[
claus
parents: 77
diff changeset
   846
				space := space max:horizontalSpace.
claus
parents: 77
diff changeset
   847
			    ] ifFalse:[
claus
parents: 77
diff changeset
   848
				space := space max:0.
claus
parents: 77
diff changeset
   849
			    ].
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   850
			    (l == #leftSpace 
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   851
			    or:[l == #leftSpaceFit]) ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   852
				xpos := space.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   853
			    ] ifFalse:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   854
				xpos := 0
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   855
			    ]
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   856
	"
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   857
			    borderWidth == 0 ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   858
				xpos := 0 
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   859
			    ].
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   860
	"
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   861
			] ifFalse:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   862
			    "center"
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   863
			    xpos := (width - (sumOfWidths
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   864
					      + ((numChilds - 1) * space))) // 2.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   865
			    xpos < 0 ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   866
				space := (width - sumOfWidths) // (numChilds + 1).
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   867
				xpos := (width - (sumOfWidths
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   868
					       + ((numChilds - 1) * space))) // 2.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   869
			    ]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   870
			]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   871
		      ]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   872
		    ]
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   873
		]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   874
	    ].
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   875
	].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   876
    ].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   877
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   878
    "now set positions"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   879
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   880
    subViews keysAndValuesDo:[:index :child |
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   881
	|ypos advance|
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   882
118
claus
parents: 77
diff changeset
   883
	vL == #top ifTrue:[
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   884
	    ypos := 0
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   885
	] ifFalse:[
118
claus
parents: 77
diff changeset
   886
	    vL == #topSpace ifTrue:[
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   887
		ypos := verticalSpace
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   888
	    ] ifFalse:[
118
claus
parents: 77
diff changeset
   889
		vL == #bottom ifTrue:[
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   890
		    ypos := height - child heightIncludingBorder
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   891
		] ifFalse:[
118
claus
parents: 77
diff changeset
   892
		    vL == #bottomSpace ifTrue:[
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   893
			ypos := height - verticalSpace - child heightIncludingBorder.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   894
		    ] ifFalse:[
118
claus
parents: 77
diff changeset
   895
			vL == #fitSpace ifTrue:[
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   896
			    ypos := verticalSpace.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   897
			    child height:(height - (verticalSpace + child borderWidth * 2))
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   898
			] ifFalse:[
118
claus
parents: 77
diff changeset
   899
			    vL == #fit ifTrue:[
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   900
				ypos := 0.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   901
				child height:(height - (child borderWidth * 2))
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   902
			    ] ifFalse:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   903
				"centered"
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   904
				ypos := (height - child heightIncludingBorder) // 2.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   905
			    ]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   906
			]
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   907
		    ]
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   908
		]
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   909
	    ]
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   910
	].
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   911
	(ypos < 0) ifTrue:[ypos := 0].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   912
118
claus
parents: 77
diff changeset
   913
	(hL == #fit or:[hL == #fitSpace]) ifTrue:[
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   914
	    child origin:(xpos truncated @ ypos)
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   915
		  corner:(xpos + wEach - (child borderWidth)) truncated
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   916
			 @ (ypos + child height).
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   917
	    advance := wEach.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   918
	] ifFalse:[
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   919
	    child origin:(xpos @ ypos).
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   920
	    advance := child widthIncludingBorder
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   921
	].
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   922
	xpos := xpos + advance + space.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   923
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   924
	index == numChilds ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   925
	    |x|
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   926
118
claus
parents: 77
diff changeset
   927
	    hL == #leftFit ifTrue:[
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   928
		x := width - margin.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   929
	    ].
118
claus
parents: 77
diff changeset
   930
	    hL == #leftSpaceFit ifTrue:[
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   931
		x := width - margin - space
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   932
	    ].
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   933
	    x notNil ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   934
		subViews last corner:(x @ (ypos + child height))
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   935
	    ]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   936
	]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   937
    ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   938
! !