UIPropertyView.st
author ca
Tue, 25 Feb 1997 14:15:56 +0100
changeset 59 0a2b2ff030a0
parent 56 7276365d9311
child 60 7542ab7fbbfe
permissions -rw-r--r--
so far ...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
     1
ApplicationModel subclass:#UIPropertyView
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
     2
	instanceVariableNames:'builderView modified propertyFrame propertyList propertySpecs
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
     3
		currentView currentSpec propertyAspects staticAspects
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
     4
		specBeingEdited userSelectedProperty currentSpecChannel'
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
     5
	classVariableNames:''
7276365d9311 intitial checkin
ca
parents:
diff changeset
     6
	poolDictionaries:''
7276365d9311 intitial checkin
ca
parents:
diff changeset
     7
	category:'Interface-UIPainter'
7276365d9311 intitial checkin
ca
parents:
diff changeset
     8
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
     9
7276365d9311 intitial checkin
ca
parents:
diff changeset
    10
7276365d9311 intitial checkin
ca
parents:
diff changeset
    11
!UIPropertyView class methodsFor:'instance creation'!
7276365d9311 intitial checkin
ca
parents:
diff changeset
    12
7276365d9311 intitial checkin
ca
parents:
diff changeset
    13
in:aTopView receiver:aReceiver
7276365d9311 intitial checkin
ca
parents:
diff changeset
    14
    |application|
7276365d9311 intitial checkin
ca
parents:
diff changeset
    15
7276365d9311 intitial checkin
ca
parents:
diff changeset
    16
    application := self new.
7276365d9311 intitial checkin
ca
parents:
diff changeset
    17
    application in:aTopView receiver:aReceiver.
7276365d9311 intitial checkin
ca
parents:
diff changeset
    18
  ^ application
7276365d9311 intitial checkin
ca
parents:
diff changeset
    19
! !
7276365d9311 intitial checkin
ca
parents:
diff changeset
    20
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    21
!UIPropertyView class methodsFor:'constants'!
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    22
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    23
titleOfLayoutMenu
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    24
    ^ 'Dimension'
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    25
! !
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    26
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
    27
!UIPropertyView class methodsFor:'specifications'!
7276365d9311 intitial checkin
ca
parents:
diff changeset
    28
7276365d9311 intitial checkin
ca
parents:
diff changeset
    29
specificationAlignmentOrigin
7276365d9311 intitial checkin
ca
parents:
diff changeset
    30
    "
7276365d9311 intitial checkin
ca
parents:
diff changeset
    31
    UIPainter new openOnClass:self andSelector:#specificationAlignmentOrigin
7276365d9311 intitial checkin
ca
parents:
diff changeset
    32
    "
7276365d9311 intitial checkin
ca
parents:
diff changeset
    33
    <resource: #canvas>
7276365d9311 intitial checkin
ca
parents:
diff changeset
    34
7276365d9311 intitial checkin
ca
parents:
diff changeset
    35
    ^
7276365d9311 intitial checkin
ca
parents:
diff changeset
    36
7276365d9311 intitial checkin
ca
parents:
diff changeset
    37
       #(#FullSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
    38
          #'window:' 
7276365d9311 intitial checkin
ca
parents:
diff changeset
    39
           #(#WindowSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
    40
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
    41
              #'label:' 'unnamed'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    42
              #'bounds:' #(#Rectangle 0 0 248 304)
7276365d9311 intitial checkin
ca
parents:
diff changeset
    43
          )
7276365d9311 intitial checkin
ca
parents:
diff changeset
    44
          #'component:' 
7276365d9311 intitial checkin
ca
parents:
diff changeset
    45
           #(#SpecCollection
7276365d9311 intitial checkin
ca
parents:
diff changeset
    46
              #'collection:' 
7276365d9311 intitial checkin
ca
parents:
diff changeset
    47
               #(
7276365d9311 intitial checkin
ca
parents:
diff changeset
    48
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
    49
                    #'name:' 'label1'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    50
                    #'layout:' #(#LayoutFrame 5 0 42 0 48 0 60 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
    51
                    #'label:' 'left'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    52
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
    53
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
    54
                    #'name:' 'label2'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    55
                    #'layout:' #(#LayoutFrame 5 0 69 0 48 0 87 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
    56
                    #'label:' 'top'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    57
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
    58
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
    59
                    #'name:' 'label3'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    60
                    #'layout:' #(#LayoutFrame 57 0 10 0 103 0 27 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
    61
                    #'label:' 'relative'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    62
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
    63
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
    64
                    #'name:' 'label4'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    65
                    #'layout:' #(#LayoutFrame 154 0 11 0 190 0 28 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
    66
                    #'label:' 'offset'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    67
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
    68
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
    69
                    #'name:' 'label5'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    70
                    #'layout:' #(#LayoutFrame 5 0 96 0 48 0 114 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
    71
                    #'label:' 'align H'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    72
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
    73
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
    74
                    #'name:' 'label6'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    75
                    #'layout:' #(#LayoutFrame 5 0 122 0 48 0 140 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
    76
                    #'label:' 'align V'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    77
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
    78
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
    79
                    #'name:' 'editField1'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    80
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
    81
                    #'layout:' #(#LayoutFrame 57 0 42 0 114 0 60 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
    82
                    #'model:' #leftFraction
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    83
                    #'immediateAccept:' false
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    84
                    #'acceptOnReturn:' true
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    85
                    #'acceptOnTab:' true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
    86
                    #tabable: true
7276365d9311 intitial checkin
ca
parents:
diff changeset
    87
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
    88
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
    89
                    #'name:' 'editField2'
7276365d9311 intitial checkin
ca
parents:
diff changeset
    90
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
    91
                    #'layout:' #(#LayoutFrame 57 0 69 0 114 0 87 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
    92
                    #'model:' #topFraction
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    93
                    #'immediateAccept:' false
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    94
                    #'acceptOnReturn:' true
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
    95
                    #'acceptOnTab:' true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
    96
                    #tabable: true
7276365d9311 intitial checkin
ca
parents:
diff changeset
    97
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
    98
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
    99
                    #'name:' 'editField5'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   100
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   101
                    #'layout:' #(#LayoutFrame 57 0 96 0 114 0 114 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   102
                    #'model:' #leftAlignmentFraction
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   103
                    #'immediateAccept:' false
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   104
                    #'acceptOnReturn:' true
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   105
                    #'acceptOnTab:' true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   106
                    #tabable: true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   107
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   108
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   109
                    #'name:' 'editField6'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   110
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   111
                    #'layout:' #(#LayoutFrame 56 0 122 0 113 0 140 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   112
                    #'model:' #topAlignmentFraction
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   113
                    #'immediateAccept:' false
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   114
                    #'acceptOnReturn:' true
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   115
                    #'acceptOnTab:' true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   116
                    #tabable: true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   117
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   118
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   119
                    #'name:' 'editField3'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   120
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   121
                    #'layout:' #(#LayoutFrame 154 0 42 0 212 0 60 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   122
                    #'model:' #leftOffset
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   123
                    #'immediateAccept:' false
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   124
                    #'acceptOnReturn:' true
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   125
                    #'acceptOnTab:' true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   126
                    #tabable: true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   127
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   128
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   129
                    #'name:' 'editField4'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   130
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   131
                    #'layout:' #(#LayoutFrame 154 0 69 0 212 0 87 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   132
                    #'model:' #topOffset
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   133
                    #'immediateAccept:' false
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   134
                    #'acceptOnReturn:' true
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   135
                    #'acceptOnTab:' true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   136
                    #tabable: true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   137
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   138
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   139
                    #'name:' 'button1'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   140
                    #'layout:' #(#LayoutFrame 119 0 42 0 138 0 60 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   141
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   142
                    #'model:' #makeRelativeLeft
7276365d9311 intitial checkin
ca
parents:
diff changeset
   143
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   144
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   145
                    #'name:' 'button2'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   146
                    #'layout:' #(#LayoutFrame 119 0 69 0 138 0 87 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   147
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   148
                    #'model:' #makeRelativeTop
7276365d9311 intitial checkin
ca
parents:
diff changeset
   149
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   150
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   151
                    #'name:' 'button3'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   152
                    #'layout:' #(#LayoutFrame 216 0 42 0 235 0 60 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   153
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   154
                    #'model:' #makeOffsetLeft
7276365d9311 intitial checkin
ca
parents:
diff changeset
   155
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   156
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   157
                    #'name:' 'button4'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   158
                    #'layout:' #(#LayoutFrame 216 0 69 0 235 0 87 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   159
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   160
                    #'model:' #makeOffsetTop
7276365d9311 intitial checkin
ca
parents:
diff changeset
   161
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   162
7276365d9311 intitial checkin
ca
parents:
diff changeset
   163
7276365d9311 intitial checkin
ca
parents:
diff changeset
   164
               #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   165
                  #'name:' 'button'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   166
                  #'layout:' #(#LayoutFrame 16 0 210 0 76 0 240 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   167
                  #'label:' 'frame'
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   168
                  #'model:' #showLayoutFrame
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   169
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   170
               #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   171
                  #'name:' 'button'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   172
                  #'layout:' #(#LayoutFrame 96 0 210 0 156 0 240 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   173
                  #'label:' 'origin'
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   174
                  #'model:' #showLayoutOrigin
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   175
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   176
               #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   177
                  #'name:' 'button'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   178
                  #'layout:' #(#LayoutFrame 176 0 210 0 236 0 240 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   179
                  #'label:' 'align'
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   180
                  #'model:' #showAlignmentOrigin
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   181
                  #'initiallyDisabled:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   182
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   183
7276365d9311 intitial checkin
ca
parents:
diff changeset
   184
              )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   185
          )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   186
      )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   187
7276365d9311 intitial checkin
ca
parents:
diff changeset
   188
7276365d9311 intitial checkin
ca
parents:
diff changeset
   189
7276365d9311 intitial checkin
ca
parents:
diff changeset
   190
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   191
7276365d9311 intitial checkin
ca
parents:
diff changeset
   192
specificationLayoutFrame
7276365d9311 intitial checkin
ca
parents:
diff changeset
   193
    "
7276365d9311 intitial checkin
ca
parents:
diff changeset
   194
    UIPainter new openOnClass:self andSelector:#specificationLayoutFrame
7276365d9311 intitial checkin
ca
parents:
diff changeset
   195
    "
7276365d9311 intitial checkin
ca
parents:
diff changeset
   196
    <resource: #canvas>
7276365d9311 intitial checkin
ca
parents:
diff changeset
   197
7276365d9311 intitial checkin
ca
parents:
diff changeset
   198
    ^
7276365d9311 intitial checkin
ca
parents:
diff changeset
   199
7276365d9311 intitial checkin
ca
parents:
diff changeset
   200
       #(#FullSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   201
          #'window:' 
7276365d9311 intitial checkin
ca
parents:
diff changeset
   202
           #(#WindowSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   203
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   204
              #'label:' 'unnamed'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   205
              #'bounds:' #(#Rectangle 0 0 300 300)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   206
          )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   207
          #'component:' 
7276365d9311 intitial checkin
ca
parents:
diff changeset
   208
           #(#SpecCollection
7276365d9311 intitial checkin
ca
parents:
diff changeset
   209
              #'collection:' 
7276365d9311 intitial checkin
ca
parents:
diff changeset
   210
               #(
7276365d9311 intitial checkin
ca
parents:
diff changeset
   211
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   212
                    #'name:' 'label left'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   213
                    #'layout:' #(#LayoutFrame 12 0 39 0 53 0 57 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   214
                    #'label:' 'left'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   215
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   216
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   217
                    #'name:' 'label top'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   218
                    #'layout:' #(#LayoutFrame 12 0 67 0 53 0 85 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   219
                    #'label:' 'top'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   220
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   221
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   222
                    #'name:' 'label right'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   223
                    #'layout:' #(#LayoutFrame 12 0 95 0 53 0 113 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   224
                    #'label:' 'right'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   225
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   226
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   227
                    #'name:' 'label bottom'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   228
                    #'layout:' #(#LayoutFrame 12 0 123 0 53 0 141 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   229
                    #'label:' 'bottom'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   230
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   231
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   232
                    #'name:' 'label relative'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   233
                    #'layout:' #(#LayoutFrame 65 0 6 0 110 0 24 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   234
                    #'label:' 'relative'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   235
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   236
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   237
                    #'name:' 'label offset'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   238
                    #'layout:' #(#LayoutFrame 159 0 6 0 190 0 24 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   239
                    #'label:' 'offset'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   240
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   241
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   242
                    #'name:' 'label all relative'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   243
                    #'layout:' #(#LayoutFrame 12 0 157 0 53 0 175 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   244
                    #'label:' 'all'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   245
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   246
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   247
                    #'name:' 'label all absolute'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   248
                    #'layout:' #(#LayoutFrame 159 0 157 0 210 0 175 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   249
                    #'label:' 'all'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   250
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   251
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   252
                    #'name:' 'relative E1'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   253
                    #'layout:' #(#LayoutFrame 65 0 39 0 113 0 57 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   254
                    #'model:' #leftFraction
7276365d9311 intitial checkin
ca
parents:
diff changeset
   255
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   256
                    #'immediateAccept:' false
7276365d9311 intitial checkin
ca
parents:
diff changeset
   257
                    #'acceptOnReturn:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   258
                    #'acceptOnTab:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   259
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   260
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   261
                    #'name:' 'relative E2'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   262
                    #'layout:' #(#LayoutFrame 65 0 67 0 113 0 85 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   263
                    #'model:' #topFraction
7276365d9311 intitial checkin
ca
parents:
diff changeset
   264
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   265
                    #'immediateAccept:' false
7276365d9311 intitial checkin
ca
parents:
diff changeset
   266
                    #'acceptOnReturn:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   267
                    #'acceptOnTab:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   268
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   269
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   270
                    #'name:' 'relative E3'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   271
                    #'layout:' #(#LayoutFrame 65 0 95 0 113 0 113 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   272
                    #'model:' #rightFraction
7276365d9311 intitial checkin
ca
parents:
diff changeset
   273
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   274
                    #'immediateAccept:' false
7276365d9311 intitial checkin
ca
parents:
diff changeset
   275
                    #'acceptOnReturn:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   276
                    #'acceptOnTab:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   277
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   278
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   279
                    #'name:' 'relative E4'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   280
                    #'layout:' #(#LayoutFrame 65 0 123 0 113 0 141 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   281
                    #'model:' #bottomFraction
7276365d9311 intitial checkin
ca
parents:
diff changeset
   282
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   283
                    #'immediateAccept:' false
7276365d9311 intitial checkin
ca
parents:
diff changeset
   284
                    #'acceptOnReturn:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   285
                    #'acceptOnTab:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   286
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   287
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   288
                    #'name:' 'offset E1'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   289
                    #'layout:' #(#LayoutFrame 159 0 39 0 210 0 57 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   290
                    #'model:' #leftOffset
7276365d9311 intitial checkin
ca
parents:
diff changeset
   291
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   292
                    #'immediateAccept:' false
7276365d9311 intitial checkin
ca
parents:
diff changeset
   293
                    #'acceptOnReturn:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   294
                    #'acceptOnTab:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   295
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   296
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   297
                    #'name:' 'offset E2'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   298
                    #'layout:' #(#LayoutFrame 159 0 67 0 210 0 85 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   299
                    #'model:' #topOffset
7276365d9311 intitial checkin
ca
parents:
diff changeset
   300
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   301
                    #'immediateAccept:' false
7276365d9311 intitial checkin
ca
parents:
diff changeset
   302
                    #'acceptOnReturn:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   303
                    #'acceptOnTab:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   304
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   305
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   306
                    #'name:' 'offset E3'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   307
                    #'layout:' #(#LayoutFrame 159 0 95 0 210 0 113 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   308
                    #'model:' #rightOffset
7276365d9311 intitial checkin
ca
parents:
diff changeset
   309
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   310
                    #'immediateAccept:' false
7276365d9311 intitial checkin
ca
parents:
diff changeset
   311
                    #'acceptOnReturn:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   312
                    #'acceptOnTab:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   313
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   314
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   315
                    #'name:' 'offset E4'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   316
                    #'layout:' #(#LayoutFrame 159 0 123 0 210 0 141 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   317
                    #'model:' #bottomOffset
7276365d9311 intitial checkin
ca
parents:
diff changeset
   318
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   319
                    #'immediateAccept:' false
7276365d9311 intitial checkin
ca
parents:
diff changeset
   320
                    #'acceptOnReturn:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   321
                    #'acceptOnTab:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   322
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   323
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   324
                    #'name:' 'relative B1'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   325
                    #'layout:' #(#LayoutFrame 117 0 39 0 136 0 57 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   326
                    #'label:' ' '
7276365d9311 intitial checkin
ca
parents:
diff changeset
   327
                    #'model:' #makeRelativeLeft
7276365d9311 intitial checkin
ca
parents:
diff changeset
   328
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   329
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   330
                    #'name:' 'relative B2'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   331
                    #'layout:' #(#LayoutFrame 117 0 67 0 136 0 85 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   332
                    #'label:' ' '
7276365d9311 intitial checkin
ca
parents:
diff changeset
   333
                    #'model:' #makeRelativeTop
7276365d9311 intitial checkin
ca
parents:
diff changeset
   334
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   335
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   336
                    #'name:' 'relative B3'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   337
                    #'layout:' #(#LayoutFrame 117 0 95 0 136 0 113 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   338
                    #'label:' ' '
7276365d9311 intitial checkin
ca
parents:
diff changeset
   339
                    #'model:' #makeRelativeRight
7276365d9311 intitial checkin
ca
parents:
diff changeset
   340
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   341
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   342
                    #'name:' 'relative B4'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   343
                    #'layout:' #(#LayoutFrame 117 0 123 0 136 0 141 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   344
                    #'label:' ' '
7276365d9311 intitial checkin
ca
parents:
diff changeset
   345
                    #'model:' #makeRelativeBottom
7276365d9311 intitial checkin
ca
parents:
diff changeset
   346
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   347
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   348
                    #'name:' 'relative BAll'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   349
                    #'layout:' #(#LayoutFrame 117 0 157 0 136 0 175 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   350
                    #'label:' ' '
7276365d9311 intitial checkin
ca
parents:
diff changeset
   351
                    #'model:' #makeRelativeAll
7276365d9311 intitial checkin
ca
parents:
diff changeset
   352
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   353
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   354
                    #'name:' 'offset B1'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   355
                    #'layout:' #(#LayoutFrame 214 0 39 0 233 0 57 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   356
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   357
                    #'model:' #makeOffsetLeft
7276365d9311 intitial checkin
ca
parents:
diff changeset
   358
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   359
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   360
                    #'name:' 'offset B2'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   361
                    #'layout:' #(#LayoutFrame 214 0 67 0 233 0 85 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   362
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   363
                    #'model:' #makeOffsetTop
7276365d9311 intitial checkin
ca
parents:
diff changeset
   364
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   365
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   366
                    #'name:' 'offset B3'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   367
                    #'layout:' #(#LayoutFrame 214 0 95 0 233 0 113 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   368
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   369
                    #'model:' #makeOffsetRight
7276365d9311 intitial checkin
ca
parents:
diff changeset
   370
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   371
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   372
                    #'name:' 'offset B4'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   373
                    #'layout:' #(#LayoutFrame 214 0 123 0 233 0 141 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   374
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   375
                    #'model:' #makeOffsetBottom
7276365d9311 intitial checkin
ca
parents:
diff changeset
   376
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   377
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   378
                    #'name:' 'offset BAll'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   379
                    #'layout:' #(#LayoutFrame 214 0 157 0 233 0 175 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   380
                    #'label:' ' '
7276365d9311 intitial checkin
ca
parents:
diff changeset
   381
                    #'model:' #makeOffsetAll
7276365d9311 intitial checkin
ca
parents:
diff changeset
   382
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   383
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   384
                    #'name:' 'button'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   385
                    #'layout:' #(#LayoutFrame 16 0 210 0 76 0 240 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   386
                    #'label:' 'frame'
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   387
                    #'model:' #showLayoutFrame
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   388
                    #'initiallyDisabled:' true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   389
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   390
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   391
                    #'name:' 'button10'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   392
                    #'layout:' #(#LayoutFrame 96 0 210 0 156 0 240 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   393
                    #'label:' 'origin'
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   394
                    #'model:' #showLayoutOrigin
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   395
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   396
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   397
                    #'name:' 'button11'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   398
                    #'layout:' #(#LayoutFrame 176 0 210 0 236 0 240 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   399
                    #'label:' 'align'
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   400
                    #'model:' #showAlignmentOrigin
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   401
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   402
7276365d9311 intitial checkin
ca
parents:
diff changeset
   403
              )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   404
          )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   405
      )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   406
7276365d9311 intitial checkin
ca
parents:
diff changeset
   407
7276365d9311 intitial checkin
ca
parents:
diff changeset
   408
7276365d9311 intitial checkin
ca
parents:
diff changeset
   409
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   410
7276365d9311 intitial checkin
ca
parents:
diff changeset
   411
specificationLayoutOrigin
7276365d9311 intitial checkin
ca
parents:
diff changeset
   412
    "
7276365d9311 intitial checkin
ca
parents:
diff changeset
   413
    UIPainter new openOnClass:self andSelector:#specificationLayoutOrigin
7276365d9311 intitial checkin
ca
parents:
diff changeset
   414
    "
7276365d9311 intitial checkin
ca
parents:
diff changeset
   415
    <resource: #canvas>
7276365d9311 intitial checkin
ca
parents:
diff changeset
   416
7276365d9311 intitial checkin
ca
parents:
diff changeset
   417
    ^
7276365d9311 intitial checkin
ca
parents:
diff changeset
   418
7276365d9311 intitial checkin
ca
parents:
diff changeset
   419
       #(#FullSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   420
          #'window:' 
7276365d9311 intitial checkin
ca
parents:
diff changeset
   421
           #(#WindowSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   422
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   423
              #'label:' 'unnamed'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   424
              #'bounds:' #(#Rectangle 0 0 248 304)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   425
          )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   426
          #'component:' 
7276365d9311 intitial checkin
ca
parents:
diff changeset
   427
           #(#SpecCollection
7276365d9311 intitial checkin
ca
parents:
diff changeset
   428
              #'collection:' 
7276365d9311 intitial checkin
ca
parents:
diff changeset
   429
               #(
7276365d9311 intitial checkin
ca
parents:
diff changeset
   430
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   431
                    #'name:' 'label1'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   432
                    #'layout:' #(#LayoutFrame 16 0 42 0 44 0 60 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   433
                    #'label:' 'left'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   434
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   435
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   436
                    #'name:' 'label2'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   437
                    #'layout:' #(#LayoutFrame 16 0 69 0 44 0 87 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   438
                    #'label:' 'top'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   439
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   440
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   441
                    #'name:' 'label3'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   442
                    #'layout:' #(#LayoutFrame 57 0 10 0 103 0 27 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   443
                    #'label:' 'relative'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   444
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   445
                 #(#LabelSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   446
                    #'name:' 'label4'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   447
                    #'layout:' #(#LayoutFrame 154 0 11 0 190 0 28 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   448
                    #'label:' 'offset'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   449
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   450
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   451
                    #'name:' 'editField1'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   452
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   453
                    #'layout:' #(#LayoutFrame 57 0 42 0 114 0 60 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   454
                    #'model:' #leftFraction
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   455
                    #'immediateAccept:' false
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   456
                    #'acceptOnReturn:' true
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   457
                    #'acceptOnTab:' true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   458
                    #tabable: true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   459
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   460
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   461
                    #'name:' 'editField2'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   462
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   463
                    #'layout:' #(#LayoutFrame 57 0 69 0 114 0 87 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   464
                    #'model:' #topFraction
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   465
                    #'immediateAccept:' false
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   466
                    #'acceptOnReturn:' true
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   467
                    #'acceptOnTab:' true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   468
                    #tabable: true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   469
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   470
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   471
                    #'name:' 'editField3'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   472
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   473
                    #'layout:' #(#LayoutFrame 154 0 42 0 212 0 60 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   474
                    #'model:' #leftOffset
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   475
                    #'immediateAccept:' false
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   476
                    #'acceptOnReturn:' true
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   477
                    #'acceptOnTab:' true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   478
                    #tabable: true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   479
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   480
                 #(#InputFieldSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   481
                    #'name:' 'editField4'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   482
                    #'type:' #numberOrNil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   483
                    #'layout:' #(#LayoutFrame 154 0 69 0 212 0 87 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   484
                    #'model:' #topOffset
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   485
                    #'immediateAccept:' false
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   486
                    #'acceptOnReturn:' true
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   487
                    #'acceptOnTab:' true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   488
                    #tabable: true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   489
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   490
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   491
                    #'name:' 'button1'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   492
                    #'layout:' #(#LayoutFrame 119 0 42 0 138 0 60 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   493
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   494
                    #'model:' #makeRelativeLeft
7276365d9311 intitial checkin
ca
parents:
diff changeset
   495
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   496
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   497
                    #'name:' 'button2'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   498
                    #'layout:' #(#LayoutFrame 119 0 69 0 138 0 87 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   499
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   500
                    #'model:' #makeRelativeTop
7276365d9311 intitial checkin
ca
parents:
diff changeset
   501
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   502
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   503
                    #'name:' 'button3'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   504
                    #'layout:' #(#LayoutFrame 216 0 42 0 235 0 60 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   505
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   506
                    #'model:' #makeOffsetLeft
7276365d9311 intitial checkin
ca
parents:
diff changeset
   507
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   508
                 #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   509
                    #'name:' 'button4'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   510
                    #'layout:' #(#LayoutFrame 216 0 69 0 235 0 87 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   511
                    #'label:' ''
7276365d9311 intitial checkin
ca
parents:
diff changeset
   512
                    #'model:' #makeOffsetTop
7276365d9311 intitial checkin
ca
parents:
diff changeset
   513
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   514
7276365d9311 intitial checkin
ca
parents:
diff changeset
   515
7276365d9311 intitial checkin
ca
parents:
diff changeset
   516
               #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   517
                  #'name:' 'button'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   518
                  #'layout:' #(#LayoutFrame 16 0 210 0 76 0 240 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   519
                  #'label:' 'frame'
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   520
                  #'model:' #showLayoutFrame
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   521
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   522
               #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   523
                  #'name:' 'button'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   524
                  #'layout:' #(#LayoutFrame 96 0 210 0 156 0 240 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   525
                  #'label:' 'origin'
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   526
                  #'model:' #showLayoutOrigin
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   527
                  #'initiallyDisabled:' true
7276365d9311 intitial checkin
ca
parents:
diff changeset
   528
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   529
               #(#ActionButtonSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   530
                  #'name:' 'button'
7276365d9311 intitial checkin
ca
parents:
diff changeset
   531
                  #'layout:' #(#LayoutFrame 176 0 210 0 236 0 240 0)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   532
                  #'label:' 'align'
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   533
                  #'model:' #showAlignmentOrigin
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   534
                )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   535
7276365d9311 intitial checkin
ca
parents:
diff changeset
   536
              )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   537
          )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   538
      )
7276365d9311 intitial checkin
ca
parents:
diff changeset
   539
7276365d9311 intitial checkin
ca
parents:
diff changeset
   540
7276365d9311 intitial checkin
ca
parents:
diff changeset
   541
7276365d9311 intitial checkin
ca
parents:
diff changeset
   542
! !
7276365d9311 intitial checkin
ca
parents:
diff changeset
   543
7276365d9311 intitial checkin
ca
parents:
diff changeset
   544
!UIPropertyView methodsFor:'accessing'!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   545
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   546
update:something
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   547
    |slices list view prevSpecClass|
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   548
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   549
    (something == #selection or:[something == #tree]) ifFalse:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   550
        (something == #layout and:[modified not and:[self isLayoutSpec]]) ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   551
            self layoutRead.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   552
        ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   553
        ^ self
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   554
    ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   555
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   556
    view := builderView singleSelection.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   557
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   558
    propertyAspects := nil.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   559
    currentView     := view.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   560
    self modified:false.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   561
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   562
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   563
    currentView isNil ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   564
        "/ the workView itself.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   565
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   566
        propertyList selectionIndex:nil.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   567
        currentSpecChannel := nil.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   568
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   569
        propertyList list:#().
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   570
        propertySpecs := nil.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   571
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   572
        "/ must setup for a WindowSpec (to allow entry of min- maxSize etc).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   573
"/        propertyList list:#('Basics' 'Detail').
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   574
        ^ self
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   575
    ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   576
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   577
    prevSpecClass := specBeingEdited class.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   578
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   579
    specBeingEdited := (builderView generateSpecFor:currentView) first.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   580
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   581
    (specBeingEdited class ~~ prevSpecClass 
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   582
    or:[currentSpecChannel isNil]) ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   583
        propertyList selectionIndex:nil.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   584
        propertyAspects := IdentityDictionary new.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   585
        propertySpecs := OrderedCollection new.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   586
        slices        := currentView specClass slices.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   587
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   588
        list := slices collect:[:slice|
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   589
            propertySpecs add:(slice last).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   590
            slice first asString
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   591
        ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   592
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   593
        list := list, (Array with:(self class titleOfLayoutMenu)).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   594
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   595
        currentSpecChannel := specBeingEdited asValue.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   596
        specBeingEdited class addBindingsTo:propertyAspects
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   597
                                 for:specBeingEdited
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   598
                             channel:currentSpecChannel.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   599
        propertyAspects do:[:anAspect | anAspect addDependent:self ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   600
        propertyList list:list.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   601
        propertyList selection:userSelectedProperty.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   602
    ] ifFalse:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   603
        currentSpecChannel value:specBeingEdited
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   604
    ]
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   605
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   606
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   607
! !
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   608
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   609
!UIPropertyView methodsFor:'change & update'!
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   610
7276365d9311 intitial checkin
ca
parents:
diff changeset
   611
modified:aState
7276365d9311 intitial checkin
ca
parents:
diff changeset
   612
     "change state of modification flag
7276365d9311 intitial checkin
ca
parents:
diff changeset
   613
     "
7276365d9311 intitial checkin
ca
parents:
diff changeset
   614
     aState ~~ modified ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   615
        (modified := aState) ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   616
            (builder componentAt:#cancelButton) enable.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   617
            (builder componentAt:#applyButton) enable.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   618
        ] ifFalse:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   619
            (builder componentAt:#cancelButton) disable.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   620
            (builder componentAt:#applyButton) disable.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   621
        ].
7276365d9311 intitial checkin
ca
parents:
diff changeset
   622
    ]
7276365d9311 intitial checkin
ca
parents:
diff changeset
   623
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   624
7276365d9311 intitial checkin
ca
parents:
diff changeset
   625
propertySelectionChanged
7276365d9311 intitial checkin
ca
parents:
diff changeset
   626
    "called when the property selection changed
7276365d9311 intitial checkin
ca
parents:
diff changeset
   627
    "
7276365d9311 intitial checkin
ca
parents:
diff changeset
   628
    |spec index sel|
7276365d9311 intitial checkin
ca
parents:
diff changeset
   629
7276365d9311 intitial checkin
ca
parents:
diff changeset
   630
    sel := propertyList selection.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   631
7276365d9311 intitial checkin
ca
parents:
diff changeset
   632
    (currentView isNil or:[sel isNil]) ifTrue:[
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   633
        "/ must setup for a WindowSpec for workView (to allow entry of min- maxSize etc).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   634
"/        currentView isNil ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   635
"/            currentView := receiver
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   636
"/        ].
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   637
        ^ self showSpec:nil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   638
    ].
7276365d9311 intitial checkin
ca
parents:
diff changeset
   639
    index := propertyList selectionIndex.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   640
    userSelectedProperty := sel.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   641
7276365d9311 intitial checkin
ca
parents:
diff changeset
   642
    index > propertySpecs size ifTrue:[                 "/ one of my specifications
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   643
        (sel == self class titleOfLayoutMenu) ifTrue:[
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   644
            spec := self specificationLayout
7276365d9311 intitial checkin
ca
parents:
diff changeset
   645
        ]
7276365d9311 intitial checkin
ca
parents:
diff changeset
   646
    ] ifFalse:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   647
        spec := currentView specClass perform:(propertySpecs at:index).
7276365d9311 intitial checkin
ca
parents:
diff changeset
   648
    ].
7276365d9311 intitial checkin
ca
parents:
diff changeset
   649
    self showSpec:spec.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   650
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   651
7276365d9311 intitial checkin
ca
parents:
diff changeset
   652
update:something with:aParameter from:changedObject
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   653
    self modified:true
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   654
! !
7276365d9311 intitial checkin
ca
parents:
diff changeset
   655
7276365d9311 intitial checkin
ca
parents:
diff changeset
   656
!UIPropertyView methodsFor:'initialization'!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   657
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   658
in:aTopView receiver:aBuilderView
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   659
    |menu y cancelButton applyButton panel|
7276365d9311 intitial checkin
ca
parents:
diff changeset
   660
7276365d9311 intitial checkin
ca
parents:
diff changeset
   661
    super initialize.
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   662
    self initializeStaticAspects.
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   663
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   664
    builderView := aBuilderView.
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   665
7276365d9311 intitial checkin
ca
parents:
diff changeset
   666
    menu := PopUpList label:'properties' in:aTopView.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   667
    menu defaultLabel:'properties'.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   668
    propertyFrame := View in:aTopView.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   669
    panel := HorizontalPanelView in:aTopView.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   670
7276365d9311 intitial checkin
ca
parents:
diff changeset
   671
    cancelButton := Button abortButtonIn:panel.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   672
    applyButton  := Button okButtonIn:panel.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   673
7276365d9311 intitial checkin
ca
parents:
diff changeset
   674
    propertyList := SelectionInList new.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   675
    propertyList list:#( ).
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   676
    propertyList selectionIndexHolder onChangeSend:#propertySelectionChanged
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   677
                                                to:self.
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   678
    menu model:propertyList.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   679
7276365d9311 intitial checkin
ca
parents:
diff changeset
   680
    y := menu preferredExtent y.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   681
    menu  origin:0.0@0.0 corner:1.0@y.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   682
    propertyFrame origin:0.0@y   corner:1.0@1.0.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   683
    panel origin:0.0@1.0 corner:1.0@1.0.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   684
7276365d9311 intitial checkin
ca
parents:
diff changeset
   685
    y := panel preferredExtent y.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   686
    propertyFrame bottomInset:y.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   687
    panel topInset:(y negated).
7276365d9311 intitial checkin
ca
parents:
diff changeset
   688
7276365d9311 intitial checkin
ca
parents:
diff changeset
   689
    builder componentAt:#cancelButton put:cancelButton.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   690
    builder componentAt:#applyButton  put:applyButton.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   691
7276365d9311 intitial checkin
ca
parents:
diff changeset
   692
    cancelButton action:[ self cancel ].
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   693
    applyButton  action:[ self apply ].
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   694
7276365d9311 intitial checkin
ca
parents:
diff changeset
   695
    modified := true.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   696
    self modified:false.
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   697
!
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   698
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   699
initializeStaticAspects
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   700
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   701
    staticAspects := IdentityDictionary new.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   702
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   703
    #(  bottomFraction          bottomOffset
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   704
        leftFraction            leftOffset
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   705
        topFraction             topOffset
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   706
        rightFraction           rightOffset
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   707
        leftAlignmentFraction   topAlignmentFraction
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   708
    )
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   709
    do:[:aChannel|
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   710
        staticAspects at:aChannel put:(ValueHolder new).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   711
    ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   712
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   713
    staticAspects do:[:anAspect | anAspect addDependent:self ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   714
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   715
! !
7276365d9311 intitial checkin
ca
parents:
diff changeset
   716
7276365d9311 intitial checkin
ca
parents:
diff changeset
   717
!UIPropertyView methodsFor:'private'!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   718
7276365d9311 intitial checkin
ca
parents:
diff changeset
   719
aspectFor:aKey
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   720
    |aspect|
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   721
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   722
    propertyAspects notNil ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   723
        aspect := propertyAspects at:aKey ifAbsent:nil.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   724
        aspect notNil ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   725
            ^ aspect
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   726
        ]
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   727
    ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   728
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   729
    ^ staticAspects at:aKey ifAbsent:[super aspectFor:aKey]
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   730
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   731
7276365d9311 intitial checkin
ca
parents:
diff changeset
   732
showSpec:aSpec
7276365d9311 intitial checkin
ca
parents:
diff changeset
   733
    "switch specification
7276365d9311 intitial checkin
ca
parents:
diff changeset
   734
    "
7276365d9311 intitial checkin
ca
parents:
diff changeset
   735
    currentSpec ~= aSpec ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   736
        propertyFrame destroySubViews.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   737
7276365d9311 intitial checkin
ca
parents:
diff changeset
   738
        aSpec notNil ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   739
            builder buildFromSpec:aSpec in:propertyFrame.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   740
            propertyFrame realizeAllSubViews
7276365d9311 intitial checkin
ca
parents:
diff changeset
   741
        ]
7276365d9311 intitial checkin
ca
parents:
diff changeset
   742
    ].
7276365d9311 intitial checkin
ca
parents:
diff changeset
   743
    currentSpec := aSpec.
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   744
    self modified:false.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   745
! !
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   746
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   747
!UIPropertyView methodsFor:'private actions'!
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   748
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   749
apply
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   750
    modified ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   751
        self modified:false.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   752
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   753
        self isLayoutSpec ifFalse:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   754
            builderView updateFromSpec:specBeingEdited
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   755
        ] ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   756
            self layoutWrite
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   757
        ]
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   758
    ]
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   759
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   760
!
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   761
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   762
cancel
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   763
    |view|
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   764
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   765
    modified ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   766
        self modified:false.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   767
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   768
        self isLayoutSpec ifFalse:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   769
            currentView := nil.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   770
            self update:#selection
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   771
        ] ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   772
            self layoutRead
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   773
        ]
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   774
    ]
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   775
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   776
7276365d9311 intitial checkin
ca
parents:
diff changeset
   777
! !
7276365d9311 intitial checkin
ca
parents:
diff changeset
   778
7276365d9311 intitial checkin
ca
parents:
diff changeset
   779
!UIPropertyView methodsFor:'private layout'!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   780
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   781
layoutRead
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   782
    |layout extent|
7276365d9311 intitial checkin
ca
parents:
diff changeset
   783
7276365d9311 intitial checkin
ca
parents:
diff changeset
   784
    layout := currentView geometryLayout.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   785
    layout isNil ifTrue:[^ self].
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   786
    modified := true.                   "supress event notifications"
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   787
7276365d9311 intitial checkin
ca
parents:
diff changeset
   788
    layout isLayout ifFalse:[
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   789
        (layout isRectangle or:[layout isPoint]) ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   790
            (staticAspects at:#leftOffset)   value:(layout left).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   791
            (staticAspects at:#rightOffset)  value:(layout right).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   792
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   793
            layout isRectangle ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   794
                (staticAspects at:#topOffset)    value:(layout top).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   795
                (staticAspects at:#bottomOffset) value:(layout bottom).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   796
            ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   797
            modified := false.
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   798
          ^ self
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   799
        ]
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   800
    ].
7276365d9311 intitial checkin
ca
parents:
diff changeset
   801
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   802
    (staticAspects at:#leftOffset)   value:(layout leftOffset).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   803
    (staticAspects at:#leftFraction) value:(layout leftFraction).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   804
    (staticAspects at:#topOffset)    value:(layout topOffset).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   805
    (staticAspects at:#topFraction)  value:(layout topFraction).
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   806
7276365d9311 intitial checkin
ca
parents:
diff changeset
   807
    layout isLayoutFrame ifTrue:[
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   808
        (staticAspects at:#rightOffset)    value:(layout rightOffset).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   809
        (staticAspects at:#bottomOffset)   value:(layout bottomOffset).
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   810
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   811
        (staticAspects at:#rightFraction)  value:(layout rightFraction).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   812
        (staticAspects at:#bottomFraction) value:(layout bottomFraction).
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   813
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   814
        (staticAspects at:#leftAlignmentFraction) value:0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   815
        (staticAspects at:#topAlignmentFraction)  value:0.
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   816
    ] ifFalse:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   817
        extent := currentView extent.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   818
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   819
        (staticAspects at:#rightOffset)    value:(layout leftOffset + extent x).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   820
        (staticAspects at:#bottomOffset)   value:(layout topOffset  + extent y).
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   821
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   822
        (staticAspects at:#rightFraction)  value:0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   823
        (staticAspects at:#bottomFraction) value:0.
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   824
7276365d9311 intitial checkin
ca
parents:
diff changeset
   825
        layout isAlignmentOrigin ifTrue:[
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   826
            (staticAspects at:#leftAlignmentFraction) value:(layout leftAlignmentFraction).
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   827
            (staticAspects at:#topAlignmentFraction)  value:(layout topAlignmentFraction).
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   828
        ] ifFalse:[
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   829
            (staticAspects at:#leftAlignmentFraction) value:0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   830
            (staticAspects at:#topAlignmentFraction)  value:0.
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   831
        ]
7276365d9311 intitial checkin
ca
parents:
diff changeset
   832
    ].
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   833
    modified := false.
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   834
7276365d9311 intitial checkin
ca
parents:
diff changeset
   835
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   836
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   837
layoutWrite
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   838
    |layout|
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   839
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   840
    currentView isNil ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   841
        ^ self
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   842
    ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   843
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   844
    (currentSpec == self class specificationLayoutFrame) ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   845
        layout := LayoutFrame new.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   846
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   847
        layout     leftOffset:((staticAspects at:#leftOffset)     value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   848
        layout    rightOffset:((staticAspects at:#rightOffset)    value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   849
        layout      topOffset:((staticAspects at:#topOffset)      value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   850
        layout   bottomOffset:((staticAspects at:#bottomOffset)   value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   851
        layout   leftFraction:((staticAspects at:#leftFraction)   value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   852
        layout  rightFraction:((staticAspects at:#rightFraction)  value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   853
        layout    topFraction:((staticAspects at:#topFraction)    value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   854
        layout bottomFraction:((staticAspects at:#bottomFraction) value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   855
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   856
        builderView setDimension:layout
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   857
    ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   858
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   859
    (currentSpec == self class specificationAlignmentOrigin) ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   860
        layout := AlignmentOrigin new.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   861
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   862
        layout   leftOffset:((staticAspects at:#leftOffset)   value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   863
        layout    topOffset:((staticAspects at:#topOffset)    value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   864
        layout leftFraction:((staticAspects at:#leftFraction) value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   865
        layout  topFraction:((staticAspects at:#topFraction)  value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   866
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   867
        layout leftAlignmentFraction:((staticAspects at:#leftAlignmentFraction) value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   868
        layout  topAlignmentFraction:((staticAspects at:#topAlignmentFraction)  value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   869
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   870
        ^ builderView setDimension:layout.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   871
    ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   872
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   873
    (currentSpec == self class specificationLayoutOrigin) ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   874
        layout := LayoutOrigin new.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   875
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   876
        layout   leftOffset:((staticAspects at:#leftOffset)   value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   877
        layout    topOffset:((staticAspects at:#topOffset)    value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   878
        layout leftFraction:((staticAspects at:#leftFraction) value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   879
        layout  topFraction:((staticAspects at:#topFraction)  value) ? 0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   880
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   881
        builderView setDimension:layout.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   882
    ].
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   883
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   884
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   885
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   886
showAlignmentOrigin
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   887
    self switchLayoutSpec:(self class specificationAlignmentOrigin)
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   888
!
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   889
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   890
showLayoutFrame
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   891
    self switchLayoutSpec:(self class specificationLayoutFrame)
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   892
!
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   893
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   894
showLayoutOrigin
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   895
    self switchLayoutSpec:(self class specificationLayoutOrigin)
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   896
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   897
7276365d9311 intitial checkin
ca
parents:
diff changeset
   898
specificationLayout
7276365d9311 intitial checkin
ca
parents:
diff changeset
   899
    "called from propertyChanged; returns specification assigned to
7276365d9311 intitial checkin
ca
parents:
diff changeset
   900
     current view
7276365d9311 intitial checkin
ca
parents:
diff changeset
   901
    "
7276365d9311 intitial checkin
ca
parents:
diff changeset
   902
    |layout spec|
7276365d9311 intitial checkin
ca
parents:
diff changeset
   903
7276365d9311 intitial checkin
ca
parents:
diff changeset
   904
    (currentView superView specClass basicNew isLayoutContainer) ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   905
        ^ nil
7276365d9311 intitial checkin
ca
parents:
diff changeset
   906
    ].
7276365d9311 intitial checkin
ca
parents:
diff changeset
   907
    layout := currentView geometryLayout.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   908
7276365d9311 intitial checkin
ca
parents:
diff changeset
   909
    layout isLayout ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   910
        layout isLayoutFrame ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   911
            spec := self class specificationLayoutFrame
7276365d9311 intitial checkin
ca
parents:
diff changeset
   912
        ] ifFalse:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   913
            layout isAlignmentOrigin ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   914
                spec := self class specificationAlignmentOrigin
7276365d9311 intitial checkin
ca
parents:
diff changeset
   915
            ] ifFalse:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   916
                layout isLayoutOrigin ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   917
                    spec := self class specificationLayoutOrigin
7276365d9311 intitial checkin
ca
parents:
diff changeset
   918
                ]
7276365d9311 intitial checkin
ca
parents:
diff changeset
   919
            ]
7276365d9311 intitial checkin
ca
parents:
diff changeset
   920
        ]
7276365d9311 intitial checkin
ca
parents:
diff changeset
   921
    ].
7276365d9311 intitial checkin
ca
parents:
diff changeset
   922
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   923
    spec notNil ifTrue:[
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   924
        self layoutRead
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   925
    ].
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   926
  ^ spec
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   927
!
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   928
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   929
switchLayoutSpec:aSpecification
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   930
    self layoutRead.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   931
    self showSpec:aSpecification.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   932
    self modified:true.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   933
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   934
! !
7276365d9311 intitial checkin
ca
parents:
diff changeset
   935
7276365d9311 intitial checkin
ca
parents:
diff changeset
   936
!UIPropertyView methodsFor:'private make layout'!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   937
7276365d9311 intitial checkin
ca
parents:
diff changeset
   938
makeLayout:what xOrY:xOrY offset:aBool
7276365d9311 intitial checkin
ca
parents:
diff changeset
   939
    |layout extent fraction offset fractSymb offsetSymb|
7276365d9311 intitial checkin
ca
parents:
diff changeset
   940
7276365d9311 intitial checkin
ca
parents:
diff changeset
   941
    currentView isNil ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   942
        ^ self
7276365d9311 intitial checkin
ca
parents:
diff changeset
   943
    ].
7276365d9311 intitial checkin
ca
parents:
diff changeset
   944
    layout := currentView geometryLayout.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   945
7276365d9311 intitial checkin
ca
parents:
diff changeset
   946
    layout isLayout ifFalse:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   947
        ^ self
7276365d9311 intitial checkin
ca
parents:
diff changeset
   948
    ].
7276365d9311 intitial checkin
ca
parents:
diff changeset
   949
    fractSymb  := (what, 'Fraction') asSymbol.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   950
    offsetSymb := (what,   'Offset') asSymbol.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   951
7276365d9311 intitial checkin
ca
parents:
diff changeset
   952
    (    (layout respondsTo:fractSymb)
7276365d9311 intitial checkin
ca
parents:
diff changeset
   953
     and:[layout respondsTo:offsetSymb]
7276365d9311 intitial checkin
ca
parents:
diff changeset
   954
    ) ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   955
7276365d9311 intitial checkin
ca
parents:
diff changeset
   956
        fraction := layout perform:fractSymb.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   957
        offset   := layout perform:offsetSymb.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   958
        extent   := (currentView superView computeExtent) perform:xOrY.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   959
7276365d9311 intitial checkin
ca
parents:
diff changeset
   960
        aBool ifTrue:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   961
            offset := offset + ((fraction * extent) asInteger).
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   962
            (staticAspects at:offsetSymb) value:offset.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   963
            (staticAspects at:fractSymb)  value:0.
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   964
        ] ifFalse:[
7276365d9311 intitial checkin
ca
parents:
diff changeset
   965
            fraction   := (fraction + (offset / extent)) asFloat.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   966
7276365d9311 intitial checkin
ca
parents:
diff changeset
   967
            (fraction > 1.0) ifTrue:[ fraction := 1.0 ].
7276365d9311 intitial checkin
ca
parents:
diff changeset
   968
            (fraction < 0.0) ifTrue:[ fraction := 0.0 ].
7276365d9311 intitial checkin
ca
parents:
diff changeset
   969
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   970
            (staticAspects at:offsetSymb) value:0.
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
   971
            (staticAspects at:fractSymb)  value:fraction.
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
   972
        ]
7276365d9311 intitial checkin
ca
parents:
diff changeset
   973
    ]
7276365d9311 intitial checkin
ca
parents:
diff changeset
   974
7276365d9311 intitial checkin
ca
parents:
diff changeset
   975
7276365d9311 intitial checkin
ca
parents:
diff changeset
   976
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   977
7276365d9311 intitial checkin
ca
parents:
diff changeset
   978
makeOffsetAll
7276365d9311 intitial checkin
ca
parents:
diff changeset
   979
    self makeOffsetLeft.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   980
    self makeOffsetTop.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   981
    self makeOffsetRight.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   982
    self makeOffsetBottom.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   983
7276365d9311 intitial checkin
ca
parents:
diff changeset
   984
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   985
7276365d9311 intitial checkin
ca
parents:
diff changeset
   986
makeOffsetBottom
7276365d9311 intitial checkin
ca
parents:
diff changeset
   987
    self makeLayout:'bottom' xOrY:#y offset:true.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   988
7276365d9311 intitial checkin
ca
parents:
diff changeset
   989
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   990
7276365d9311 intitial checkin
ca
parents:
diff changeset
   991
makeOffsetLeft
7276365d9311 intitial checkin
ca
parents:
diff changeset
   992
    self makeLayout:'left' xOrY:#x offset:true.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   993
7276365d9311 intitial checkin
ca
parents:
diff changeset
   994
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
   995
7276365d9311 intitial checkin
ca
parents:
diff changeset
   996
makeOffsetRight
7276365d9311 intitial checkin
ca
parents:
diff changeset
   997
    self makeLayout:'right' xOrY:#x offset:true.
7276365d9311 intitial checkin
ca
parents:
diff changeset
   998
7276365d9311 intitial checkin
ca
parents:
diff changeset
   999
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1000
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1001
makeOffsetTop
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1002
    self makeLayout:'top' xOrY:#y offset:true.
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1003
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1004
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1005
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1006
makeRelativeAll
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1007
    self makeRelativeLeft.
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1008
    self makeRelativeTop.
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1009
    self makeRelativeRight.
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1010
    self makeRelativeBottom.
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1011
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1012
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1013
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1014
makeRelativeBottom
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1015
    self makeLayout:'bottom' xOrY:#y offset:false.
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1016
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1017
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1018
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1019
makeRelativeLeft
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1020
    self makeLayout:'left' xOrY:#x offset:false.
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1021
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1022
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1023
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1024
makeRelativeRight
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1025
    self makeLayout:'right' xOrY:#x offset:false.
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1026
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1027
!
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1028
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1029
makeRelativeTop
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1030
    self makeLayout:'top' xOrY:#y offset:false.
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1031
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1032
! !
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1033
59
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
  1034
!UIPropertyView methodsFor:'queries'!
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
  1035
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
  1036
isLayoutSpec
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
  1037
    "returns true if current menu is layout
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
  1038
    "
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
  1039
    ^ propertyList selection == self class titleOfLayoutMenu
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
  1040
! !
0a2b2ff030a0 so far ...
ca
parents: 56
diff changeset
  1041
56
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1042
!UIPropertyView class methodsFor:'documentation'!
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1043
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1044
version
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1045
    ^ '$Header$'
7276365d9311 intitial checkin
ca
parents:
diff changeset
  1046
! !