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