LayoutWrapper.st
author Claus Gittinger <cg@exept.de>
Thu, 16 Dec 2004 12:45:15 +0100
changeset 2029 136dd7e8228a
parent 1789 f52f0a0d8448
child 2811 2d26a7061949
permissions -rw-r--r--
pass change information from update
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
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'layout'
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
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    "return layout"
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
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    "Created: 26.5.1996 / 16:18:11 / cg"
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
!
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
layout:something
292
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   112
    "set the layout"
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
    layout := something.
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   115
    self layoutChanged
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    "Created: 26.5.1996 / 16:18:11 / cg"
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   118
    "Modified: 19.7.1996 / 20:15:20 / cg"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   119
! !
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   120
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   121
!LayoutWrapper methodsFor:'private'!
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   122
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   123
layoutChanged
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   124
    |subBounds|
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
    component notNil ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   127
        layout notNil ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   128
            subBounds := (layout 
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   129
                            rectangleRelativeTo:bounds
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   130
                            preferred:bounds) rounded.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   131
        ] ifFalse:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   132
            subBounds := bounds
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   133
        ].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   134
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   135
        origin := subBounds origin.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   136
"/ Transcript show:layout displayString; show:'subbounds: '; showCR:subBounds.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   137
        component bounds:subBounds.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   138
    ]
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   139
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   140
    "Created: 19.7.1996 / 20:15:05 / cg"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   141
    "Modified: 19.7.1996 / 21:20:46 / cg"
292
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   142
! !
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   143
321
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   144
!LayoutWrapper methodsFor:'queries'!
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   145
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   146
isLayoutWrapper
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   147
     ^ true
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   148
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   149
    "Created: 19.7.1996 / 17:51:16 / cg"
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   150
!
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   151
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   152
preferredBounds
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   153
    |b w h lw lh|
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
    bounds := component preferredBounds.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   156
    layout isNil ifTrue:[^ bounds].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   157
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   158
    w := bounds width.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   159
    h := bounds height.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   160
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   161
    "/ now, inverse apply the layouts values
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 := layout rightFraction - layout leftFraction.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   164
    lw ~~ 0 ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   165
        lw := w * (1 / lw)
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   166
    ].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   167
    lh := layout bottomFraction - layout topFraction.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   168
    lh ~~ 0 ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   169
        lh := h * (1 / lh)
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   170
    ].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   171
    lw := lw + layout rightOffset - layout leftOffset.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   172
    lh := lh + layout bottomOffset - layout topOffset.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   173
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   174
    ^ 0@0 corner:(lw rounded @ lh rounded)
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   175
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   176
    "Created: 19.7.1996 / 17:51:16 / cg"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   177
    "Modified: 19.7.1996 / 20:08:51 / cg"
321
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   178
! !
6421da8810e2 more view mimicri;
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   179
292
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   180
!LayoutWrapper methodsFor:'view protocol mimicri'!
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   181
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   182
computeOrigin
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   183
    "return my origin"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   184
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   185
    ^ 0@0
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   186
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   187
    "Created: 19.7.1996 / 20:05:37 / cg"
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   188
!
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   189
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   190
origin:org corner:corn
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   191
    |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
   192
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   193
    newLayout := LayoutFrame new.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   194
    l := org x.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   195
    l isInteger ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   196
        lO := l.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   197
        lF := 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
        lO := 0.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   200
        lF := l
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
    r := corn x.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   203
    r isInteger ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   204
        rO := r.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   205
        rF := 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
        rO := 0.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   208
        rF := r
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
    t := org y.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   211
    t isInteger ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   212
        tO := t.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   213
        tF := 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
        tO := 0.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   216
        tF := t
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   217
    ].
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   218
    b := corn y.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   219
    b isInteger ifTrue:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   220
        bO := b.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   221
        bF := 0.0
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   222
    ] ifFalse:[
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   223
        bO := 0.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   224
        bF := b
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   225
    ].
292
60fbf13dfc8c prepare for view-component integration
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   226
323
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   227
    newLayout
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   228
        leftFraction:lF offset:lO;
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   229
        rightFraction:rF offset:rO;
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   230
        topFraction:tF offset:tO;
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   231
        bottomFraction:bF offset:bO.
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   232
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   233
    self layout:newLayout
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   234
ee2f4da361a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 321
diff changeset
   235
    "Modified: 19.7.1996 / 21:22:11 / cg"
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
! !
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
365
47e0d48fd769 commentary
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
   238
!LayoutWrapper class methodsFor:'documentation'!
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
version
1789
f52f0a0d8448 category
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   241
    ^ '$Header: /cvs/stx/stx/libview2/LayoutWrapper.st,v 1.6 2003-08-18 12:13:19 cg Exp $'
278
f2382bb48850 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
! !