HorizontalPanelView.st
author Claus Gittinger <cg@exept.de>
Fri, 26 Jan 2018 07:42:09 +0100
changeset 6278 76787fe7856f
parent 6276 c5bd5d4f7243
child 6483 9b874828035a
permissions -rw-r--r--
#REFACTORING by cg class: DialogBox class changed: #defaultOKButtonAtLeft (send #enforcedPositionOfOKButtonInDialogs instead of #enforcedOKPositionInDialogs)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6276
c5bd5d4f7243 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 6138
diff changeset
     1
"{ Encoding: utf8 }"
c5bd5d4f7243 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 6138
diff changeset
     2
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     3
"
5
claus
parents: 3
diff changeset
     4
 COPYRIGHT (c) 1989 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
     5
	      All Rights Reserved
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     6
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     7
 This software is furnished under a license and may be used
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     8
 only in accordance with the terms of that license and with the
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    10
 be provided or otherwise made available to, or used by, any
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    11
 other person.  No title to or ownership of the software is
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    12
 hereby transferred.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    13
"
2305
f2850e54b0ab only access originChanged, extentChanged and cornerChanged
Claus Gittinger <cg@exept.de>
parents: 2099
diff changeset
    14
"{ Package: 'stx:libwidg' }"
f2850e54b0ab only access originChanged, extentChanged and cornerChanged
Claus Gittinger <cg@exept.de>
parents: 2099
diff changeset
    15
5424
Claus Gittinger <cg@exept.de>
parents: 5227
diff changeset
    16
"{ NameSpace: Smalltalk }"
Claus Gittinger <cg@exept.de>
parents: 5227
diff changeset
    17
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    18
PanelView subclass:#HorizontalPanelView
2039
ad9313ab0151 added support for component reversal if OK-atLeft
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
    19
	instanceVariableNames:'reverseOrderIfOKAtLeft'
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
    20
	classVariableNames:''
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
    21
	poolDictionaries:''
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
    22
	category:'Views-Layout'
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    23
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    24
980
6079922a5519 eliminated references to subViews instance variable (will vanish)
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
    25
!HorizontalPanelView class methodsFor:'documentation'!
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
copyright
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 (c) 1989 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    30
	      All Rights Reserved
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    31
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    32
 This software is furnished under a license and may be used
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    33
 only in accordance with the terms of that license and with the
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    35
 be provided or otherwise made available to, or used by, any
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    36
 other person.  No title to or ownership of the software is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    37
 hereby transferred.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    38
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    39
!
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
documentation
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
    a View which arranges its child-views in a horizontal row.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    44
    All real work is done in PanelView - only the layout computation is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    45
    redefined here.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
    46
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    47
    The layout is controlled the instance variables: 
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    48
	horizontalLayout and verticalLayout
127
claus
parents: 125
diff changeset
    49
    in addition to 
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    50
	horizontalSpace and verticalSpace.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    51
133
claus
parents: 131
diff changeset
    52
    HorizontalSpace and verticalSpace control the spacing between elements;
claus
parents: 131
diff changeset
    53
    they default to some 1mm.
claus
parents: 131
diff changeset
    54
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    55
    The horizontal layout can be any of:
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    56
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    57
	#left           arrange elements at left
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    58
	#leftSpace      arrange elements at the left, start with spacing
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    59
	#fixLeft        same as #left, but do not reduce spacing in case of no fit
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    60
	#fixLeftSpace   same as #leftSpace, but do not reduce spacing in case of no fit
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    61
	#right          arrange elements at the right
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    62
	#rightSpace     arrange elements at the right, start with spacing
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    63
	#center         arrange elements in the center
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    64
	#spread         spread elements evenly
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    65
	#spreadSpace    spread elements evenly with spacing at the ends
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    66
	#fit            like #spread, but resize elements for tight packing
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    67
	#fitSpace       like #fit, with additional spacing at the far ends
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    68
	#leftFit        like #left, but extend the last (rightMost) element to the right
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    69
	#leftSpaceFit   like #leftSpace, but extend the last (rightMost) element to the right
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    70
	#rightFit       like #right, but extend the first (leftMost) element to the left
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    71
	#rightSpaceFit  like #rightSpace, but extend the first (leftMost) element to the left
133
claus
parents: 131
diff changeset
    72
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    73
	#leftMax        like corresponding non-Max layouts,
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    74
	#leftSpaceMax   but resize all components to width of widest components
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    75
	#rightMax
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    76
	#rightSpaceMax
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    77
	#centerMax
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    78
	#spreadMax
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    79
	#spreadSpaceMax
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    80
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    81
    the vertical layout can be:
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    82
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    83
	#top            place element at the top
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    84
	#topSpace       place element at the top, offset by verticalSpace
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    85
	#center         place it horizontally centered
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    86
	#bottom         place it at the bottom
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    87
	#bottomSpace    place it at the bottom, offset by verticalSpace
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    88
	#fit            resize elements vertically to fit this panel
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    89
	#fitSpace       like #fit, but with spacing
133
claus
parents: 131
diff changeset
    90
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    91
	#topMax         like #top, but resize all views vertically to max height
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    92
	#topSpaceMax    like #topSpace, but resize all views vertically to max height
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    93
	#bottomMax      like #bottom, but resize all views vertically to max height
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    94
	#bottomSpaceMax like #bottomSpace, but resize all views vertically to max height
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
    95
	#centerMax      like #center, but resize all views vertically to max height
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    96
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
    97
    The defaults is #center for both directions.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    98
    The layout is changed by the messages #verticalLayout: and #horizontalLayout:.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
    99
    For backward compatibility (to times, where only hLayout existed), the simple
133
claus
parents: 131
diff changeset
   100
    #layout: does the same as #horizontalLayout:. 
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   101
    Do not use this old method; it will vanish and currently outputs a warning.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   102
127
claus
parents: 125
diff changeset
   103
    The panel assumes, that the elements do not resize themselfes, after it
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   104
    became visible. This is not true for all widgets (buttons, labels or
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   105
    inputFields may like to change). 
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   106
    If you have changing elements, tell this to the panel
127
claus
parents: 125
diff changeset
   107
    with 'aPanel elementsChangeSize:true'. In that case, the panel will react
133
claus
parents: 131
diff changeset
   108
    to size changes of its elements, and reorganize things.
127
claus
parents: 125
diff changeset
   109
118
claus
parents: 77
diff changeset
   110
    By combining Horizontal- and VerticalPanels (i.e. place a hPanel into a
claus
parents: 77
diff changeset
   111
    vPanel), most layouts should be implementable.
133
claus
parents: 131
diff changeset
   112
    However, iff none of these layout/space combinations is exactly what you need 
118
claus
parents: 77
diff changeset
   113
    in your application, create a subclass, and redefine the setChildPositions 
claus
parents: 77
diff changeset
   114
    method there.
125
claus
parents: 118
diff changeset
   115
claus
parents: 118
diff changeset
   116
    TODO: for completeness, support #fixRight, #fixRightSpace,
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   117
	  #rightFit, #rightSpaceFit layouts
127
claus
parents: 125
diff changeset
   118
claus
parents: 125
diff changeset
   119
    CAVEAT: this class started with #left and no vertical alignments;
133
claus
parents: 131
diff changeset
   120
    as time went by, more layouts were added (by users requests)
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   121
    and now, many layout combinations are possible.
133
claus
parents: 131
diff changeset
   122
    Reflecting this, the setup should be changed to use different selectors 
claus
parents: 131
diff changeset
   123
    for space-on/off, max-resize and alignment
127
claus
parents: 125
diff changeset
   124
    (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
   125
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   126
    [see also:]
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   127
	VerticalPanelView
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   128
	VariableVerticalPanel VariableHorizontalPanel
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   129
	Label
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   130
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   131
    [author:]
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   132
	Claus Gittinger
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   133
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 379
diff changeset
   134
    [author:]
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   135
	Claus Gittinger
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   136
"
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   137
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   138
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   139
examples
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   140
"
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   141
    These examples show the effect of various horizontalLayout and
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   142
    verticalLayout settings. Try them all. Especially, notice the
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   143
    differences between the xxx and xxxSpace layouts and the effect of
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   144
    setting different values for the spacing.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   145
    Try resizing the view and see how the elements get rearranged.
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   146
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   147
    Most of the examples below place 3 buttons onto a panel; 
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   148
    Of course, you can put any other view into a panel ... the last examples show this.
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   149
    (The fit layouts are especially useful to be used with SelectionInListViews;
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   150
     you can combine multiple labels & editFields with a selectionInListView, which
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   151
     is expanded to fill the remaining area of the view)
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   152
127
claus
parents: 125
diff changeset
   153
    example: default layout (center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   154
        centers components
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   155
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   156
        |v p b1 b2 b3|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   157
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   158
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   159
        v label:'default: center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   160
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   161
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   162
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   163
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   164
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   165
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   166
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   167
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   168
                                                                        [exEnd]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   169
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   170
133
claus
parents: 131
diff changeset
   171
    example: same (default center layout) with different sized elements
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   172
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   173
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   174
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   175
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   176
        v label:'default: center'.
133
claus
parents: 131
diff changeset
   177
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   178
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   179
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   180
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   181
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   182
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   183
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   184
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   185
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   186
claus
parents: 131
diff changeset
   187
claus
parents: 131
diff changeset
   188
    example: horizontal default (center); vertical centerMax
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   189
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   190
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   191
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   192
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   193
        v label:'vL=centerMax'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   194
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   195
        p verticalLayout:#centerMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   196
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   197
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   198
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   199
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   200
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   201
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   202
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   203
claus
parents: 131
diff changeset
   204
claus
parents: 131
diff changeset
   205
    example: horizontal default (center); vertical topMax
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   206
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   207
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   208
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   209
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   210
        v label:'vL=topMax'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   211
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   212
        p verticalLayout:#topMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   213
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   214
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   215
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   216
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   217
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   218
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   219
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   220
claus
parents: 131
diff changeset
   221
claus
parents: 131
diff changeset
   222
    example: horizontal default (center); vertical topSpaceMax
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   223
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   224
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   225
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   226
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   227
        v label:'vL=topSpaceMax'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   228
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   229
        p verticalLayout:#topSpaceMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   230
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   231
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   232
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   233
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   234
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   235
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   236
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   237
claus
parents: 131
diff changeset
   238
claus
parents: 131
diff changeset
   239
    example: horizontal default (center); vertical bottomMax
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   240
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   241
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   242
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   243
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   244
        v label:'vL=bottomMax'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   245
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   246
        p verticalLayout:#bottomMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   247
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   248
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   249
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   250
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   251
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   252
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   253
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   254
claus
parents: 131
diff changeset
   255
claus
parents: 131
diff changeset
   256
    example: horizontal default (center); vertical bottomSpaceMax
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   257
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   258
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   259
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   260
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   261
        v label:'vL=bottomSpaceMax'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   262
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   263
        p verticalLayout:#bottomSpaceMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   264
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   265
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   266
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   267
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   268
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   269
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   270
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   271
claus
parents: 131
diff changeset
   272
127
claus
parents: 125
diff changeset
   273
    example: left-layout (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   274
        fills left-to-right; no spacing before leftMost component
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   275
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   276
        |v p b1 b2 b3|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   277
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   278
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   279
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   280
        v label:'hL=left; vL=default (center)'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   281
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   282
        p horizontalLayout:#left.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   283
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   284
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   285
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   286
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   287
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   288
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   289
                                                                        [exEnd]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   290
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   291
127
claus
parents: 125
diff changeset
   292
    example: left starting with spacing (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   293
        fills left-to-right; spacing before leftMost component
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   294
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   295
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   296
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   297
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   298
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   299
        v label:'hL=leftSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   300
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   301
        p horizontalLayout:#leftSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   302
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   303
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   304
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   305
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   306
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   307
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   308
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   309
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   310
127
claus
parents: 125
diff changeset
   311
    example: leftFit-layout (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   312
        fills left-to-right; resizes the rightMost component to fit
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   313
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   314
        |v p b1 b2 b3|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   315
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   316
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   317
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   318
        v label:'hL=leftFit; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   319
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   320
        p horizontalLayout:#leftFit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   321
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   322
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   323
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   324
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   325
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   326
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   327
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   328
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   329
127
claus
parents: 125
diff changeset
   330
    example: leftSpaceFit-layout (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   331
        fills left-to-right; 
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   332
        starts with spacing & resizes the rightMost component to fit with spacing
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   333
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   334
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   335
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   336
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   337
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   338
        v label:'hL=leftSpaceFit; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   339
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   340
        p horizontalLayout:#leftSpaceFit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   341
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   342
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   343
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   344
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   345
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   346
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   347
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   348
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   349
127
claus
parents: 125
diff changeset
   350
    example: right-layout (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   351
        right-to-left
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   352
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   353
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   354
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   355
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   356
        v viewBackground:Color yellow.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   357
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   358
        p viewBackground:Color red.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   359
        v label:'hL=right; vL=center'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   360
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   361
        p horizontalLayout:#rightSpaceFit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   362
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   363
        b1 := View in:p. b1 viewBackground:(Color green).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   364
        b2 := View in:p. b2 viewBackground:(Color gray). 
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   365
        b3 := View in:p. b3 viewBackground:(Color white). 
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   366
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   367
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   368
                                                                        [exEnd]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   369
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   370
127
claus
parents: 125
diff changeset
   371
    example: right with initial spacing (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   372
        right-to-left with spacing after last component
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   373
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   374
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   375
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   376
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   377
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   378
        v label:'hL=rightSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   379
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   380
        p horizontalLayout:#rightSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   381
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   382
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   383
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   384
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   385
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   386
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   387
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   388
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   389
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   390
    example: rightFit-layout (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   391
        right-to-left; resize the leftMost component to fit
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   392
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   393
        |v p b1 b2 b3|
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   394
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   395
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   396
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   397
        v label:'hL=rightFit; vL=center'.
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   398
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   399
        p horizontalLayout:#rightFit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   400
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   401
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   402
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   403
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   404
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   405
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   406
                                                                        [exEnd]
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   407
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   408
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   409
    example: rightSpaceFit with initial spacing (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   410
        right-to-left; start with spacing & resize the leftMost to fit
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   411
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   412
        |v p b1 b2 b3|
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   413
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   414
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   415
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   416
        v label:'hL=rightSpaceFit; vL=center'.
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   417
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   418
        p horizontalLayout:#rightSpaceFit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   419
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   420
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   421
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   422
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   423
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   424
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   425
                                                                        [exEnd]
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   426
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   427
127
claus
parents: 125
diff changeset
   428
    example: fit-layout (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   429
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   430
        |v p b1 b2 b3|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   431
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   432
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   433
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   434
        p horizontalLayout:#fit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   435
        v label:'hL=fit; vL=center'.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   436
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   437
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   438
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   439
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   440
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   441
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   442
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   443
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   444
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   445
127
claus
parents: 125
diff changeset
   446
    example: full fit i.e. no spacing (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   447
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   448
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   449
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   450
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   451
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   452
        p horizontalLayout:#fit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   453
        p horizontalSpace:0.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   454
        v label:'hL=fit hS=0; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   455
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   456
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   457
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   458
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   459
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   460
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   461
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   462
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   463
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   464
127
claus
parents: 125
diff changeset
   465
    example: fit with spacing (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   466
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   467
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   468
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   469
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   470
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   471
        v label:'hL=fitSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   472
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   473
        p horizontalLayout:#fitSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   474
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   475
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   476
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   477
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   478
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   479
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   480
                                                                        [exEnd]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   481
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   482
127
claus
parents: 125
diff changeset
   483
    example: spread-layout (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   484
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   485
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   486
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   487
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   488
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   489
        p horizontalLayout:#spread.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   490
        v label:'hL=spread; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   491
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   492
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   493
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   494
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   495
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   496
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   497
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   498
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   499
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   500
127
claus
parents: 125
diff changeset
   501
    example: spread with spacing (vertical is default -> center)
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   502
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   503
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   504
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   505
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   506
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   507
        v label:'hL=spreadSpace; vL=center'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   508
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   509
        p horizontalLayout:#spreadSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   510
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   511
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   512
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   513
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   514
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   515
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   516
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   517
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   518
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   519
    example: spread with spacing; vertical fit
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   520
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   521
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   522
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   523
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   524
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   525
        v label:'hL=spreadSpace; vL=fit'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   526
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   527
        p horizontalLayout:#spreadSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   528
        p verticalLayout:#fit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   529
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   530
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   531
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   532
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   533
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   534
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   535
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   536
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   537
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   538
    example: spread with spacing; vertical fit with spacing
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   539
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   540
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   541
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   542
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   543
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   544
        v label:'hL=spreadSpace; vL=fitSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   545
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   546
        p horizontalLayout:#spreadSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   547
        p verticalLayout:#fitSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   548
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   549
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   550
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   551
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   552
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   553
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   554
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   555
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   556
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   557
    example: fit - top
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   558
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   559
        |v p b1 b2 b3|
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   560
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   561
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   562
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   563
        v label:'hL=fit; vL=top'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   564
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   565
        p horizontalLayout:#fit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   566
        p verticalLayout:#top.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   567
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   568
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   569
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   570
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   571
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   572
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   573
                                                                        [exEnd]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   574
77
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
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   577
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   578
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   579
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   580
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   581
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   582
        v label:'hL=fitSpace; vL=top'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   583
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   584
        p horizontalLayout:#fitSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   585
        p verticalLayout:#top.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   586
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   587
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   588
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   589
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   590
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   591
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
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
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   595
    example: fit with initial spacing in both directions
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   596
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   597
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   598
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   599
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   600
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   601
        v label:'hL=fitSpace; vL=fitSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   602
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   603
        p horizontalLayout:#fitSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   604
        p verticalLayout:#fitSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   605
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   606
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   607
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   608
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   609
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   610
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   611
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   612
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   613
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   614
    example: fit without spacing in both directions
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   615
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   616
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   617
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   618
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   619
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   620
        v label:'hL=fit hS=0; vL=fit'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   621
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   622
        p horizontalLayout:#fit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   623
        p verticalLayout:#fit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   624
        p horizontalSpace:0.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   625
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   626
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   627
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   628
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   629
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   630
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   631
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   632
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   633
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   634
    example: fit with initial spacing; top with spacing
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   635
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   636
        |v p b1 b2 b3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   637
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   638
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   639
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   640
        v label:'hL=fitSpace; vL=topSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   641
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   642
        p horizontalLayout:#fitSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   643
        p verticalLayout:#topSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   644
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   645
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   646
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   647
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   648
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   649
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   650
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   651
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   652
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   653
    example: fit - top without spacing
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   654
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   655
        |v p b1 b2 b3|
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   656
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   657
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   658
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   659
        v label:'hL=fit; vL=top'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   660
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   661
        p horizontalLayout:#fit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   662
        p verticalLayout:#top.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   663
        p horizontalSpace:0.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   664
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   665
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   666
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   667
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   668
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   669
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   670
                                                                        [exEnd]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   671
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   672
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   673
    example: fit - bottom with spacing and bottomSpace
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   674
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   675
        |v p b1 b2 b3|
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   676
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   677
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   678
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   679
        v label:'hL=fitSpace; vL=bottomSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   680
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   681
        p horizontalLayout:#fitSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   682
        p verticalLayout:#bottomSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   683
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   684
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   685
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   686
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   687
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   688
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   689
                                                                        [exEnd]
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   690
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   691
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   692
    example: fit no horizontal space - bottom with spacing and bottomSpace
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   693
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   694
        |v p b1 b2 b3|
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
   695
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   696
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   697
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   698
        v label:'hL=fit; vL=bottomSpace'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   699
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   700
        p horizontalLayout:#fit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   701
        p verticalLayout:#bottomSpace.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   702
        p horizontalSpace:0.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   703
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   704
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   705
        b2 := Button label:'button2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   706
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   707
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   708
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   709
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   710
133
claus
parents: 131
diff changeset
   711
    example: leftMax - vertical default
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   712
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   713
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   714
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   715
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   716
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   717
        v label:'hL=leftMax; vL=default'.
133
claus
parents: 131
diff changeset
   718
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   719
        p horizontalLayout:#leftMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   720
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   721
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   722
        b2 := Button label:'b2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   723
        b3 := Button label:'but3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   724
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   725
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   726
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   727
claus
parents: 131
diff changeset
   728
claus
parents: 131
diff changeset
   729
    example: leftSpaceMax - vertical default
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   730
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   731
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   732
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   733
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   734
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   735
        v label:'hL=leftSpaceMax; vL=default'.
133
claus
parents: 131
diff changeset
   736
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   737
        p horizontalLayout:#leftSpaceMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   738
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   739
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   740
        b2 := Button label:'b2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   741
        b3 := Button label:'but3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   742
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   743
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   744
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   745
claus
parents: 131
diff changeset
   746
claus
parents: 131
diff changeset
   747
    example: rightMax - vertical default
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   748
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   749
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   750
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   751
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   752
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   753
        v label:'hL=rightMax; vL=default'.
133
claus
parents: 131
diff changeset
   754
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   755
        p horizontalLayout:#rightMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   756
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   757
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   758
        b2 := Button label:'b2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   759
        b3 := Button label:'but3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   760
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   761
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   762
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   763
claus
parents: 131
diff changeset
   764
claus
parents: 131
diff changeset
   765
    example: rightSpaceMax - vertical default
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   766
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   767
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   768
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   769
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   770
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   771
        v label:'hL=rightSpaceMax; vL=default'.
133
claus
parents: 131
diff changeset
   772
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   773
        p horizontalLayout:#rightSpaceMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   774
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   775
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   776
        b2 := Button label:'b2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   777
        b3 := Button label:'but3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   778
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   779
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   780
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   781
claus
parents: 131
diff changeset
   782
claus
parents: 131
diff changeset
   783
    example: centerMax - vertical default
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   784
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   785
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   786
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   787
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   788
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   789
        v label:'hL=centerMax; vL=default'.
133
claus
parents: 131
diff changeset
   790
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   791
        p horizontalLayout:#centerMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   792
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   793
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   794
        b2 := Button label:'b2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   795
        b3 := Button label:'but3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   796
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   797
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   798
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   799
claus
parents: 131
diff changeset
   800
claus
parents: 131
diff changeset
   801
    example: spreadMax - vertical default
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   802
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   803
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   804
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   805
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   806
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   807
        v label:'hL=spreadMax; vL=default'.
133
claus
parents: 131
diff changeset
   808
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   809
        p horizontalLayout:#spreadMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   810
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   811
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   812
        b2 := Button label:'b2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   813
        b3 := Button label:'but3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   814
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   815
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   816
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   817
claus
parents: 131
diff changeset
   818
claus
parents: 131
diff changeset
   819
    example: spreadSpaceMax - vertical default
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   820
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   821
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   822
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   823
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   824
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   825
        v label:'hL=spreadSpaceMax; vL=default'.
133
claus
parents: 131
diff changeset
   826
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   827
        p horizontalLayout:#spreadSpaceMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   828
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   829
        b1 := Button label:'button1' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   830
        b2 := Button label:'b2' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   831
        b3 := Button label:'but3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   832
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   833
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   834
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   835
claus
parents: 131
diff changeset
   836
claus
parents: 131
diff changeset
   837
    example: maximize elements in both directions and center
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   838
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   839
        |v p b1 b2 b3|
133
claus
parents: 131
diff changeset
   840
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   841
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   842
        v label:'hL=centerMax; vL=centerMax'.
133
claus
parents: 131
diff changeset
   843
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   844
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   845
        p horizontalLayout:#centerMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   846
        p verticalLayout:#centerMax.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   847
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   848
        b1 := Button label:'but1' in:p. b1 font:(b1 font size:8).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   849
        b2 := Button label:'b2' in:p.      b2 font:(b1 font size:24).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   850
        b3 := Button label:'button3' in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   851
        v extent:300 @ 100.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   852
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   853
                                                                        [exEnd]
133
claus
parents: 131
diff changeset
   854
claus
parents: 131
diff changeset
   855
118
claus
parents: 77
diff changeset
   856
    example: placing hPanels into a vPanel
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   857
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   858
        |v vP hP1 hP2 hP3 b1 b2 b3 b4 b5 b6 b7 b8 b9|
118
claus
parents: 77
diff changeset
   859
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   860
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   861
        vP := VerticalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   862
        vP origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   863
        vP verticalLayout:#fit;
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   864
           verticalSpace:0;
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   865
           horizontalLayout:#fit.
118
claus
parents: 77
diff changeset
   866
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   867
        hP1 := HorizontalPanelView in:vP.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   868
        hP1 horizontalLayout:#fitSpace;
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   869
            verticalLayout:#center.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   870
        b1 := Button label:'button1' in:hP1.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   871
        b2 := Button label:'button2' in:hP1.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   872
        b3 := Button label:'button3' in:hP1.
118
claus
parents: 77
diff changeset
   873
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   874
        hP2 := HorizontalPanelView in:vP.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   875
        hP2 horizontalLayout:#fitSpace;
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   876
            verticalLayout:#center.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   877
        b4 := Button label:'button4' in:hP2.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   878
        b5 := Button label:'button5' in:hP2.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   879
        b6 := Button label:'button6' in:hP2.
118
claus
parents: 77
diff changeset
   880
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   881
        hP3 := HorizontalPanelView in:vP.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   882
        hP3 horizontalLayout:#fitSpace;
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   883
            verticalLayout:#center.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   884
        b7 := Button label:'button7' in:hP3.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   885
        b8 := Button label:'button8' in:hP3.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   886
        b9 := Button label:'button9' in:hP3.
118
claus
parents: 77
diff changeset
   887
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   888
        v extent:300 @ 300.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   889
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   890
                                                                        [exEnd]
118
claus
parents: 77
diff changeset
   891
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   892
    example: a browser like table, the two left tables have a fix width,
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   893
             while the rightmost list extends to the far right.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   894
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   895
        |v p l1 l2 l3|
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   896
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   897
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   898
        p := HorizontalPanelView in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   899
        v label:'hL=leftFit hS=0; vL=fit'.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   900
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   901
        p horizontalLayout:#leftFit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   902
        p horizontalSpace:0.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   903
        p verticalLayout:#fit.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   904
        p origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   905
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   906
        l1 := ScrollableView for:FileSelectionList in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   907
        l1 stayInDirectory:true.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   908
        l1 ignoreParentDirectory:true.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   909
        l1 directory:'/'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   910
        l1 action:[:selection | l2 directory:(l1 selectedPathname)].
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   911
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   912
        l2 := ScrollableView for:FileSelectionList in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   913
        l2 stayInDirectory:true.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   914
        l2 directory:nil.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   915
        l2 ignoreParentDirectory:true.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   916
        l2 action:[:selection | l3 directory:(l2 selectedPathname)].
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   917
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   918
        l3 := ScrollableView for:FileSelectionList in:p.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   919
        l3 directory:nil.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   920
        l3 ignoreParentDirectory:false.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   921
        v extent:400 @ 300.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   922
        v open
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   923
                                                                        [exEnd]
125
claus
parents: 118
diff changeset
   924
claus
parents: 118
diff changeset
   925
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   926
    trouble example: self-resizing elements may cause trouble
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   927
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   928
        |v p l1 l2 l3|
125
claus
parents: 118
diff changeset
   929
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   930
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   931
        p := HorizontalPanelView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:v.
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   932
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   933
        l1 := (Label label:'one' in:p) level:-1.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   934
        l2 := (Label label:'two' in:p) level:-1.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   935
        l3 := (Label label:'three' in:p) level:-1.
125
claus
parents: 118
diff changeset
   936
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   937
        v extent:400 @ 300.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   938
        v open.
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   939
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   940
        (Delay forSeconds:5) wait.
125
claus
parents: 118
diff changeset
   941
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   942
        l1 label:'oneone'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   943
        l2 label:'twotwo'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   944
        l3 label:'threethree'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   945
                                                                        [exEnd]
125
claus
parents: 118
diff changeset
   946
claus
parents: 118
diff changeset
   947
claus
parents: 118
diff changeset
   948
    fixed trouble example: tell the panel that this situation may happen
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   949
                                                                        [exBegin]
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   950
        |v p l1 l2 l3|
125
claus
parents: 118
diff changeset
   951
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   952
        v := StandardSystemView new.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   953
        p := HorizontalPanelView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:v.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   954
        p elementsChangeSize:true.
125
claus
parents: 118
diff changeset
   955
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   956
        l1 := (Label label:'one' in:p) level:-1.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   957
        l2 := (Label label:'two' in:p) level:-1.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   958
        l3 := (Label label:'three' in:p) level:-1.
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   959
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   960
        v extent:400 @ 300.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   961
        v open.
125
claus
parents: 118
diff changeset
   962
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   963
        (Delay forSeconds:5) wait.
125
claus
parents: 118
diff changeset
   964
5831
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   965
        l1 label:'oneone'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   966
        l2 label:'twotwo'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   967
        l3 label:'threethree'.
2ebb7988e0ff #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5813
diff changeset
   968
                                                                        [exEnd]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   969
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 5
diff changeset
   970
! !
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   971
5227
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   972
!HorizontalPanelView class methodsFor:'queries'!
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   973
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   974
possibleHorizontalLayouts
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   975
    ^ #(
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   976
                #okCancelBox
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   977
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   978
                #left
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   979
                #leftSpace
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   980
                #fixLeft
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   981
                #fixLeftSpace
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   982
                #right
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   983
                #rightSpace
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   984
                #center
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   985
                #spread
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   986
                #spreadSpace
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   987
                #fit
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   988
                #fitSpace
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   989
                #leftFit 
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   990
                #leftSpaceFit
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   991
                #rightFit 
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   992
                #rightSpaceFit
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   993
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   994
                #leftMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   995
                #leftSpaceMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   996
                #rightMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   997
                #rightSpaceMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   998
                #centerMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
   999
                #spreadMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1000
                #spreadSpaceMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1001
        ) 
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1002
!
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1003
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1004
possibleVerticalLayouts
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1005
       ^ #(
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1006
                #top
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1007
                #topSpace
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1008
                #center
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1009
                #bottom
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1010
                #bottomSpace
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1011
                #fit
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1012
                #fitSpace
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1013
                #topMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1014
                #topSpaceMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1015
                #bottomMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1016
                #bottomSpaceMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1017
                #centerMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1018
        ) 
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1019
! !
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1020
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1021
!HorizontalPanelView methodsFor:'accessing'!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1022
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1023
horizontalLayout
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1024
    "return the horizontal layout as symbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1025
     the returned value is one of
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1026
	#left           arrange elements at the left
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1027
	#leftSpace      arrange elements at the left, start with spacing
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1028
	#fixLeft        same as #left, but do not reduce spacing in case of no fit
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1029
	#fixLeftSpace   same as #leftSpace, but do not reduce spacing in case of no fit
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1030
	#right          arrange elements at the right
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1031
	#rightSpace     arrange elements at the right, start with spacing
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1032
	#center         arrange elements in the center
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1033
	#spread         spread elements evenly
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1034
	#spreadSpace    spread elements evenly with spacing at the ends
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1035
	#fit            like #spread, but resize elements for tight packing
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1036
	#fitSpace       like #fit, with additional spacing at the far ends
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1037
	#leftFit        like #left, but resize the last element to fit
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1038
	#leftSpaceFit   like #leftSpace, but resize the last element to fit
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1039
	#rightFit       like #right, but resize the first element to fit
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1040
	#rightSpaceFit  like #rightSpace, but resize the first element to fit
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
  1041
      the default is #center
118
claus
parents: 77
diff changeset
  1042
      See the class documentation for  the meanings.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1043
    "
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1044
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1045
    ^ hLayout
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1046
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1047
    "Modified: 17.8.1997 / 15:21:26 / cg"
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1048
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1049
5227
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1050
horizontalLayout:layoutSymbolArg
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1051
    "change the horizontal layout as symbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1052
     The argument, aSymbol must be one of:
5227
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1053
        #okCancelBox    window system specific. Will dynamically be one of:
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1054
                        #maxRightSpace or #fitSpace, depending on style sheet value.
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1055
                        
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1056
        #left           arrange elements at the left
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1057
        #leftSpace      arrange elements at the left, start with spacing
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1058
        #fixLeft        same as #left, but do not reduce spacing in case of no fit
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1059
        #fixLeftSpace   same as #leftSpace, but do not reduce spacing in case of no fit
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1060
        #right          arrange elements at the right
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1061
        #rightSpace     arrange elements at the right, start with spacing
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1062
        #center         arrange elements in the center
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1063
        #spread         spread elements evenly
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1064
        #spreadSpace    spread elements evenly with spacing at the ends
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1065
        #fit            like #spread, but resize elements for tight packing
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1066
        #fitSpace       like #fit, with additional spacing at the far ends
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1067
        #leftFit        like #left, but resize the last element to fit
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1068
        #leftSpaceFit   like #leftSpace, but resize the last element to fit
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1069
        #rightFit       like #right, but resize the first element to fit
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1070
        #rightSpaceFit  like #rightSpace, but resize the first element to fit
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1071
5227
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1072
        #leftMax        like non-Max layouts, resizing components to
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1073
        #leftSpaceMax   the width of the widest component
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1074
        #rightMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1075
        #rightSpaceMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1076
        #centerMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1077
        #spreadMax
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1078
        #spreadSpaceMax
118
claus
parents: 77
diff changeset
  1079
      the default (if never changed) is #center.
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1080
      See the class documentation for the meanings.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1081
    "
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1082
5227
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1083
    |layoutSymbol|
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1084
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1085
    layoutSymbol := layoutSymbolArg.
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1086
    layoutSymbol == #okCancelBox ifTrue:[
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1087
        layoutSymbol := styleSheet at:#'horizontalPanel.okCancelBox' default:#fitSpace.
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1088
    ].
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1089
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1090
    (hLayout ~~ layoutSymbol) ifTrue:[
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1091
        hLayout := layoutSymbol.
94ce4ed2f106 class: HorizontalPanelView
Claus Gittinger <cg@exept.de>
parents: 4565
diff changeset
  1092
        self layoutChanged
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1093
    ]
1156
4f0db7433c78 commentary
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
  1094
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1095
    "Modified: 17.8.1997 / 15:21:16 / cg"
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1096
!
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1097
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1098
layout:something
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1099
    "OBSOLETE compatibility interface. Will vanish.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1100
     leftover for historic reasons - do not use any more.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1101
     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
  1102
2365
fb05ac894aed Use <resource:#obsolete>
Stefan Vogel <sv@exept.de>
parents: 2305
diff changeset
  1103
    <resource:#obsolete>
fb05ac894aed Use <resource:#obsolete>
Stefan Vogel <sv@exept.de>
parents: 2305
diff changeset
  1104
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1105
    something isLayout ifTrue:[^ super layout:something].
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1106
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1107
    self obsoleteMethodWarning:'use #horizontalLayout:'.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1108
    ^ self horizontalLayout:something
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1109
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1110
    "Modified: 31.8.1995 / 23:07:33 / claus"
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1111
!
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1112
2099
1f2eacc75651 accessor added
Claus Gittinger <cg@exept.de>
parents: 2040
diff changeset
  1113
reverseOrderIfOKAtLeft
1f2eacc75651 accessor added
Claus Gittinger <cg@exept.de>
parents: 2040
diff changeset
  1114
    "return the reverseOrderIfOKAtLeft flag.
1f2eacc75651 accessor added
Claus Gittinger <cg@exept.de>
parents: 2040
diff changeset
  1115
     This can be set for OK-Cancel like panels, where the OK Button should
1f2eacc75651 accessor added
Claus Gittinger <cg@exept.de>
parents: 2040
diff changeset
  1116
     be positioned on the left for some viewStyles."
1f2eacc75651 accessor added
Claus Gittinger <cg@exept.de>
parents: 2040
diff changeset
  1117
1f2eacc75651 accessor added
Claus Gittinger <cg@exept.de>
parents: 2040
diff changeset
  1118
    ^ reverseOrderIfOKAtLeft 
1f2eacc75651 accessor added
Claus Gittinger <cg@exept.de>
parents: 2040
diff changeset
  1119
!
1f2eacc75651 accessor added
Claus Gittinger <cg@exept.de>
parents: 2040
diff changeset
  1120
2039
ad9313ab0151 added support for component reversal if OK-atLeft
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  1121
reverseOrderIfOKAtLeft:aBoolean
ad9313ab0151 added support for component reversal if OK-atLeft
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  1122
    "set/clear the reverseOrderIfOKAtLeft flag.
ad9313ab0151 added support for component reversal if OK-atLeft
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  1123
     This can be set for OK-Cancel like panels, where the OK Button should
ad9313ab0151 added support for component reversal if OK-atLeft
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  1124
     be positioned on the left for some viewStyles."
ad9313ab0151 added support for component reversal if OK-atLeft
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  1125
ad9313ab0151 added support for component reversal if OK-atLeft
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  1126
    reverseOrderIfOKAtLeft := aBoolean
ad9313ab0151 added support for component reversal if OK-atLeft
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  1127
!
ad9313ab0151 added support for component reversal if OK-atLeft
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  1128
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1129
verticalLayout
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1130
    "return the vertical layout as a symbol.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1131
     the returned value is one of
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1132
	#top            place element at the top
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1133
	#topSpace       place element at the top, offset by verticalSpace
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1134
	#center         place it horizontally centered
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1135
	#bottom         place it at the bottom
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1136
	#bottomSpace    place it at the bottom, offset by verticalSpace
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1137
	#fit            resize elements vertically to fit this panel
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1138
	#fitSpace       like #fit, but with spacing
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1139
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1140
	#topMax         like #top, but resize all views vertically to max height
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1141
	#topSpaceMax    like #topSpace, but resize all views vertically to max height
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1142
	#bottomMax      like #bottom, but resize all views vertically to max height
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1143
	#bottomSpaceMax like #bottomSpace, but resize all views vertically to max height
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1144
	#centerMax      like #center, but resize all views vertically to max height
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1145
      the default is #center
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1146
      See the class documentation for  the meanings.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1147
    "
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1148
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1149
    ^ vLayout
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1150
!
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1151
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1152
verticalLayout:aSymbol
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1153
    "change the vertical layout as a symbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1154
     The argument, aSymbol must be one of:
133
claus
parents: 131
diff changeset
  1155
	#top            place element at the top
claus
parents: 131
diff changeset
  1156
	#topSpace       place element at the top, offset by verticalSpace
claus
parents: 131
diff changeset
  1157
	#center         place it horizontally centered
claus
parents: 131
diff changeset
  1158
	#bottom         place it at the bottom
claus
parents: 131
diff changeset
  1159
	#bottomSpace    place it at the bottom, offset by verticalSpace
claus
parents: 131
diff changeset
  1160
	#fit            resize elements vertically to fit this panel
claus
parents: 131
diff changeset
  1161
	#fitSpace       like #fit, but with spacing
claus
parents: 131
diff changeset
  1162
claus
parents: 131
diff changeset
  1163
	#topMax         like #top, but resize all views vertically to max height
claus
parents: 131
diff changeset
  1164
	#topSpaceMax    like #topSpace, but resize all views vertically to max height
claus
parents: 131
diff changeset
  1165
	#bottomMax      like #bottom, but resize all views vertically to max height
claus
parents: 131
diff changeset
  1166
	#bottomSpaceMax like #bottomSpace, but resize all views vertically to max height
claus
parents: 131
diff changeset
  1167
	#centerMax      like #center, but resize all views vertically to max height
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
  1168
      the default (if never changed) is #center
118
claus
parents: 77
diff changeset
  1169
      See the class documentation for  the meanings.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1170
    "
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1171
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1172
    (vLayout ~~ aSymbol) ifTrue:[
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1173
	vLayout := aSymbol.
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1174
	self layoutChanged
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1175
    ]
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1176
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1177
3458
5fd0c976f1bc focus handling: subviewsInFocusOrder
ca
parents: 3118
diff changeset
  1178
!HorizontalPanelView methodsFor:'focus handling'!
5fd0c976f1bc focus handling: subviewsInFocusOrder
ca
parents: 3118
diff changeset
  1179
5fd0c976f1bc focus handling: subviewsInFocusOrder
ca
parents: 3118
diff changeset
  1180
subviewsInFocusOrder
3515
25470e3161e1 changed #subviewsInFocusOrder
ca
parents: 3503
diff changeset
  1181
25470e3161e1 changed #subviewsInFocusOrder
ca
parents: 3503
diff changeset
  1182
    subViews isEmptyOrNil ifTrue:[ ^ #() ].
25470e3161e1 changed #subviewsInFocusOrder
ca
parents: 3503
diff changeset
  1183
    
6276
c5bd5d4f7243 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 6138
diff changeset
  1184
    (reverseOrderIfOKAtLeft == true and:[Dialog defaultOKButtonAtLeft]) ifTrue:[
3515
25470e3161e1 changed #subviewsInFocusOrder
ca
parents: 3503
diff changeset
  1185
        ^ subViews reversed
3458
5fd0c976f1bc focus handling: subviewsInFocusOrder
ca
parents: 3118
diff changeset
  1186
    ].
5fd0c976f1bc focus handling: subviewsInFocusOrder
ca
parents: 3118
diff changeset
  1187
    ^ subViews
5fd0c976f1bc focus handling: subviewsInFocusOrder
ca
parents: 3118
diff changeset
  1188
! !
5fd0c976f1bc focus handling: subviewsInFocusOrder
ca
parents: 3118
diff changeset
  1189
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1190
!HorizontalPanelView methodsFor:'layout'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1191
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1192
setChildPositions
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1193
    "(re)compute position of every child whenever children are added or
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1194
     my size has changed"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1195
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1196
    |xpos space sumOfWidths numChilds l wEach wInside hL vL resizeToMaxV
4565
4c4b47122c2c Changed usage of deprecated #copyWithoutLast: to #copyButLast:
Stefan Vogel <sv@exept.de>
parents: 4023
diff changeset
  1197
     resizeToMaxH maxHeight maxWidth m2 subViews restWidth y2 bw|
1042
5914ecc423e1 care for sizing with no subviews;
ca
parents: 1038
diff changeset
  1198
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1199
    subViews := self subViewsToConsider.
2039
ad9313ab0151 added support for component reversal if OK-atLeft
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  1200
    (numChilds := subViews size) == 0 ifTrue:[^ self].
3778
c7257987a773 division by zero with numChilds == 1
Claus Gittinger <cg@exept.de>
parents: 3765
diff changeset
  1201
6276
c5bd5d4f7243 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 6138
diff changeset
  1202
    ((reverseOrderIfOKAtLeft == true) and:[Dialog defaultOKButtonAtLeft]) ifTrue:[
c5bd5d4f7243 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 6138
diff changeset
  1203
        subViews := subViews reversed.
2039
ad9313ab0151 added support for component reversal if OK-atLeft
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  1204
    ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1205
3500
ea942b6f6edc changed #setChildPositions
ca
parents: 3458
diff changeset
  1206
"/    self extentChangedFlag ifTrue:[
ea942b6f6edc changed #setChildPositions
ca
parents: 3458
diff changeset
  1207
"/        ext := self computeExtent.
ea942b6f6edc changed #setChildPositions
ca
parents: 3458
diff changeset
  1208
"/        width := ext x.
ea942b6f6edc changed #setChildPositions
ca
parents: 3458
diff changeset
  1209
"/        height := ext y.
ea942b6f6edc changed #setChildPositions
ca
parents: 3458
diff changeset
  1210
"/    ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1211
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1212
    space := horizontalSpace.
1254
c9e604f03e6a code compactified (slightly)
Claus Gittinger <cg@exept.de>
parents: 1165
diff changeset
  1213
4023
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1214
    bw := self borderWidth.
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1215
    m2 := margin * 2.
4023
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1216
    wInside := width - m2 + (bw*2) - subViews last borderWidth.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
  1217
118
claus
parents: 77
diff changeset
  1218
    hL := hLayout.
claus
parents: 77
diff changeset
  1219
    vL := vLayout.
5976
7ce7f1eed0cf #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5932
diff changeset
  1220
"/ hL == #rightFit ifTrue:[self halt].
133
claus
parents: 131
diff changeset
  1221
    resizeToMaxH := false.
claus
parents: 131
diff changeset
  1222
    (hL endsWith:'Max') ifTrue:[
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1223
        resizeToMaxH := true.
2484
d3dc4dd15655 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2480
diff changeset
  1224
        wEach := maxWidth := subViews
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1225
                                inject:0
2480
f9fa0ccebe03 maxLeft: ignore invisible
Claus Gittinger <cg@exept.de>
parents: 2387
diff changeset
  1226
                                into:[:maxSoFar :child |
5605
65f49fc215d5 #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 5588
diff changeset
  1227
                                        maxSoFar max:child preferredWidth "widthIncludingBorder"
2480
f9fa0ccebe03 maxLeft: ignore invisible
Claus Gittinger <cg@exept.de>
parents: 2387
diff changeset
  1228
                                ].
4565
4c4b47122c2c Changed usage of deprecated #copyWithoutLast: to #copyButLast:
Stefan Vogel <sv@exept.de>
parents: 4023
diff changeset
  1229
        hL := (hL copyButLast:3) asSymbol.
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1230
    ].
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1231
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1232
    numChilds == 1 ifTrue:[
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1233
        (hL == #leftFit or:[hL == #rightFit]) ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1234
            hL := #fit
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1235
        ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1236
        (hL == #leftSpaceFit or:[hL == #rightSpaceFit]) ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1237
            hL := #fitSpace
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1238
        ].
133
claus
parents: 131
diff changeset
  1239
    ].
claus
parents: 131
diff changeset
  1240
118
claus
parents: 77
diff changeset
  1241
    hL == #fitSpace ifTrue:[
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1242
        "
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1243
         adjust childs extents and set origins.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1244
         Be careful to avoid accumulation of rounding errors
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1245
        "
3458
5fd0c976f1bc focus handling: subviewsInFocusOrder
ca
parents: 3118
diff changeset
  1246
        wEach := (wInside - ((numChilds + 1) * space)) / numChilds.
4023
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1247
        xpos := space + margin - bw.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1248
    ] ifFalse:[
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1249
        hL == #fit ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1250
            "
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1251
             adjust childs extents and set origins.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1252
             Be careful to avoid accumulation of rounding errors
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1253
            "
3458
5fd0c976f1bc focus handling: subviewsInFocusOrder
ca
parents: 3118
diff changeset
  1254
            wEach := (wInside - ((numChilds - 1) * space)) / numChilds.
4023
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1255
            xpos := margin - bw.
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1256
        ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1257
            l := hL.
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1258
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1259
            "
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1260
             compute net width needed
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1261
            "
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1262
            resizeToMaxH ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1263
                sumOfWidths := subViews inject:0 into:[:sumSoFar :child | sumSoFar + maxWidth + (child borderWidth*2)].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1264
            ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1265
                sumOfWidths := subViews inject:0 into:[:sumSoFar :child | sumSoFar + child widthIncludingBorder].
2030
30247cb8fab0 oops - bug in setChildPositions leading to recursion
Claus Gittinger <cg@exept.de>
parents: 2012
diff changeset
  1266
30247cb8fab0 oops - bug in setChildPositions leading to recursion
Claus Gittinger <cg@exept.de>
parents: 2012
diff changeset
  1267
                "/ adjust - do not include width of last(first) element if doing a fit
30247cb8fab0 oops - bug in setChildPositions leading to recursion
Claus Gittinger <cg@exept.de>
parents: 2012
diff changeset
  1268
                (hL == #leftFit or:[hL == #leftSpaceFit]) ifTrue:[
30247cb8fab0 oops - bug in setChildPositions leading to recursion
Claus Gittinger <cg@exept.de>
parents: 2012
diff changeset
  1269
                    sumOfWidths := sumOfWidths - subViews last widthIncludingBorder.
30247cb8fab0 oops - bug in setChildPositions leading to recursion
Claus Gittinger <cg@exept.de>
parents: 2012
diff changeset
  1270
                ] ifFalse:[
30247cb8fab0 oops - bug in setChildPositions leading to recursion
Claus Gittinger <cg@exept.de>
parents: 2012
diff changeset
  1271
                    (hL == #rightFit or:[hL == #rightSpaceFit]) ifTrue:[
30247cb8fab0 oops - bug in setChildPositions leading to recursion
Claus Gittinger <cg@exept.de>
parents: 2012
diff changeset
  1272
                        sumOfWidths := sumOfWidths - subViews first widthIncludingBorder.
5976
7ce7f1eed0cf #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5932
diff changeset
  1273
                        hL == #rightSpaceFit ifTrue:[
7ce7f1eed0cf #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5932
diff changeset
  1274
                            sumOfWidths := sumOfWidths + (space * (numChilds+1)).
7ce7f1eed0cf #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5932
diff changeset
  1275
                        ] ifFalse:[
7ce7f1eed0cf #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5932
diff changeset
  1276
                            sumOfWidths := sumOfWidths + (space * (numChilds-1)).
7ce7f1eed0cf #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5932
diff changeset
  1277
                        ]
2030
30247cb8fab0 oops - bug in setChildPositions leading to recursion
Claus Gittinger <cg@exept.de>
parents: 2012
diff changeset
  1278
                    ]
30247cb8fab0 oops - bug in setChildPositions leading to recursion
Claus Gittinger <cg@exept.de>
parents: 2012
diff changeset
  1279
                ].
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1280
            ].
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1281
5424
Claus Gittinger <cg@exept.de>
parents: 5227
diff changeset
  1282
            restWidth := wInside "width" - sumOfWidths "- (numChilds-1*space)".
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1283
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1284
            ((l == #center) and:[numChilds == 1]) ifTrue:[l := #spread].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1285
            (l == #spread and:[numChilds == 1]) ifTrue:[l := #spreadSpace].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1286
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1287
            "
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1288
             compute position of leftmost subview and space between them;
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1289
             if they do hardly fit, leave no space between them
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1290
            "
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1291
            ((sumOfWidths > (width - m2))
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1292
            and:[l ~~ #fixLeftSpace and:[l ~~ #fixLeft]]) ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1293
                xpos := margin.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1294
                space := 0
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1295
            ] ifFalse: [
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1296
                l == #fixLeftSpace ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1297
                    l := #leftSpace
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1298
                ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1299
                    l == #fixLeft ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1300
                        l := #left
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1301
                    ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1302
                ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1303
                ((l == #right) or:[l == #rightSpace
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1304
                or:[l == #rightFit or:[l == #rightSpaceFit]]]) ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1305
                    xpos := restWidth - (space * (numChilds - 1)).
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1306
"/
4023
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1307
"/                    bw == 0 ifTrue:[
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1308
"/                        xpos := xpos + space
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1309
"/                    ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1310
"/
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1311
                    (l == #rightSpace
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1312
                    or:[l == #rightSpaceFit]) ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1313
                        xpos >= space ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1314
                            xpos := xpos - space
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1315
                        ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1316
                    ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1317
                    xpos := xpos - margin.
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1318
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1319
                    xpos < 0 ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1320
                        space := space min:(restWidth // (numChilds + 1)).
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1321
                        xpos := restWidth - (space * numChilds).
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1322
                    ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1323
                ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1324
                    (l == #spread) ifTrue:[
3778
c7257987a773 division by zero with numChilds == 1
Claus Gittinger <cg@exept.de>
parents: 3765
diff changeset
  1325
                        numChilds == 1 ifTrue:[
c7257987a773 division by zero with numChilds == 1
Claus Gittinger <cg@exept.de>
parents: 3765
diff changeset
  1326
                            space := (restWidth - m2).
c7257987a773 division by zero with numChilds == 1
Claus Gittinger <cg@exept.de>
parents: 3765
diff changeset
  1327
                        ] ifFalse:[
c7257987a773 division by zero with numChilds == 1
Claus Gittinger <cg@exept.de>
parents: 3765
diff changeset
  1328
                            space := (restWidth - m2) // (numChilds - 1).
c7257987a773 division by zero with numChilds == 1
Claus Gittinger <cg@exept.de>
parents: 3765
diff changeset
  1329
                        ].
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1330
                        xpos := margin.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1331
                        (space == 0) ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1332
                            xpos := restWidth // 2
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1333
                        ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1334
                    ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1335
                      (l == #spreadSpace) ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1336
                        space := (restWidth - m2) // (numChilds + 1).
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1337
                        xpos := space + margin.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1338
                        (space == 0) ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1339
                            xpos := restWidth // 2
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1340
                        ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1341
                      ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1342
                        ((l == #left) or:[l == #leftSpace
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1343
                        or:[l == #leftFit or:[l == #leftSpaceFit]]]) ifTrue:[
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1344
                            (l == #left or:[l == #leftFit]) ifTrue:[
3737
5ef2b67ae860 fix devide by zero problem if numChilds = 1
ab
parents: 3686
diff changeset
  1345
                                numChilds == 1 ifTrue: [
5ef2b67ae860 fix devide by zero problem if numChilds = 1
ab
parents: 3686
diff changeset
  1346
                                    space := space min:(restWidth - m2).
5ef2b67ae860 fix devide by zero problem if numChilds = 1
ab
parents: 3686
diff changeset
  1347
                                ]ifFalse:[
5ef2b67ae860 fix devide by zero problem if numChilds = 1
ab
parents: 3686
diff changeset
  1348
                                    space := space min:(restWidth - m2) // (numChilds - 1).
5ef2b67ae860 fix devide by zero problem if numChilds = 1
ab
parents: 3686
diff changeset
  1349
                                ].
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1350
                            ] ifFalse:[
3674
d9a22791dc50 spacing computation fixed (boundary condition, spacing reduction)
Claus Gittinger <cg@exept.de>
parents: 3515
diff changeset
  1351
                                space := space min:(restWidth - m2) // (numChilds "+ 1").
d9a22791dc50 spacing computation fixed (boundary condition, spacing reduction)
Claus Gittinger <cg@exept.de>
parents: 3515
diff changeset
  1352
                            ].
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1353
                            (hL == #fixLeft or:[hL == #fixLeftSpace]) ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1354
                                space := space max:horizontalSpace.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1355
                            ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1356
                                space := space max:0.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1357
                            ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1358
                            (l == #leftSpace or:[l == #leftSpaceFit]) ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1359
                                xpos := space + margin.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1360
                            ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1361
                                "/
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1362
                                "/ if the very first view has a 0-level AND
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1363
                                "/ my level is non-zero, begin with margin
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1364
                                "/
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1365
                                true "(margin ~~ 0 and:[subViews first level == 0])" ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1366
                                    xpos := margin
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1367
                                ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1368
                                    xpos := 0
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1369
                                ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1370
                            ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1371
                        ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1372
                            "center"
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1373
                            xpos := (restWidth - ((numChilds - 1) * space)) // 2.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1374
                            xpos < 0 ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1375
                                space := restWidth // (numChilds + 1).
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1376
                                xpos := (restWidth - ((numChilds - 1) * space)) // 2.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1377
                            ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1378
                        ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1379
                      ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1380
                    ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1381
                ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1382
            ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1383
        ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1384
    ].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1385
133
claus
parents: 131
diff changeset
  1386
    resizeToMaxV := false.
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1387
    (vL endsWith:'Max') ifTrue:[
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1388
        resizeToMaxV := true.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1389
        maxHeight := subViews inject:0 into:[:maxSoFar :child | maxSoFar max:child heightIncludingBorder].
4565
4c4b47122c2c Changed usage of deprecated #copyWithoutLast: to #copyButLast:
Stefan Vogel <sv@exept.de>
parents: 4023
diff changeset
  1390
        vL := (vL copyButLast:3) asSymbol.
133
claus
parents: 131
diff changeset
  1391
    ].
claus
parents: 131
diff changeset
  1392
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1393
    "
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1394
     now set positions
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1395
    "
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1396
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
  1397
    subViews keysAndValuesDo:[:index :child |
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1398
        |ypos advance bwChild hChild newHChild|
62
7cc1e330da47 *** empty log message ***
claus
parents: 59
diff changeset
  1399
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1400
        hChild := child heightIncludingBorder.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1401
        bwChild := child borderWidth.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1402
3118
996b7fc6dee7 1. Avoid endless recursion with #elementsChangesSize.
Stefan Vogel <sv@exept.de>
parents: 2699
diff changeset
  1403
        elementsChangeSize ifTrue:[
5922
974b38d3d99b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 5831
diff changeset
  1404
            "to avoid a recursion when we change the element's size"
3118
996b7fc6dee7 1. Avoid endless recursion with #elementsChangesSize.
Stefan Vogel <sv@exept.de>
parents: 2699
diff changeset
  1405
            child removeDependent:self.
996b7fc6dee7 1. Avoid endless recursion with #elementsChangesSize.
Stefan Vogel <sv@exept.de>
parents: 2699
diff changeset
  1406
        ].
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1407
        resizeToMaxV ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1408
            child height:(hChild := maxHeight - (bwChild  * 2)).
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1409
        ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1410
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1411
        vL == #top ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1412
            ypos := margin
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1413
        ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1414
            vL == #topSpace ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1415
                ypos :=  margin + verticalSpace
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1416
            ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1417
                vL == #bottom ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1418
                    ypos := height - margin - child heightIncludingBorder
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1419
                ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1420
                    vL == #bottomSpace ifTrue:[
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1421
                        ypos := height - margin
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1422
                                - verticalSpace - child heightIncludingBorder.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1423
                    ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1424
                        vL == #fitSpace ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1425
                            ypos := verticalSpace.
3458
5fd0c976f1bc focus handling: subviewsInFocusOrder
ca
parents: 3118
diff changeset
  1426
                            newHChild := height - ((verticalSpace + bwChild) * 2).
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1427
                            ypos := ypos + margin.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1428
                            newHChild := newHChild - m2.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1429
                        ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1430
                            vL == #fit ifTrue:[
5424
Claus Gittinger <cg@exept.de>
parents: 5227
diff changeset
  1431
                                newHChild := height "- (bwChild * 2)".
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1432
                                "/
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1433
                                "/ if the view has a 0-level AND
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1434
                                "/ my level is non-zero, begin with margin
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1435
                                "/
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1436
                                true "(level ~~ 0 and:[child level == 0])" ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1437
                                    ypos := margin.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1438
                                    newHChild := newHChild - m2.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1439
                                ] ifFalse:[
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1440
                                    ypos := 0.
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1441
                                ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1442
                            ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1443
                                "centered"
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1444
                                ypos := margin + ((height - m2 - hChild) // 2).
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1445
                            ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1446
                        ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1447
                    ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1448
                ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1449
            ]
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1450
        ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1451
        newHChild notNil ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1452
            child height:newHChild
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1453
        ].
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1454
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1455
        (ypos < 0) ifTrue:[ypos := 0].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1456
2033
fc16e79f649b size computation with bordered components
Claus Gittinger <cg@exept.de>
parents: 2030
diff changeset
  1457
        y2 := ypos + child height - 1.
fc16e79f649b size computation with bordered components
Claus Gittinger <cg@exept.de>
parents: 2030
diff changeset
  1458
5813
264f904ada97 #OTHER by mawalch
mawalch
parents: 5605
diff changeset
  1459
        (hL == #fit
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1460
         or:[hL == #fitSpace
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1461
         or:[resizeToMaxH]]) ifTrue:[
1747
d5be0d4cf7fc do not care for sizeFixed views with fit layouts.
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
  1462
"/cg: removed this (OLD) piece of code,
6100
43667474ed53 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5976
diff changeset
  1463
"/ which prevents resizing of label-like things if it's sizeFixed is set to true 
1747
d5be0d4cf7fc do not care for sizeFixed views with fit layouts.
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
  1464
d5be0d4cf7fc do not care for sizeFixed views with fit layouts.
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
  1465
"/            child sizeFixed ifTrue:[
d5be0d4cf7fc do not care for sizeFixed views with fit layouts.
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
  1466
"/                d := wEach - (child widthIncludingBorder) // 2.
d5be0d4cf7fc do not care for sizeFixed views with fit layouts.
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
  1467
"/                child origin:(xpos truncated + d @ ypos)
d5be0d4cf7fc do not care for sizeFixed views with fit layouts.
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
  1468
"/            ] ifFalse:[
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1469
                child origin:(xpos truncated @ ypos)
2033
fc16e79f649b size computation with bordered components
Claus Gittinger <cg@exept.de>
parents: 2030
diff changeset
  1470
                      corner:(xpos + wEach - bwChild - 1) truncated @ y2.
1747
d5be0d4cf7fc do not care for sizeFixed views with fit layouts.
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
  1471
"/            ].
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1472
            advance := wEach.
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1473
        ] ifFalse:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1474
            child origin:(xpos @ ypos).
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1475
            advance := child widthIncludingBorder
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1476
        ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1477
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1478
        index == numChilds ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1479
            |x|
1306
bf4903012f7a added #rightFit & #rightSpaceFit layouts
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1480
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1481
            (hL == #leftFit or:[hL == #leftSpaceFit]) ifTrue:[
4023
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1482
                x := width - margin - 1 - (bwChild * 2) + bw.
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1483
                hL == #leftSpaceFit ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1484
                    x := x - space
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1485
                ].
2033
fc16e79f649b size computation with bordered components
Claus Gittinger <cg@exept.de>
parents: 2030
diff changeset
  1486
                child corner:(x @ y2)
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1487
            ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1488
        ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1489
        index == 1 ifTrue:[
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1490
            (hL == #rightFit or:[hL == #rightSpaceFit]) ifTrue:[
4023
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1491
                xpos := margin + 0 + (bwChild * 2) - bw.
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1492
                hL == #rightSpaceFit ifTrue:[
3118
996b7fc6dee7 1. Avoid endless recursion with #elementsChangesSize.
Stefan Vogel <sv@exept.de>
parents: 2699
diff changeset
  1493
                    xpos := xpos + space
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1494
                ].
3118
996b7fc6dee7 1. Avoid endless recursion with #elementsChangesSize.
Stefan Vogel <sv@exept.de>
parents: 2699
diff changeset
  1495
                advance := restWidth.
996b7fc6dee7 1. Avoid endless recursion with #elementsChangesSize.
Stefan Vogel <sv@exept.de>
parents: 2699
diff changeset
  1496
                child origin:(xpos @ (child origin y))
996b7fc6dee7 1. Avoid endless recursion with #elementsChangesSize.
Stefan Vogel <sv@exept.de>
parents: 2699
diff changeset
  1497
                      corner:((xpos+advance) @ (child corner y))
1431
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1498
            ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1499
        ].
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1500
fd1e74d673ae really care for margins when doing childPositions
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
  1501
        xpos := xpos + advance + space.
3118
996b7fc6dee7 1. Avoid endless recursion with #elementsChangesSize.
Stefan Vogel <sv@exept.de>
parents: 2699
diff changeset
  1502
        elementsChangeSize ifTrue:[
996b7fc6dee7 1. Avoid endless recursion with #elementsChangesSize.
Stefan Vogel <sv@exept.de>
parents: 2699
diff changeset
  1503
            "reinstall dependency that we removed above"
996b7fc6dee7 1. Avoid endless recursion with #elementsChangesSize.
Stefan Vogel <sv@exept.de>
parents: 2699
diff changeset
  1504
            child addDependent:self.
996b7fc6dee7 1. Avoid endless recursion with #elementsChangesSize.
Stefan Vogel <sv@exept.de>
parents: 2699
diff changeset
  1505
        ].
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
  1506
    ].
155
claus
parents: 133
diff changeset
  1507
3503
6af61918313a setChildPositions fix with rightFit
Claus Gittinger <cg@exept.de>
parents: 3500
diff changeset
  1508
    "Modified: / 04-09-1995 / 18:43:10 / claus"
5976
7ce7f1eed0cf #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5932
diff changeset
  1509
    "Modified: / 23-11-2016 / 00:36:03 / cg"
6100
43667474ed53 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5976
diff changeset
  1510
    "Modified (format): / 13-02-2017 / 20:22:45 / cg"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
  1511
! !
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1512
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1513
!HorizontalPanelView methodsFor:'queries'!
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1514
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1515
preferredExtent
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1516
    "return a good extent, one that makes subviews fit"
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1517
980
6079922a5519 eliminated references to subViews instance variable (will vanish)
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
  1518
    |sumOfWidths maxHeight maxWidth m2 subViews|
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1519
3765
db70ef63cc02 changed #preferredExtent - use explicitExtent instvar
Stefan Vogel <sv@exept.de>
parents: 3737
diff changeset
  1520
    "/ If I have an explicit preferredExtent..
db70ef63cc02 changed #preferredExtent - use explicitExtent instvar
Stefan Vogel <sv@exept.de>
parents: 3737
diff changeset
  1521
    explicitExtent notNil ifTrue:[
db70ef63cc02 changed #preferredExtent - use explicitExtent instvar
Stefan Vogel <sv@exept.de>
parents: 3737
diff changeset
  1522
        ^ explicitExtent
db70ef63cc02 changed #preferredExtent - use explicitExtent instvar
Stefan Vogel <sv@exept.de>
parents: 3737
diff changeset
  1523
    ].
797
2f9cd56f48ee *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 793
diff changeset
  1524
3765
db70ef63cc02 changed #preferredExtent - use explicitExtent instvar
Stefan Vogel <sv@exept.de>
parents: 3737
diff changeset
  1525
    "/ If I have a cached preferredExtent value..
713
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
  1526
    preferredExtent notNil ifTrue:[
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1527
        ^ preferredExtent
713
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
  1528
    ].
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
  1529
1418
3397ec6b8419 added ignoreInvisibleComponents stuff
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
  1530
    subViews := self subViewsToConsider.
6138
094c0d355f5f #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 6100
diff changeset
  1531
    subViews isEmptyOrNil ifTrue:[
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1532
        ^ super preferredExtent.
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1533
        "/ ^ horizontalSpace @ verticalSpace].
1038
c6d8eb89d260 useful preferredExtent if no subviews.
ca
parents: 980
diff changeset
  1534
    ].
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1535
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1536
    "compute net height needed"
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1537
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1538
    sumOfWidths := 0.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1539
    maxHeight := 0.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1540
    maxWidth := 0.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1541
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1542
    subViews do:[:child |
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1543
        |childsPreference|
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1544
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1545
        "/ better to use component's preferredExtent ...
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1546
6138
094c0d355f5f #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 6100
diff changeset
  1547
        childsPreference := child preferredExtent.
5932
9301baf143d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5922
diff changeset
  1548
        child realized ifTrue:[
6138
094c0d355f5f #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 6100
diff changeset
  1549
            childsPreference := childsPreference max:child extent.
5932
9301baf143d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5922
diff changeset
  1550
        ].
6138
094c0d355f5f #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 6100
diff changeset
  1551
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1552
        sumOfWidths := sumOfWidths + childsPreference x.
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1553
        maxHeight := maxHeight max:childsPreference y.
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1554
        maxWidth := maxWidth max:childsPreference x.
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1555
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1556
        "/ ... instead of actual extent
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1557
"/        sumOfWidths := sumOfWidths + child widthIncludingBorder.
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1558
"/        maxHeight := maxHeight max:(child heightIncludingBorder).
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1559
"/        maxWidth := maxWidth max:(child widthIncludingBorder).
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1560
    ].
4023
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1561
"/    self borderWidth ~~ 0 ifTrue:[
3686
de886bde6f31 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3674
diff changeset
  1562
"/        sumOfWidths := sumOfWidths + (horizontalSpace * 2).
de886bde6f31 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3674
diff changeset
  1563
"/        maxHeight := maxHeight + (verticalSpace * 2).
de886bde6f31 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3674
diff changeset
  1564
"/    ].
de886bde6f31 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3674
diff changeset
  1565
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1566
    (hLayout == #fit 
6138
094c0d355f5f #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 6100
diff changeset
  1567
     or:[hLayout == #fitSpace
094c0d355f5f #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 6100
diff changeset
  1568
     or:[hLayout endsWith:'Max']]) ifTrue:[
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1569
        sumOfWidths := maxWidth * subViews size.
4023
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1570
        self borderWidth ~~ 0 ifTrue:[
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1571
            sumOfWidths := sumOfWidths + (horizontalSpace * 2).
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1572
        ].
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1573
        hLayout == #fitSpace ifTrue:[
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1574
            "/ care for spacing ...
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1575
            sumOfWidths := sumOfWidths + (horizontalSpace * (subViews size + 1)).
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1576
        ].
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1577
    ] ifFalse:[
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1578
        sumOfWidths := sumOfWidths + ((subViews size - 1) * horizontalSpace).
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1579
        ((hLayout == #leftSpace) or:[hLayout == #rightSpace]) ifTrue:[
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1580
            sumOfWidths := sumOfWidths + horizontalSpace
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1581
        ] ifFalse:[
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1582
            ((hLayout == #center) or:[hLayout == #spread]) ifTrue:[
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1583
                sumOfWidths := sumOfWidths + (horizontalSpace * 2)
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1584
            ]
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1585
        ].
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1586
    ].
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1587
1165
16b8537595fd care for spacing in preferredExtent of centerSpace layout.
Claus Gittinger <cg@exept.de>
parents: 1156
diff changeset
  1588
    ((vLayout == #topSpace) 
6138
094c0d355f5f #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 6100
diff changeset
  1589
     or:[vLayout == #bottomSpace]) ifTrue:[
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1590
        maxHeight := maxHeight + verticalSpace
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1591
    ] ifFalse:[
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1592
        ((vLayout == #fitSpace) 
6138
094c0d355f5f #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 6100
diff changeset
  1593
         or:[vLayout == #center
094c0d355f5f #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 6100
diff changeset
  1594
         or:[vLayout == #centerSpace]]) ifTrue:[
2387
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1595
            maxHeight := maxHeight + (verticalSpace * 2)
c589e85a4f43 prefExtent computation was wrong for fitSpace
Claus Gittinger <cg@exept.de>
parents: 2365
diff changeset
  1596
        ]        
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1597
    ].
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1598
379
a0ada7891fe9 looks bette if panels level is ~~ 0 AND subview has 0 level
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  1599
    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
  1600
    ^ (sumOfWidths + m2) @ (maxHeight + m2)
340
f820bcd29a51 defaultExtent with rightSpace forgot about spacing
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
  1601
6138
094c0d355f5f #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 6100
diff changeset
  1602
    "Modified: / 17-01-1998 / 00:18:38 / cg"
094c0d355f5f #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 6100
diff changeset
  1603
    "Modified (format): / 30-03-2017 / 18:38:09 / stefan"
202
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1604
! !
01f3cbb8e20e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  1605
980
6079922a5519 eliminated references to subViews instance variable (will vanish)
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
  1606
!HorizontalPanelView class methodsFor:'documentation'!
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
  1607
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
  1608
version
5424
Claus Gittinger <cg@exept.de>
parents: 5227
diff changeset
  1609
    ^ '$Header$'
4023
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1610
!
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1611
06b045d4e152 no more direct accesses to borderWidth and borderColor
Claus Gittinger <cg@exept.de>
parents: 3778
diff changeset
  1612
version_CVS
5424
Claus Gittinger <cg@exept.de>
parents: 5227
diff changeset
  1613
    ^ '$Header$'
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
  1614
! !
4565
4c4b47122c2c Changed usage of deprecated #copyWithoutLast: to #copyButLast:
Stefan Vogel <sv@exept.de>
parents: 4023
diff changeset
  1615