LayoutWrapper.st
author Claus Gittinger <cg@exept.de>
Sun, 29 Jan 2017 02:26:51 +0100
changeset 3853 5a78ffcf69de
parent 2811 2d26a7061949
child 3855 1db7742d33ad
permissions -rw-r--r--
#FEATURE by cg class: TypeConverter changed: #timeOfClass:withFormat:orDefault:language:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1789
f52f0a0d8448 category
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
     1
"{ Package: 'stx:libview2' }"
f52f0a0d8448 category
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
     2
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
TranslatingWrapper subclass:#LayoutWrapper
2811
2d26a7061949 Remove redefined instvar
Stefan Vogel <sv@exept.de>
parents: 1789
diff changeset
     4
	instanceVariableNames:'bounds'
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
1789
f52f0a0d8448 category
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
     7
	category:'Compatibility-ST80-Graphics-Display Objects'
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
365
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    10
!LayoutWrapper class methodsFor:'documentation'!
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    11
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    12
documentation
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    13
"
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    14
    Notice: 
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    15
        this class was implemented using protocol information
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    16
        from alpha testers, from reading PD programs and 
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    17
        from the Hopkins/Horan book.
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    18
        - it may not be complete or compatible to the corresponding ST-80 class. 
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    19
        If you encounter any incompatibilities, please forward a note 
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    20
        describing the incompatibility verbal (i.e. no code) to the ST/X team.
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    21
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    22
    [author:]
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    23
        Claus Gittinger
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    24
"
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    25
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    26
!
292
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    27
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    28
examples
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    29
"
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    30
                                                                        [exBegin]
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    31
    |t view wrapper|
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    32
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    33
    t := StandardSystemView extent:200@200.
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    34
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    35
    view := View new.
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    36
    view viewBackground:Color red.
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    37
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    38
    wrapper := LayoutWrapper new.
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    39
    wrapper layout:(LayoutFrame new
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    40
                        leftFraction:0.2;
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    41
                        rightFraction:0.8;
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    42
                        topFraction:0.2;
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    43
                        bottomFraction:0.8).
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    44
    wrapper component:view.
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    45
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    46
    t addComponent:wrapper.
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    47
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    48
    t open
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    49
                                                                        [exEnd]
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    50
                                                                        [exBegin]
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    51
     |top frame1 view1 frame2 view2|
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    52
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    53
     top := StandardSystemView new.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    54
     frame1 := LayoutWrapper new.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    55
     frame1 layout:(0.1@0.1 corner:0.9@0.9) asLayout.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    56
     top addSubView:frame1.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    57
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    58
     view1 := View new.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    59
     view1 viewBackground:Color red.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    60
     frame1 component:view1.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    61
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    62
     frame2 := LayoutWrapper new.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    63
     frame2 layout:(0.1@0.1 corner:0.9@0.9) asLayout.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    64
     view1 addSubView:frame2.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    65
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    66
     view2 := View new.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    67
     view2 viewBackground:Color green.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    68
     frame2 component:view2.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    69
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    70
     top openWithExtent:200@200
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    71
                                                                        [exEnd]
292
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    72
"
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
    73
! !
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
365
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
    75
!LayoutWrapper class methodsFor:'instance creation'!
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
on:aComponent in:aLayout
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    "create and return a layoutWrapper, which controls
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
     aComponent bounds using aLayout.
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
     The layout argument may be:
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
        nil       - no constraint
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
        Point     - origin shift
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
        Rectangle - origin shift & extent
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
        Layout    - full control"
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    ^ (self on:aComponent) layout:aLayout
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    "Created: 26.5.1996 / 16:18:44 / cg"
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    "Modified: 26.5.1996 / 16:34:04 / cg"
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
! !
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
!LayoutWrapper methodsFor:'accessing'!
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    94
bounds:newBounds
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    95
"/ Transcript showCR:newBounds.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    96
    bounds := newBounds.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    97
    self layoutChanged
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    98
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
    99
    "Created: 19.7.1996 / 20:10:09 / cg"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   100
    "Modified: 19.7.1996 / 21:20:42 / cg"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   101
!
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   102
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
layout:something
292
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   104
    "set the layout"
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    layout := something.
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   107
    self layoutChanged
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
    "Created: 26.5.1996 / 16:18:11 / cg"
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   110
    "Modified: 19.7.1996 / 20:15:20 / cg"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   111
! !
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   112
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   113
!LayoutWrapper methodsFor:'private'!
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   114
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   115
layoutChanged
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   116
    |subBounds|
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   117
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   118
    component notNil ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   119
        layout notNil ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   120
            subBounds := (layout 
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   121
                            rectangleRelativeTo:bounds
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   122
                            preferred:bounds) rounded.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   123
        ] ifFalse:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   124
            subBounds := bounds
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   125
        ].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   126
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   127
        origin := subBounds origin.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   128
"/ Transcript show:layout displayString; show:'subbounds: '; showCR:subBounds.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   129
        component bounds:subBounds.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   130
    ]
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   131
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   132
    "Created: 19.7.1996 / 20:15:05 / cg"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   133
    "Modified: 19.7.1996 / 21:20:46 / cg"
292
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   134
! !
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   135
321
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   136
!LayoutWrapper methodsFor:'queries'!
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   137
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   138
isLayoutWrapper
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   139
     ^ true
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   140
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   141
    "Created: 19.7.1996 / 17:51:16 / cg"
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   142
!
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   143
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   144
preferredBounds
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   145
    |b w h lw lh|
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   146
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   147
    bounds := component preferredBounds.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   148
    layout isNil ifTrue:[^ bounds].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   149
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   150
    w := bounds width.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   151
    h := bounds height.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   152
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   153
    "/ now, inverse apply the layouts values
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   154
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   155
    lw := layout rightFraction - layout leftFraction.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   156
    lw ~~ 0 ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   157
        lw := w * (1 / lw)
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   158
    ].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   159
    lh := layout bottomFraction - layout topFraction.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   160
    lh ~~ 0 ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   161
        lh := h * (1 / lh)
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   162
    ].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   163
    lw := lw + layout rightOffset - layout leftOffset.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   164
    lh := lh + layout bottomOffset - layout topOffset.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   165
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   166
    ^ 0@0 corner:(lw rounded @ lh rounded)
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   167
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   168
    "Created: 19.7.1996 / 17:51:16 / cg"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   169
    "Modified: 19.7.1996 / 20:08:51 / cg"
321
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   170
! !
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   171
292
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   172
!LayoutWrapper methodsFor:'view protocol mimicri'!
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   173
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   174
computeOrigin
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   175
    "return my origin"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   176
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   177
    ^ 0@0
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   178
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   179
    "Created: 19.7.1996 / 20:05:37 / cg"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   180
!
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   181
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   182
origin:org corner:corn
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   183
    |newLayout l r t b lF rF tF bF lO rO tO bO|
292
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   184
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   185
    newLayout := LayoutFrame new.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   186
    l := org x.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   187
    l isInteger ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   188
        lO := l.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   189
        lF := 0.0
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   190
    ] ifFalse:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   191
        lO := 0.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   192
        lF := l
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   193
    ].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   194
    r := corn x.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   195
    r isInteger ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   196
        rO := r.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   197
        rF := 0.0
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   198
    ] ifFalse:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   199
        rO := 0.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   200
        rF := r
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   201
    ].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   202
    t := org y.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   203
    t isInteger ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   204
        tO := t.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   205
        tF := 0.0
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   206
    ] ifFalse:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   207
        tO := 0.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   208
        tF := t
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   209
    ].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   210
    b := corn y.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   211
    b isInteger ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   212
        bO := b.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   213
        bF := 0.0
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   214
    ] ifFalse:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   215
        bO := 0.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   216
        bF := b
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   217
    ].
292
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   218
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   219
    newLayout
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   220
        leftFraction:lF offset:lO;
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   221
        rightFraction:rF offset:rO;
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   222
        topFraction:tF offset:tO;
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   223
        bottomFraction:bF offset:bO.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   224
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   225
    self layout:newLayout
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   226
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   227
    "Modified: 19.7.1996 / 21:22:11 / cg"
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
! !
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
365
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
   230
!LayoutWrapper class methodsFor:'documentation'!
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
version
2811
2d26a7061949 Remove redefined instvar
Stefan Vogel <sv@exept.de>
parents: 1789
diff changeset
   233
    ^ '$Header: /cvs/stx/stx/libview2/LayoutWrapper.st,v 1.7 2009-11-24 18:21:01 stefan Exp $'
2d26a7061949 Remove redefined instvar
Stefan Vogel <sv@exept.de>
parents: 1789
diff changeset
   234
!
2d26a7061949 Remove redefined instvar
Stefan Vogel <sv@exept.de>
parents: 1789
diff changeset
   235
2d26a7061949 Remove redefined instvar
Stefan Vogel <sv@exept.de>
parents: 1789
diff changeset
   236
version_CVS
2d26a7061949 Remove redefined instvar
Stefan Vogel <sv@exept.de>
parents: 1789
diff changeset
   237
    ^ '$Header: /cvs/stx/stx/libview2/LayoutWrapper.st,v 1.7 2009-11-24 18:21:01 stefan Exp $'
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
! !