UILayoutTool.st
changeset 3052 8734833de8fe
parent 2954 fac62f1cddaa
child 3116 21e748176901
equal deleted inserted replaced
3051:ebb32d3a997e 3052:8734833de8fe
   189     "
   189     "
   190 
   190 
   191     <resource: #canvas>
   191     <resource: #canvas>
   192 
   192 
   193     ^ 
   193     ^ 
   194      #(FullSpec
   194     #(FullSpec
   195         name: layoutOriginSpec
   195        name: layoutOriginSpec
   196         window: 
   196        window: 
   197        (WindowSpec
   197       (WindowSpec
   198           label: 'UILayoutTool'
   198          label: 'UILayoutTool'
   199           name: 'UILayoutTool'
   199          name: 'UILayoutTool'
   200           min: (Point 10 10)
   200          min: (Point 10 10)
   201           bounds: (Rectangle 0 0 345 107)
   201          bounds: (Rectangle 0 0 345 107)
   202         )
   202        )
   203         component: 
   203        component: 
   204        (SpecCollection
   204       (SpecCollection
   205           collection: (
   205          collection: (
   206            (FramedBoxSpec
   206           (FramedBoxSpec
   207               label: 'Origin'
   207              label: 'Origin'
   208               name: 'FramedBox'
   208              name: 'FramedBox'
   209               layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 108 0)
   209              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 108 0)
   210               labelPosition: topLeft
   210              labelPosition: topLeft
   211               translateLabel: true
   211              translateLabel: true
   212               component: 
   212              component: 
   213              (SpecCollection
   213             (SpecCollection
   214                 collection: (
   214                collection: (
   215                  (LabelSpec
   215                 (LabelSpec
   216                     label: 'Relative:'
   216                    label: 'Relative:'
   217                     name: 'labelRelative'
   217                    name: 'labelRelative'
   218                     layout: (Point 103 6)
   218                    layout: (Point 103 6)
   219                     translateLabel: true
   219                    translateLabel: true
   220                   )
   220                  )
   221                  (LabelSpec
   221                 (LabelSpec
   222                     label: 'Offset:'
   222                    label: 'Offset:'
   223                     name: 'labelAbsolute'
   223                    name: 'labelAbsolute'
   224                     layout: (Point 203 6)
   224                    layout: (Point 203 6)
   225                     translateLabel: true
   225                    translateLabel: true
   226                   )
   226                  )
   227                  (LabelSpec
   227                 (LabelSpec
   228                     label: 'Left:'
   228                    label: 'Left:'
   229                     name: 'labelLeft'
   229                    name: 'labelLeft'
   230                     layout: (AlignmentOrigin 68 0 27 0 1 0)
   230                    layout: (AlignmentOrigin 68 0 27 0 1 0)
   231                     translateLabel: true
   231                    translateLabel: true
   232                   )
   232                  )
   233                  (ActionButtonSpec
   233                 (ActionButtonSpec
   234                     label: 'imageFractX'
   234                    label: 'imageFractX'
   235                     name: 'actionRelativeLeft'
   235                    name: 'actionRelativeLeft'
   236                     layout: (LayoutFrame 77 0 24 0 99 0 46 0)
   236                    layout: (LayoutFrame 77 0 24 0 99 0 46 0)
   237                     activeHelpKey: makeLeftRelative
   237                    activeHelpKey: makeLeftRelative
   238                     hasCharacterOrientedLabel: false
   238                    hasCharacterOrientedLabel: false
   239                     tabable: true
   239                    tabable: true
   240                     model: relativeLeft
   240                    model: relativeLeft
   241                   )
   241                  )
   242                  (InputFieldSpec
   242                 (InputFieldSpec
   243                     name: 'fieldLeftFraction'
   243                    name: 'fieldLeftFraction'
   244                     layout: (LayoutFrame 102 0 25 0 152 0 47 0)
   244                    layout: (LayoutFrame 102 0 25 0 152 0 47 0)
   245                     activeHelpKey: leftRelative
   245                    activeHelpKey: leftRelative
   246                     tabable: true
   246                    tabable: true
   247                     model: leftFraction
   247                    model: leftFraction
   248                     group: inputGroup
   248                    group: inputGroup
   249                     type: numberOrNil
   249                    type: numberOrNil
   250                     acceptChannel: acceptChannel
   250                    acceptOnLostFocus: true
   251                     modifiedChannel: modifiedChannel
   251                    acceptChannel: acceptChannel
   252                     acceptOnPointerLeave: false
   252                    modifiedChannel: modifiedChannel
   253                   )
   253                    acceptOnPointerLeave: true
   254                  (ActionButtonSpec
   254                  )
   255                     label: 'imageAbsX'
   255                 (ActionButtonSpec
   256                     name: 'actionAbsoluteLeft'
   256                    label: 'imageAbsX'
   257                     layout: (LayoutFrame 178 0 24 0 200 0 46 0)
   257                    name: 'actionAbsoluteLeft'
   258                     activeHelpKey: makeLeftAbsolute
   258                    layout: (LayoutFrame 178 0 24 0 200 0 46 0)
   259                     hasCharacterOrientedLabel: false
   259                    activeHelpKey: makeLeftAbsolute
   260                     tabable: true
   260                    hasCharacterOrientedLabel: false
   261                     model: absoluteLeft
   261                    tabable: true
   262                   )
   262                    model: absoluteLeft
   263                  (InputFieldSpec
   263                  )
   264                     name: 'fieldLeftOffset'
   264                 (InputFieldSpec
   265                     layout: (LayoutFrame 203 0 24 0 253 0 46 0)
   265                    name: 'fieldLeftOffset'
   266                     activeHelpKey: leftAbsolute
   266                    layout: (LayoutFrame 203 0 24 0 253 0 46 0)
   267                     tabable: true
   267                    activeHelpKey: leftAbsolute
   268                     model: leftOffset
   268                    tabable: true
   269                     group: inputGroup
   269                    model: leftOffset
   270                     type: numberOrNil
   270                    group: inputGroup
   271                     acceptChannel: acceptChannel
   271                    type: numberOrNil
   272                     modifiedChannel: modifiedChannel
   272                    acceptOnLostFocus: true
   273                     acceptOnPointerLeave: false
   273                    acceptChannel: acceptChannel
   274                   )
   274                    modifiedChannel: modifiedChannel
   275                  (ActionButtonSpec
   275                    acceptOnPointerLeave: true
   276                     label: 'imageAbsXFromRight'
   276                  )
   277                     name: 'actionRightRelativeLeft'
   277                 (ActionButtonSpec
   278                     layout: (LayoutFrame 257 0 24 0 279 0 46 0)
   278                    label: 'imageAbsXFromRight'
   279                     activeHelpKey: makeLeftRelativeFromRight
   279                    name: 'actionRightRelativeLeft'
   280                     hasCharacterOrientedLabel: false
   280                    layout: (LayoutFrame 257 0 24 0 279 0 46 0)
   281                     tabable: true
   281                    activeHelpKey: makeLeftRelativeFromRight
   282                     model: rightRelativeLeft
   282                    hasCharacterOrientedLabel: false
   283                   )
   283                    tabable: true
   284                  (LabelSpec
   284                    model: rightRelativeLeft
   285                     label: 'Top:'
   285                  )
   286                     name: 'labelTop'
   286                 (LabelSpec
   287                     layout: (AlignmentOrigin 68 0 54 0 1 0)
   287                    label: 'Top:'
   288                     translateLabel: true
   288                    name: 'labelTop'
   289                   )
   289                    layout: (AlignmentOrigin 68 0 54 0 1 0)
   290                  (ActionButtonSpec
   290                    translateLabel: true
   291                     label: 'imageFractY'
   291                  )
   292                     name: 'actionRelativeTop'
   292                 (ActionButtonSpec
   293                     layout: (LayoutFrame 77 0 51 0 99 0 73 0)
   293                    label: 'imageFractY'
   294                     activeHelpKey: makeTopRelative
   294                    name: 'actionRelativeTop'
   295                     hasCharacterOrientedLabel: false
   295                    layout: (LayoutFrame 77 0 51 0 99 0 73 0)
   296                     tabable: true
   296                    activeHelpKey: makeTopRelative
   297                     model: relativeTop
   297                    hasCharacterOrientedLabel: false
   298                   )
   298                    tabable: true
   299                  (InputFieldSpec
   299                    model: relativeTop
   300                     name: 'fieldTopFraction'
   300                  )
   301                     layout: (LayoutFrame 103 0 51 0 153 0 73 0)
   301                 (InputFieldSpec
   302                     activeHelpKey: topRelative
   302                    name: 'fieldTopFraction'
   303                     tabable: true
   303                    layout: (LayoutFrame 103 0 51 0 153 0 73 0)
   304                     model: topFraction
   304                    activeHelpKey: topRelative
   305                     group: inputGroup
   305                    tabable: true
   306                     type: numberOrNil
   306                    model: topFraction
   307                     acceptChannel: acceptChannel
   307                    group: inputGroup
   308                     modifiedChannel: modifiedChannel
   308                    type: numberOrNil
   309                     acceptOnPointerLeave: false
   309                    acceptOnLostFocus: true
   310                   )
   310                    acceptChannel: acceptChannel
   311                  (ActionButtonSpec
   311                    modifiedChannel: modifiedChannel
   312                     label: 'imageAbsY'
   312                    acceptOnPointerLeave: true
   313                     name: 'actionAbsoluteTop'
   313                  )
   314                     layout: (LayoutFrame 178 0 51 0 200 0 73 0)
   314                 (ActionButtonSpec
   315                     activeHelpKey: makeTopAbsolute
   315                    label: 'imageAbsY'
   316                     hasCharacterOrientedLabel: false
   316                    name: 'actionAbsoluteTop'
   317                     tabable: true
   317                    layout: (LayoutFrame 178 0 51 0 200 0 73 0)
   318                     model: absoluteTop
   318                    activeHelpKey: makeTopAbsolute
   319                   )
   319                    hasCharacterOrientedLabel: false
   320                  (InputFieldSpec
   320                    tabable: true
   321                     name: 'fieldTopOffset'
   321                    model: absoluteTop
   322                     layout: (LayoutFrame 203 0 51 0 253 0 73 0)
   322                  )
   323                     activeHelpKey: topAbsolute
   323                 (InputFieldSpec
   324                     tabable: true
   324                    name: 'fieldTopOffset'
   325                     model: topOffset
   325                    layout: (LayoutFrame 203 0 51 0 253 0 73 0)
   326                     group: inputGroup
   326                    activeHelpKey: topAbsolute
   327                     type: numberOrNil
   327                    tabable: true
   328                     acceptChannel: acceptChannel
   328                    model: topOffset
   329                     modifiedChannel: modifiedChannel
   329                    group: inputGroup
   330                     acceptOnPointerLeave: false
   330                    type: numberOrNil
   331                   )
   331                    acceptOnLostFocus: true
   332                  (ActionButtonSpec
   332                    acceptChannel: acceptChannel
   333                     label: 'imageAbsYFromBottom'
   333                    modifiedChannel: modifiedChannel
   334                     name: 'actionBottomRelativeTop'
   334                    acceptOnPointerLeave: true
   335                     layout: (LayoutFrame 257 0 51 0 279 0 73 0)
   335                  )
   336                     activeHelpKey: makeTopRelativeFromBottom
   336                 (ActionButtonSpec
   337                     hasCharacterOrientedLabel: false
   337                    label: 'imageAbsYFromBottom'
   338                     tabable: true
   338                    name: 'actionBottomRelativeTop'
   339                     model: bottomRelativeTop
   339                    layout: (LayoutFrame 257 0 51 0 279 0 73 0)
   340                   )
   340                    activeHelpKey: makeTopRelativeFromBottom
   341                  )
   341                    hasCharacterOrientedLabel: false
   342                
   342                    tabable: true
   343               )
   343                    model: bottomRelativeTop
   344             )
   344                  )
       
   345                 )
       
   346               
       
   347              )
   345            )
   348            )
   346          
   349           )
   347         )
   350         
   348       )
   351        )
       
   352      )
   349 !
   353 !
   350 
   354 
   351 layoutPointSpec
   355 layoutPointSpec
   352     "This resource specification was automatically generated
   356     "This resource specification was automatically generated
   353      by the UIPainter of ST/X."
   357      by the UIPainter of ST/X."
   361     "
   365     "
   362 
   366 
   363     <resource: #canvas>
   367     <resource: #canvas>
   364 
   368 
   365     ^ 
   369     ^ 
   366      #(FullSpec
   370     #(FullSpec
   367         name: layoutPointSpec
   371        name: layoutPointSpec
   368         window: 
   372        window: 
   369        (WindowSpec
   373       (WindowSpec
   370           label: 'UILayoutTool'
   374          label: 'UILayoutTool'
   371           name: 'UILayoutTool'
   375          name: 'UILayoutTool'
   372           min: (Point 10 10)
   376          min: (Point 10 10)
   373           bounds: (Rectangle 14 46 292 170)
   377          bounds: (Rectangle 0 0 278 124)
   374         )
   378        )
   375         component: 
   379        component: 
   376        (SpecCollection
   380       (SpecCollection
   377           collection: (
   381          collection: (
   378            (FramedBoxSpec
   382           (FramedBoxSpec
   379               label: 'Origin'
   383              label: 'Origin'
   380               name: 'FramedBox'
   384              name: 'FramedBox'
   381               layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 94 0)
   385              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 94 0)
   382               labelPosition: topLeft
   386              labelPosition: topLeft
   383                     translateLabel: true
   387              translateLabel: true
   384               component: 
   388              component: 
   385              (SpecCollection
   389             (SpecCollection
   386                 collection: (
   390                collection: (
   387                  (LabelSpec
   391                 (LabelSpec
   388                     label: 'Left:'
   392                    label: 'Left:'
   389                     name: 'labelOriginY'
   393                    name: 'labelOriginY'
   390                     layout: (AlignmentOrigin 83 0 14 0 1 0)
   394                    layout: (AlignmentOrigin 83 0 14 0 1 0)
   391                     translateLabel: true
   395                    translateLabel: true
   392                   )
   396                  )
   393                  (InputFieldSpec
   397                 (InputFieldSpec
   394                     name: 'fieldOriginX'
   398                    name: 'fieldOriginX'
   395                     layout: (LayoutFrame 85 0 11 0 135 0 33 0)
   399                    layout: (LayoutFrame 85 0 11 0 135 0 33 0)
   396                     activeHelpKey: originX
   400                    activeHelpKey: originX
   397                     tabable: true
   401                    tabable: true
   398                     model: leftOffset
   402                    model: leftOffset
   399                     group: inputGroup
   403                    group: inputGroup
   400                     type: numberOrNil
   404                    type: numberOrNil
   401                     acceptChannel: acceptChannel
   405                    acceptOnLostFocus: true
   402                     modifiedChannel: modifiedChannel
   406                    acceptChannel: acceptChannel
   403                     acceptOnPointerLeave: false
   407                    modifiedChannel: modifiedChannel
   404                   )
   408                    acceptOnPointerLeave: true
   405                  (LabelSpec
   409                  )
   406                     label: 'Top:'
   410                 (LabelSpec
   407                     name: 'labelOriginX'
   411                    label: 'Top:'
   408                     layout: (AlignmentOrigin 83 0 39 0 1 0)
   412                    name: 'labelOriginX'
   409                     translateLabel: true
   413                    layout: (AlignmentOrigin 83 0 39 0 1 0)
   410                   )
   414                    translateLabel: true
   411                  (InputFieldSpec
   415                  )
   412                     name: 'fieldOriginY'
   416                 (InputFieldSpec
   413                     layout: (LayoutFrame 85 0 36 0 135 0 58 0)
   417                    name: 'fieldOriginY'
   414                     activeHelpKey: originY
   418                    layout: (LayoutFrame 85 0 36 0 135 0 58 0)
   415                     tabable: true
   419                    activeHelpKey: originY
   416                     model: topOffset
   420                    tabable: true
   417                     group: inputGroup
   421                    model: topOffset
   418                     type: numberOrNil
   422                    group: inputGroup
   419                     acceptChannel: acceptChannel
   423                    type: numberOrNil
   420                     modifiedChannel: modifiedChannel
   424                    acceptOnLostFocus: true
   421                     acceptOnPointerLeave: false
   425                    acceptChannel: acceptChannel
   422                   )
   426                    modifiedChannel: modifiedChannel
   423                  )
   427                    acceptOnPointerLeave: true
   424                
   428                  )
   425               )
   429                 )
   426             )
   430               
       
   431              )
   427            )
   432            )
   428          
   433           )
   429         )
   434         
   430       )
   435        )
       
   436      )
   431 !
   437 !
   432 
   438 
   433 slices
   439 slices
   434     ^ #(
   440     ^ #(
   435         ( 'Frame'          LayoutFrame)
   441         ( 'Frame'          LayoutFrame)
  1126     "
  1132     "
  1127 
  1133 
  1128     <resource: #canvas>
  1134     <resource: #canvas>
  1129 
  1135 
  1130     ^ 
  1136     ^ 
  1131      #(FullSpec
  1137     #(FullSpec
  1132         name: windowSpec
  1138        name: windowSpec
  1133         window: 
  1139        window: 
  1134        (WindowSpec
  1140       (WindowSpec
  1135           label: 'UILayoutTool-AlignmentOrigin'
  1141          label: 'UILayoutTool-AlignmentOrigin'
  1136           name: 'UILayoutTool-AlignmentOrigin'
  1142          name: 'UILayoutTool-AlignmentOrigin'
  1137           min: (Point 10 10)
  1143          min: (Point 10 10)
  1138           bounds: (Rectangle 0 0 405 220)
  1144          bounds: (Rectangle 0 0 405 220)
  1139         )
  1145        )
  1140         component: 
  1146        component: 
  1141        (SpecCollection
  1147       (SpecCollection
  1142           collection: (
  1148          collection: (
  1143            (UISubSpecification
  1149           (UISubSpecification
  1144               name: 'layoutOriginSpec'
  1150              name: 'layoutOriginSpec'
  1145               layout: (LayoutFrame 1 0.0 6 0 0 1.0 111 0)
  1151              layout: (LayoutFrame 1 0.0 6 0 0 1.0 111 0)
  1146               majorKey: UILayoutTool
  1152              majorKey: UILayoutTool
  1147               minorKey: layoutOriginSpec
  1153              minorKey: layoutOriginSpec
  1148             )
       
  1149            (FramedBoxSpec
       
  1150               label: 'Alignment'
       
  1151               name: 'FramedBox'
       
  1152               layout: (LayoutFrame 1 0.0 113 0 0 1.0 215 0)
       
  1153               labelPosition: topLeft
       
  1154               translateLabel: true
       
  1155               component: 
       
  1156              (SpecCollection
       
  1157                 collection: (
       
  1158                  (LabelSpec
       
  1159                     label: 'Horizontal:'
       
  1160                     name: 'alignHLabel'
       
  1161                     layout: (AlignmentOrigin 88 0 17 0 1 0)
       
  1162                     translateLabel: true
       
  1163                     adjust: right
       
  1164                   )
       
  1165                  (InputFieldSpec
       
  1166                     name: 'leftAlignmentFractionField'
       
  1167                     layout: (LayoutFrame 90 0 14 0 147 0 36 0)
       
  1168                     activeHelpKey: alignHorizontal
       
  1169                     tabable: true
       
  1170                     model: leftAlignmentFraction
       
  1171                     group: inputGroup
       
  1172                     type: numberOrNil
       
  1173                     acceptOnLostFocus: true
       
  1174                     acceptChannel: acceptChannel
       
  1175                     modifiedChannel: modifiedChannel
       
  1176                     acceptOnPointerLeave: false
       
  1177                   )
       
  1178                  (LabelSpec
       
  1179                     label: 'Vertical:'
       
  1180                     name: 'alignVLabel'
       
  1181                     layout: (AlignmentOrigin 88 0 43 0 1 0)
       
  1182                     translateLabel: true
       
  1183                     adjust: right
       
  1184                   )
       
  1185                  (InputFieldSpec
       
  1186                     name: 'topAlignmentFractionField'
       
  1187                     layout: (LayoutFrame 90 0 40 0 147 0 62 0)
       
  1188                     activeHelpKey: alignVertical
       
  1189                     tabable: true
       
  1190                     model: topAlignmentFraction
       
  1191                     group: inputGroup
       
  1192                     type: numberOrNil
       
  1193                     acceptOnLostFocus: true
       
  1194                     acceptChannel: acceptChannel
       
  1195                     modifiedChannel: modifiedChannel
       
  1196                     acceptOnPointerLeave: false
       
  1197                   )
       
  1198                  (DividerSpec
       
  1199                     name: 'separator1'
       
  1200                     layout: (LayoutFrame 204 0 19 0 245 0 22 0)
       
  1201                   )
       
  1202                  (DividerSpec
       
  1203                     name: 'separator2'
       
  1204                     layout: (LayoutFrame 204 0 55 0 245 0 58 0)
       
  1205                   )
       
  1206                  (DividerSpec
       
  1207                     name: 'separator3'
       
  1208                     layout: (LayoutFrame 196 0 28 0 199 0 50 0)
       
  1209                     orientation: vertical
       
  1210                   )
       
  1211                  (DividerSpec
       
  1212                     name: 'separator4'
       
  1213                     layout: (LayoutFrame 250 0 28 0 253 0 50 0)
       
  1214                     orientation: vertical
       
  1215                   )
       
  1216                  (ActionButtonSpec
       
  1217                     name: 'alignTopLeft'
       
  1218                     layout: (LayoutFrame 190 0 14 0 204 0 28 0)
       
  1219                     activeHelpKey: alignTopLeft
       
  1220                     tabable: true
       
  1221                     model: alignTopLeft
       
  1222                   )
       
  1223                  (ActionButtonSpec
       
  1224                     name: 'alignTopCenter'
       
  1225                     layout: (LayoutFrame 217 0 14 0 231 0 28 0)
       
  1226                     activeHelpKey: alignTopCenter
       
  1227                     tabable: true
       
  1228                     model: alignTopCenter
       
  1229                   )
       
  1230                  (ActionButtonSpec
       
  1231                     name: 'alignTopRight'
       
  1232                     layout: (LayoutFrame 245 0 14 0 259 0 28 0)
       
  1233                     activeHelpKey: alignTopRight
       
  1234                     tabable: true
       
  1235                     model: alignTopRight
       
  1236                   )
       
  1237                  (ActionButtonSpec
       
  1238                     name: 'alignLeftCenter'
       
  1239                     layout: (LayoutFrame 190 0 32 0 204 0 46 0)
       
  1240                     activeHelpKey: alignLeftCenter
       
  1241                     tabable: true
       
  1242                     model: alignLeftCenter
       
  1243                   )
       
  1244                  (ActionButtonSpec
       
  1245                     name: 'alignCenter'
       
  1246                     layout: (LayoutFrame 217 0 32 0 231 0 46 0)
       
  1247                     activeHelpKey: alignCenter
       
  1248                     tabable: true
       
  1249                     model: alignCenter
       
  1250                   )
       
  1251                  (ActionButtonSpec
       
  1252                     name: 'alignRightCenter'
       
  1253                     layout: (LayoutFrame 245 0 32 0 259 0 46 0)
       
  1254                     activeHelpKey: alignRightCenter
       
  1255                     tabable: true
       
  1256                     model: alignRightCenter
       
  1257                   )
       
  1258                  (ActionButtonSpec
       
  1259                     name: 'alignBottomLeft'
       
  1260                     layout: (LayoutFrame 190 0 50 0 204 0 64 0)
       
  1261                     activeHelpKey: alignBottomLeft
       
  1262                     tabable: true
       
  1263                     model: alignBottomLeft
       
  1264                   )
       
  1265                  (ActionButtonSpec
       
  1266                     name: 'alignBottomCenter'
       
  1267                     layout: (LayoutFrame 217 0 50 0 231 0 64 0)
       
  1268                     activeHelpKey: alignBottomCenter
       
  1269                     tabable: true
       
  1270                     model: alignBottomCenter
       
  1271                   )
       
  1272                  (ActionButtonSpec
       
  1273                     name: 'alignBottomRight'
       
  1274                     layout: (LayoutFrame 245 0 50 0 259 0 64 0)
       
  1275                     activeHelpKey: alignBottomRight
       
  1276                     tabable: true
       
  1277                     model: alignBottomRight
       
  1278                   )
       
  1279                  )
       
  1280                
       
  1281               )
       
  1282             )
       
  1283            )
  1154            )
  1284          
  1155           (FramedBoxSpec
  1285         )
  1156              label: 'Alignment'
  1286       )
  1157              name: 'FramedBox'
       
  1158              layout: (LayoutFrame 1 0.0 113 0 0 1.0 215 0)
       
  1159              labelPosition: topLeft
       
  1160              translateLabel: true
       
  1161              component: 
       
  1162             (SpecCollection
       
  1163                collection: (
       
  1164                 (LabelSpec
       
  1165                    label: 'Horizontal:'
       
  1166                    name: 'alignHLabel'
       
  1167                    layout: (AlignmentOrigin 88 0 17 0 1 0)
       
  1168                    translateLabel: true
       
  1169                    adjust: right
       
  1170                  )
       
  1171                 (InputFieldSpec
       
  1172                    name: 'leftAlignmentFractionField'
       
  1173                    layout: (LayoutFrame 90 0 14 0 147 0 36 0)
       
  1174                    activeHelpKey: alignHorizontal
       
  1175                    tabable: true
       
  1176                    model: leftAlignmentFraction
       
  1177                    group: inputGroup
       
  1178                    type: numberOrNil
       
  1179                    acceptOnLostFocus: true
       
  1180                    acceptChannel: acceptChannel
       
  1181                    modifiedChannel: modifiedChannel
       
  1182                    acceptOnPointerLeave: true
       
  1183                  )
       
  1184                 (LabelSpec
       
  1185                    label: 'Vertical:'
       
  1186                    name: 'alignVLabel'
       
  1187                    layout: (AlignmentOrigin 88 0 43 0 1 0)
       
  1188                    translateLabel: true
       
  1189                    adjust: right
       
  1190                  )
       
  1191                 (InputFieldSpec
       
  1192                    name: 'topAlignmentFractionField'
       
  1193                    layout: (LayoutFrame 90 0 40 0 147 0 62 0)
       
  1194                    activeHelpKey: alignVertical
       
  1195                    tabable: true
       
  1196                    model: topAlignmentFraction
       
  1197                    group: inputGroup
       
  1198                    type: numberOrNil
       
  1199                    acceptOnLostFocus: true
       
  1200                    acceptChannel: acceptChannel
       
  1201                    modifiedChannel: modifiedChannel
       
  1202                    acceptOnPointerLeave: true
       
  1203                  )
       
  1204                 (DividerSpec
       
  1205                    name: 'separator1'
       
  1206                    layout: (LayoutFrame 204 0 19 0 245 0 22 0)
       
  1207                  )
       
  1208                 (DividerSpec
       
  1209                    name: 'separator2'
       
  1210                    layout: (LayoutFrame 204 0 55 0 245 0 58 0)
       
  1211                  )
       
  1212                 (DividerSpec
       
  1213                    name: 'separator3'
       
  1214                    layout: (LayoutFrame 196 0 28 0 199 0 50 0)
       
  1215                    orientation: vertical
       
  1216                  )
       
  1217                 (DividerSpec
       
  1218                    name: 'separator4'
       
  1219                    layout: (LayoutFrame 250 0 28 0 253 0 50 0)
       
  1220                    orientation: vertical
       
  1221                  )
       
  1222                 (ActionButtonSpec
       
  1223                    name: 'alignTopLeft'
       
  1224                    layout: (LayoutFrame 190 0 14 0 204 0 28 0)
       
  1225                    activeHelpKey: alignTopLeft
       
  1226                    tabable: true
       
  1227                    model: alignTopLeft
       
  1228                  )
       
  1229                 (ActionButtonSpec
       
  1230                    name: 'alignTopCenter'
       
  1231                    layout: (LayoutFrame 217 0 14 0 231 0 28 0)
       
  1232                    activeHelpKey: alignTopCenter
       
  1233                    tabable: true
       
  1234                    model: alignTopCenter
       
  1235                  )
       
  1236                 (ActionButtonSpec
       
  1237                    name: 'alignTopRight'
       
  1238                    layout: (LayoutFrame 245 0 14 0 259 0 28 0)
       
  1239                    activeHelpKey: alignTopRight
       
  1240                    tabable: true
       
  1241                    model: alignTopRight
       
  1242                  )
       
  1243                 (ActionButtonSpec
       
  1244                    name: 'alignLeftCenter'
       
  1245                    layout: (LayoutFrame 190 0 32 0 204 0 46 0)
       
  1246                    activeHelpKey: alignLeftCenter
       
  1247                    tabable: true
       
  1248                    model: alignLeftCenter
       
  1249                  )
       
  1250                 (ActionButtonSpec
       
  1251                    name: 'alignCenter'
       
  1252                    layout: (LayoutFrame 217 0 32 0 231 0 46 0)
       
  1253                    activeHelpKey: alignCenter
       
  1254                    tabable: true
       
  1255                    model: alignCenter
       
  1256                  )
       
  1257                 (ActionButtonSpec
       
  1258                    name: 'alignRightCenter'
       
  1259                    layout: (LayoutFrame 245 0 32 0 259 0 46 0)
       
  1260                    activeHelpKey: alignRightCenter
       
  1261                    tabable: true
       
  1262                    model: alignRightCenter
       
  1263                  )
       
  1264                 (ActionButtonSpec
       
  1265                    name: 'alignBottomLeft'
       
  1266                    layout: (LayoutFrame 190 0 50 0 204 0 64 0)
       
  1267                    activeHelpKey: alignBottomLeft
       
  1268                    tabable: true
       
  1269                    model: alignBottomLeft
       
  1270                  )
       
  1271                 (ActionButtonSpec
       
  1272                    name: 'alignBottomCenter'
       
  1273                    layout: (LayoutFrame 217 0 50 0 231 0 64 0)
       
  1274                    activeHelpKey: alignBottomCenter
       
  1275                    tabable: true
       
  1276                    model: alignBottomCenter
       
  1277                  )
       
  1278                 (ActionButtonSpec
       
  1279                    name: 'alignBottomRight'
       
  1280                    layout: (LayoutFrame 245 0 50 0 259 0 64 0)
       
  1281                    activeHelpKey: alignBottomRight
       
  1282                    tabable: true
       
  1283                    model: alignBottomRight
       
  1284                  )
       
  1285                 )
       
  1286               
       
  1287              )
       
  1288            )
       
  1289           )
       
  1290         
       
  1291        )
       
  1292      )
  1287 ! !
  1293 ! !
  1288 
  1294 
  1289 !UILayoutTool::AlignmentOrigin methodsFor:'accessing'!
  1295 !UILayoutTool::AlignmentOrigin methodsFor:'accessing'!
  1290 
  1296 
  1291 fetch:aView spec:aSpec
  1297 fetch:aView spec:aSpec
  1490     "
  1496     "
  1491 
  1497 
  1492     <resource: #canvas>
  1498     <resource: #canvas>
  1493 
  1499 
  1494     ^ 
  1500     ^ 
  1495      #(FullSpec
  1501     #(FullSpec
  1496         name: windowSpec
  1502        name: windowSpec
  1497         window: 
  1503        window: 
  1498        (WindowSpec
  1504       (WindowSpec
  1499           label: 'UILayoutTool-Extent'
  1505          label: 'UILayoutTool-Extent'
  1500           name: 'UILayoutTool-Extent'
  1506          name: 'UILayoutTool-Extent'
  1501           min: (Point 10 10)
  1507          min: (Point 10 10)
  1502           bounds: (Rectangle 0 0 506 169)
  1508          bounds: (Rectangle 0 0 506 169)
  1503         )
  1509        )
  1504         component: 
  1510        component: 
  1505        (SpecCollection
  1511       (SpecCollection
  1506           collection: (
  1512          collection: (
  1507            (FramedBoxSpec
  1513           (FramedBoxSpec
  1508               label: 'Extent'
  1514              label: 'Extent'
  1509               name: 'FramedBox'
  1515              name: 'FramedBox'
  1510               layout: (LayoutFrame 0 0.0 6 0.0 0 1.0 158 0)
  1516              layout: (LayoutFrame 0 0.0 6 0.0 0 1.0 158 0)
  1511               labelPosition: topLeft
  1517              labelPosition: topLeft
  1512               translateLabel: true
  1518              translateLabel: true
  1513               component: 
  1519              component: 
  1514              (SpecCollection
  1520             (SpecCollection
  1515                 collection: (
  1521                collection: (
  1516                  (LabelSpec
  1522                 (LabelSpec
  1517                     label: 'Width:'
  1523                    label: 'Width:'
  1518                     name: 'labelWidth'
  1524                    name: 'labelWidth'
  1519                     layout: (AlignmentOrigin 89 0 41 0 1 0.5)
  1525                    layout: (AlignmentOrigin 89 0 41 0 1 0.5)
  1520                     translateLabel: true
  1526                    translateLabel: true
  1521                     adjust: right
  1527                    adjust: right
  1522                   )
  1528                  )
  1523                  (InputFieldSpec
  1529                 (InputFieldSpec
  1524                     name: 'fieldLeftOffset'
  1530                    name: 'fieldLeftOffset'
  1525                     layout: (LayoutFrame 90 0 30 0 140 0 52 0)
  1531                    layout: (LayoutFrame 90 0 30 0 140 0 52 0)
  1526                     activeHelpKey: hrzExtent
  1532                    activeHelpKey: hrzExtent
  1527                     enableChannel: notUsingDefaultExtent
  1533                    enableChannel: notUsingDefaultExtent
  1528                     tabable: true
  1534                    tabable: true
  1529                     model: leftOffset
  1535                    model: leftOffset
  1530                     group: inputGroup
  1536                    group: inputGroup
  1531                     type: numberOrNil
  1537                    type: numberOrNil
  1532                     acceptOnLostFocus: true
  1538                    acceptOnLostFocus: true
  1533                     acceptChannel: acceptChannel
  1539                    acceptChannel: acceptChannel
  1534                     modifiedChannel: modifiedChannel
  1540                    modifiedChannel: modifiedChannel
  1535                     acceptOnPointerLeave: false
  1541                    acceptOnPointerLeave: true
  1536                   )
  1542                  )
  1537                  (LabelSpec
  1543                 (LabelSpec
  1538                     label: 'Height:'
  1544                    label: 'Height:'
  1539                     name: 'labelHeight'
  1545                    name: 'labelHeight'
  1540                     layout: (AlignmentOrigin 89 0 66 0 1 0.5)
  1546                    layout: (AlignmentOrigin 89 0 66 0 1 0.5)
  1541                     translateLabel: true
  1547                    translateLabel: true
  1542                     adjust: right
  1548                    adjust: right
  1543                   )
  1549                  )
  1544                  (InputFieldSpec
  1550                 (InputFieldSpec
  1545                     name: 'fieldRightOffset'
  1551                    name: 'fieldRightOffset'
  1546                     layout: (LayoutFrame 90 0 55 0 140 0 77 0)
  1552                    layout: (LayoutFrame 90 0 55 0 140 0 77 0)
  1547                     activeHelpKey: vrtExtent
  1553                    activeHelpKey: vrtExtent
  1548                     enableChannel: notUsingDefaultExtent
  1554                    enableChannel: notUsingDefaultExtent
  1549                     tabable: true
  1555                    tabable: true
  1550                     model: topOffset
  1556                    model: topOffset
  1551                     group: inputGroup
  1557                    group: inputGroup
  1552                     type: numberOrNil
  1558                    type: numberOrNil
  1553                     acceptOnLostFocus: true
  1559                    acceptOnLostFocus: true
  1554                     acceptChannel: acceptChannel
  1560                    acceptChannel: acceptChannel
  1555                     modifiedChannel: modifiedChannel
  1561                    modifiedChannel: modifiedChannel
  1556                     acceptOnPointerLeave: false
  1562                    acceptOnPointerLeave: true
  1557                   )
  1563                  )
  1558                  (CheckBoxSpec
  1564                 (CheckBoxSpec
  1559                     label: 'Preferred'
  1565                    label: 'Preferred'
  1560                     name: 'CheckBox1'
  1566                    name: 'CheckBox1'
  1561                     layout: (LayoutFrame 169 0 30 0 275 0 52 0)
  1567                    layout: (LayoutFrame 169 0 30 0 275 0 52 0)
  1562                     activeHelpKey: usePreferredWidth
  1568                    activeHelpKey: usePreferredWidth
  1563                     model: usePreferredWidth
  1569                    model: usePreferredWidth
  1564                     translateLabel: true
  1570                    translateLabel: true
  1565                   )
  1571                  )
  1566                  (CheckBoxSpec
  1572                 (CheckBoxSpec
  1567                     label: 'Dynamic'
  1573                    label: 'Dynamic'
  1568                     name: 'CheckBox3'
  1574                    name: 'CheckBox3'
  1569                     layout: (LayoutFrame 276 0 30 0 371 0 52 0)
  1575                    layout: (LayoutFrame 276 0 30 0 371 0 52 0)
  1570                     activeHelpKey: useDynamicPreferredWidth
  1576                    activeHelpKey: useDynamicPreferredWidth
  1571                     model: useDynamicPreferredWidth
  1577                    model: useDynamicPreferredWidth
  1572                     translateLabel: true
  1578                    translateLabel: true
  1573                   )
  1579                  )
  1574                  (CheckBoxSpec
  1580                 (CheckBoxSpec
  1575                     label: 'Preferred'
  1581                    label: 'Preferred'
  1576                     name: 'CheckBox2'
  1582                    name: 'CheckBox2'
  1577                     layout: (LayoutFrame 169 0 58 0 275 0 80 0)
  1583                    layout: (LayoutFrame 169 0 58 0 275 0 80 0)
  1578                     activeHelpKey: usePreferredHeight
  1584                    activeHelpKey: usePreferredHeight
  1579                     model: usePreferredHeight
  1585                    model: usePreferredHeight
  1580                     translateLabel: true
  1586                    translateLabel: true
  1581                   )
  1587                  )
  1582                  (CheckBoxSpec
  1588                 (CheckBoxSpec
  1583                     label: 'Dynamic'
  1589                    label: 'Dynamic'
  1584                     name: 'CheckBox4'
  1590                    name: 'CheckBox4'
  1585                     layout: (LayoutFrame 276 0 58 0 372 0 80 0)
  1591                    layout: (LayoutFrame 276 0 58 0 372 0 80 0)
  1586                     activeHelpKey: useDynamicPreferredHeight
  1592                    activeHelpKey: useDynamicPreferredHeight
  1587                     model: useDynamicPreferredHeight
  1593                    model: useDynamicPreferredHeight
  1588                     translateLabel: true
  1594                    translateLabel: true
  1589                   )
  1595                  )
  1590                  (CheckBoxSpec
  1596                 (CheckBoxSpec
  1591                     label: 'Use Widget''s Default Extent'
  1597                    label: 'Use Widget''s Default Extent'
  1592                     name: 'useDefaultExtentCheckBox'
  1598                    name: 'useDefaultExtentCheckBox'
  1593                     layout: (Point 5 84)
  1599                    layout: (Point 5 84)
  1594                     activeHelpKey: useDefaultExtent
  1600                    activeHelpKey: useDefaultExtent
  1595                     enableChannel: defaultExtentEnabled
  1601                    enableChannel: defaultExtentEnabled
  1596                     tabable: true
  1602                    tabable: true
  1597                     model: useDefaultExtent
  1603                    model: useDefaultExtent
  1598                     translateLabel: true
  1604                    translateLabel: true
  1599                   )
  1605                  )
  1600                  )
  1606                 )
  1601                
  1607               
  1602               )
  1608              )
  1603             )
       
  1604            (PopUpListSpec
       
  1605               label: 'Common Extents'
       
  1606               name: 'CommonExtentsPopUpList'
       
  1607               layout: (LayoutFrame 189 0 21 0 314 0 43 0)
       
  1608               tabable: true
       
  1609               menu: listOfCommonExtents
       
  1610               useIndex: true
       
  1611               ignoreReselect: false
       
  1612               stateChangeCallBackSelector: commonExtentSelected:
       
  1613             )
       
  1614            )
  1609            )
  1615          
  1610           (PopUpListSpec
  1616         )
  1611              label: 'Common Extents'
  1617       )
  1612              name: 'CommonExtentsPopUpList'
       
  1613              layout: (LayoutFrame 189 0 21 0 314 0 43 0)
       
  1614              tabable: true
       
  1615              menu: listOfCommonExtents
       
  1616              useIndex: true
       
  1617              ignoreReselect: false
       
  1618              stateChangeCallBackSelector: commonExtentSelected:
       
  1619            )
       
  1620           )
       
  1621         
       
  1622        )
       
  1623      )
  1618 ! !
  1624 ! !
  1619 
  1625 
  1620 !UILayoutTool::Extent methodsFor:'accessing'!
  1626 !UILayoutTool::Extent methodsFor:'accessing'!
  1621 
  1627 
  1622 fetch:aView spec:aSpec
  1628 fetch:aView spec:aSpec
  2221     "
  2227     "
  2222 
  2228 
  2223     <resource: #canvas>
  2229     <resource: #canvas>
  2224 
  2230 
  2225     ^ 
  2231     ^ 
  2226      #(FullSpec
  2232     #(FullSpec
  2227         name: windowSpec
  2233        name: windowSpec
  2228         window: 
  2234        window: 
  2229        (WindowSpec
  2235       (WindowSpec
  2230           label: 'UILayoutTool-LayoutFrame'
  2236          label: 'UILayoutTool-LayoutFrame'
  2231           name: 'UILayoutTool-LayoutFrame'
  2237          name: 'UILayoutTool-LayoutFrame'
  2232           min: (Point 10 10)
  2238          min: (Point 10 10)
  2233           bounds: (Rectangle 0 0 527 393)
  2239          bounds: (Rectangle 0 0 527 393)
  2234         )
  2240        )
  2235         component: 
  2241        component: 
  2236        (SpecCollection
  2242       (SpecCollection
  2237           collection: (
  2243          collection: (
  2238            (UISubSpecification
  2244           (UISubSpecification
  2239               name: 'layoutOriginSpec'
  2245              name: 'layoutOriginSpec'
  2240               layout: (LayoutFrame 1 0.0 6 0 0 1.0 110 0)
  2246              layout: (LayoutFrame 1 0.0 6 0 0 1.0 110 0)
  2241               majorKey: UILayoutTool
  2247              majorKey: UILayoutTool
  2242               minorKey: layoutOriginSpec
  2248              minorKey: layoutOriginSpec
  2243             )
       
  2244            (FramedBoxSpec
       
  2245               label: 'Corner'
       
  2246               name: 'FramedBox'
       
  2247               layout: (LayoutFrame 1 0.0 113 0 0 1.0 266 0)
       
  2248               labelPosition: topLeft
       
  2249               translateLabel: true
       
  2250               component: 
       
  2251              (SpecCollection
       
  2252                 collection: (
       
  2253                  (LabelSpec
       
  2254                     label: 'Right:'
       
  2255                     name: 'labelRight'
       
  2256                     layout: (AlignmentOrigin 68 0 16 0 1 0)
       
  2257                     translateLabel: true
       
  2258                   )
       
  2259                  (ActionButtonSpec
       
  2260                     label: 'imageFractX'
       
  2261                     name: 'actionRelativeRight'
       
  2262                     layout: (LayoutFrame 78 0 14 0 100 0 36 0)
       
  2263                     activeHelpKey: makeRightRelative
       
  2264                     hasCharacterOrientedLabel: false
       
  2265                     tabable: true
       
  2266                     model: relativeRight
       
  2267                   )
       
  2268                  (InputFieldSpec
       
  2269                     name: 'fieldRightFraction'
       
  2270                     layout: (LayoutFrame 103 0 14 0 153 0 36 0)
       
  2271                     activeHelpKey: rightRelative
       
  2272                     tabable: true
       
  2273                     model: rightFraction
       
  2274                     group: inputGroup
       
  2275                     type: numberOrNil
       
  2276                     acceptOnLostFocus: true
       
  2277                     acceptChannel: acceptChannel
       
  2278                     modifiedChannel: modifiedChannel
       
  2279                     acceptOnPointerLeave: false
       
  2280                   )
       
  2281                  (ActionButtonSpec
       
  2282                     label: 'imageAbsX'
       
  2283                     name: 'actionAbsoluteRight'
       
  2284                     layout: (LayoutFrame 178 0 14 0 200 0 36 0)
       
  2285                     activeHelpKey: makeRightAbsolute
       
  2286                     hasCharacterOrientedLabel: false
       
  2287                     tabable: true
       
  2288                     model: absoluteRight
       
  2289                   )
       
  2290                  (InputFieldSpec
       
  2291                     name: 'fieldRightOffset'
       
  2292                     layout: (LayoutFrame 203 0 14 0 253 0 36 0)
       
  2293                     activeHelpKey: rightAbsolute
       
  2294                     tabable: true
       
  2295                     model: rightOffset
       
  2296                     group: inputGroup
       
  2297                     type: numberOrNil
       
  2298                     acceptOnLostFocus: true
       
  2299                     acceptChannel: acceptChannel
       
  2300                     modifiedChannel: modifiedChannel
       
  2301                     acceptOnPointerLeave: false
       
  2302                   )
       
  2303                  (ActionButtonSpec
       
  2304                     label: 'imageAbsXFromRight'
       
  2305                     name: 'actionRightRelativeRight'
       
  2306                     layout: (LayoutFrame 257 0 14 0 279 0 36 0)
       
  2307                     activeHelpKey: makeRightRelativeFromRight
       
  2308                     hasCharacterOrientedLabel: false
       
  2309                     tabable: true
       
  2310                     model: rightRelativeRight
       
  2311                   )
       
  2312                  (LabelSpec
       
  2313                     label: 'Bottom:'
       
  2314                     name: 'labelBottom'
       
  2315                     layout: (AlignmentOrigin 68 0 44 0 1 0)
       
  2316                     translateLabel: true
       
  2317                   )
       
  2318                  (ActionButtonSpec
       
  2319                     label: 'imageFractY'
       
  2320                     name: 'actionRelativeBottom'
       
  2321                     layout: (LayoutFrame 78 0 42 0 100 0 64 0)
       
  2322                     activeHelpKey: makeBottomRelative
       
  2323                     hasCharacterOrientedLabel: false
       
  2324                     tabable: true
       
  2325                     model: relativeBottom
       
  2326                   )
       
  2327                  (InputFieldSpec
       
  2328                     name: 'fieldBottomFraction'
       
  2329                     layout: (LayoutFrame 103 0 42 0 153 0 64 0)
       
  2330                     activeHelpKey: bottomRelative
       
  2331                     tabable: true
       
  2332                     model: bottomFraction
       
  2333                     group: inputGroup
       
  2334                     type: numberOrNil
       
  2335                     acceptOnLostFocus: true
       
  2336                     acceptChannel: acceptChannel
       
  2337                     modifiedChannel: modifiedChannel
       
  2338                     acceptOnPointerLeave: false
       
  2339                   )
       
  2340                  (ActionButtonSpec
       
  2341                     label: 'imageAbsY'
       
  2342                     name: 'actionAbsoluteBottom'
       
  2343                     layout: (LayoutFrame 178 0 42 0 200 0 64 0)
       
  2344                     activeHelpKey: makeBottomAbsolute
       
  2345                     hasCharacterOrientedLabel: false
       
  2346                     tabable: true
       
  2347                     model: absoluteBottom
       
  2348                   )
       
  2349                  (InputFieldSpec
       
  2350                     name: 'fieldBottomOffset'
       
  2351                     layout: (LayoutFrame 203 0 42 0 253 0 64 0)
       
  2352                     activeHelpKey: bottomAbsolute
       
  2353                     tabable: true
       
  2354                     model: bottomOffset
       
  2355                     group: inputGroup
       
  2356                     type: numberOrNil
       
  2357                     acceptOnLostFocus: true
       
  2358                     acceptChannel: acceptChannel
       
  2359                     modifiedChannel: modifiedChannel
       
  2360                     acceptOnPointerLeave: false
       
  2361                   )
       
  2362                  (ActionButtonSpec
       
  2363                     label: 'imageAbsYFromBottom'
       
  2364                     name: 'actionBottomRelativeBottom'
       
  2365                     layout: (LayoutFrame 257 0 42 0 279 0 64 0)
       
  2366                     activeHelpKey: makeBottomRelativeFromBottom
       
  2367                     hasCharacterOrientedLabel: false
       
  2368                     tabable: true
       
  2369                     model: bottomRelativeBottom
       
  2370                   )
       
  2371                  (CheckBoxSpec
       
  2372                     label: 'Preferred'
       
  2373                     name: 'CheckBox1'
       
  2374                     layout: (LayoutFrame 287 0 14 0 393 0 36 0)
       
  2375                     activeHelpKey: usePreferredWidth
       
  2376                     model: usePreferredWidth
       
  2377                     translateLabel: true
       
  2378                   )
       
  2379                  (CheckBoxSpec
       
  2380                     label: 'Preferred'
       
  2381                     name: 'CheckBox2'
       
  2382                     layout: (LayoutFrame 287 0 42 0 393 0 64 0)
       
  2383                     activeHelpKey: usePreferredHeight
       
  2384                     model: usePreferredHeight
       
  2385                     translateLabel: true
       
  2386                   )
       
  2387                  (CheckBoxSpec
       
  2388                     label: 'Dynamic'
       
  2389                     name: 'CheckBox3'
       
  2390                     layout: (LayoutFrame 394 0 14 0 481 0 36 0)
       
  2391                     activeHelpKey: useDynamicPreferredWidth
       
  2392                     model: useDynamicPreferredWidth
       
  2393                     translateLabel: true
       
  2394                   )
       
  2395                  (CheckBoxSpec
       
  2396                     label: 'Dynamic'
       
  2397                     name: 'CheckBox4'
       
  2398                     layout: (LayoutFrame 394 0 42 0 481 0 64 0)
       
  2399                     activeHelpKey: useDynamicPreferredWidth
       
  2400                     model: useDynamicPreferredHeight
       
  2401                     translateLabel: true
       
  2402                   )
       
  2403                  (CheckBoxSpec
       
  2404                     label: 'OSX-ResizeH'
       
  2405                     name: 'OSXResizeH Checkbox'
       
  2406                     layout: (LayoutFrame 287 0 70 0 480 0 92 0)
       
  2407                     activeHelpKey: keepSpaceForOSXResizeHandleH
       
  2408                     model: keepSpaceForOSXResizeHandleH
       
  2409                     translateLabel: true
       
  2410                   )
       
  2411                  (CheckBoxSpec
       
  2412                     label: 'OSX-ResizeV'
       
  2413                     name: 'OSXResizeV Checkbox'
       
  2414                     layout: (LayoutFrame 287 0 98 0 480 0 120 0)
       
  2415                     activeHelpKey: keepSpaceForOSXResizeHandleV
       
  2416                     model: keepSpaceForOSXResizeHandleV
       
  2417                     translateLabel: true
       
  2418                   )
       
  2419                  )
       
  2420                
       
  2421               )
       
  2422             )
       
  2423            (MenuPanelSpec
       
  2424               name: 'commonLayoutToolBar1'
       
  2425               layout: (LayoutFrame 6 0.0 267 0 -4 1.0 299 0)
       
  2426               level: 0
       
  2427               tabable: true
       
  2428               menu: commonFrameLayoutsMenu1
       
  2429               textDefault: true
       
  2430             )
       
  2431            (MenuPanelSpec
       
  2432               name: 'commonLayoutToolBar2'
       
  2433               layout: (LayoutFrame 6 0.0 299 0 -4 1.0 331 0)
       
  2434               level: 0
       
  2435               tabable: true
       
  2436               menu: commonFrameLayoutsMenu2
       
  2437               textDefault: true
       
  2438             )
       
  2439            (MenuPanelSpec
       
  2440               name: 'commonLayoutToolBar3'
       
  2441               layout: (LayoutFrame 6 0.0 323 0 -4 1.0 355 0)
       
  2442               level: 0
       
  2443               tabable: true
       
  2444               menu: commonFrameLayoutsMenu3
       
  2445               textDefault: true
       
  2446             )
       
  2447            )
  2249            )
  2448          
  2250           (FramedBoxSpec
  2449         )
  2251              label: 'Corner'
  2450       )
  2252              name: 'FramedBox'
       
  2253              layout: (LayoutFrame 1 0.0 113 0 0 1.0 266 0)
       
  2254              labelPosition: topLeft
       
  2255              translateLabel: true
       
  2256              component: 
       
  2257             (SpecCollection
       
  2258                collection: (
       
  2259                 (LabelSpec
       
  2260                    label: 'Right:'
       
  2261                    name: 'labelRight'
       
  2262                    layout: (AlignmentOrigin 68 0 16 0 1 0)
       
  2263                    translateLabel: true
       
  2264                  )
       
  2265                 (ActionButtonSpec
       
  2266                    label: 'imageFractX'
       
  2267                    name: 'actionRelativeRight'
       
  2268                    layout: (LayoutFrame 78 0 14 0 100 0 36 0)
       
  2269                    activeHelpKey: makeRightRelative
       
  2270                    hasCharacterOrientedLabel: false
       
  2271                    tabable: true
       
  2272                    model: relativeRight
       
  2273                  )
       
  2274                 (InputFieldSpec
       
  2275                    name: 'fieldRightFraction'
       
  2276                    layout: (LayoutFrame 103 0 14 0 153 0 36 0)
       
  2277                    activeHelpKey: rightRelative
       
  2278                    tabable: true
       
  2279                    model: rightFraction
       
  2280                    group: inputGroup
       
  2281                    type: numberOrNil
       
  2282                    acceptOnLostFocus: true
       
  2283                    acceptChannel: acceptChannel
       
  2284                    modifiedChannel: modifiedChannel
       
  2285                    acceptOnPointerLeave: true
       
  2286                  )
       
  2287                 (ActionButtonSpec
       
  2288                    label: 'imageAbsX'
       
  2289                    name: 'actionAbsoluteRight'
       
  2290                    layout: (LayoutFrame 178 0 14 0 200 0 36 0)
       
  2291                    activeHelpKey: makeRightAbsolute
       
  2292                    hasCharacterOrientedLabel: false
       
  2293                    tabable: true
       
  2294                    model: absoluteRight
       
  2295                  )
       
  2296                 (InputFieldSpec
       
  2297                    name: 'fieldRightOffset'
       
  2298                    layout: (LayoutFrame 203 0 14 0 253 0 36 0)
       
  2299                    activeHelpKey: rightAbsolute
       
  2300                    tabable: true
       
  2301                    model: rightOffset
       
  2302                    group: inputGroup
       
  2303                    type: numberOrNil
       
  2304                    acceptOnLostFocus: true
       
  2305                    acceptChannel: acceptChannel
       
  2306                    modifiedChannel: modifiedChannel
       
  2307                    acceptOnPointerLeave: true
       
  2308                  )
       
  2309                 (ActionButtonSpec
       
  2310                    label: 'imageAbsXFromRight'
       
  2311                    name: 'actionRightRelativeRight'
       
  2312                    layout: (LayoutFrame 257 0 14 0 279 0 36 0)
       
  2313                    activeHelpKey: makeRightRelativeFromRight
       
  2314                    hasCharacterOrientedLabel: false
       
  2315                    tabable: true
       
  2316                    model: rightRelativeRight
       
  2317                  )
       
  2318                 (LabelSpec
       
  2319                    label: 'Bottom:'
       
  2320                    name: 'labelBottom'
       
  2321                    layout: (AlignmentOrigin 68 0 44 0 1 0)
       
  2322                    translateLabel: true
       
  2323                  )
       
  2324                 (ActionButtonSpec
       
  2325                    label: 'imageFractY'
       
  2326                    name: 'actionRelativeBottom'
       
  2327                    layout: (LayoutFrame 78 0 42 0 100 0 64 0)
       
  2328                    activeHelpKey: makeBottomRelative
       
  2329                    hasCharacterOrientedLabel: false
       
  2330                    tabable: true
       
  2331                    model: relativeBottom
       
  2332                  )
       
  2333                 (InputFieldSpec
       
  2334                    name: 'fieldBottomFraction'
       
  2335                    layout: (LayoutFrame 103 0 42 0 153 0 64 0)
       
  2336                    activeHelpKey: bottomRelative
       
  2337                    tabable: true
       
  2338                    model: bottomFraction
       
  2339                    group: inputGroup
       
  2340                    type: numberOrNil
       
  2341                    acceptOnLostFocus: true
       
  2342                    acceptChannel: acceptChannel
       
  2343                    modifiedChannel: modifiedChannel
       
  2344                    acceptOnPointerLeave: true
       
  2345                  )
       
  2346                 (ActionButtonSpec
       
  2347                    label: 'imageAbsY'
       
  2348                    name: 'actionAbsoluteBottom'
       
  2349                    layout: (LayoutFrame 178 0 42 0 200 0 64 0)
       
  2350                    activeHelpKey: makeBottomAbsolute
       
  2351                    hasCharacterOrientedLabel: false
       
  2352                    tabable: true
       
  2353                    model: absoluteBottom
       
  2354                  )
       
  2355                 (InputFieldSpec
       
  2356                    name: 'fieldBottomOffset'
       
  2357                    layout: (LayoutFrame 203 0 42 0 253 0 64 0)
       
  2358                    activeHelpKey: bottomAbsolute
       
  2359                    tabable: true
       
  2360                    model: bottomOffset
       
  2361                    group: inputGroup
       
  2362                    type: numberOrNil
       
  2363                    acceptOnLostFocus: true
       
  2364                    acceptChannel: acceptChannel
       
  2365                    modifiedChannel: modifiedChannel
       
  2366                    acceptOnPointerLeave: true
       
  2367                  )
       
  2368                 (ActionButtonSpec
       
  2369                    label: 'imageAbsYFromBottom'
       
  2370                    name: 'actionBottomRelativeBottom'
       
  2371                    layout: (LayoutFrame 257 0 42 0 279 0 64 0)
       
  2372                    activeHelpKey: makeBottomRelativeFromBottom
       
  2373                    hasCharacterOrientedLabel: false
       
  2374                    tabable: true
       
  2375                    model: bottomRelativeBottom
       
  2376                  )
       
  2377                 (CheckBoxSpec
       
  2378                    label: 'Preferred'
       
  2379                    name: 'CheckBox1'
       
  2380                    layout: (LayoutFrame 287 0 14 0 393 0 36 0)
       
  2381                    activeHelpKey: usePreferredWidth
       
  2382                    model: usePreferredWidth
       
  2383                    translateLabel: true
       
  2384                  )
       
  2385                 (CheckBoxSpec
       
  2386                    label: 'Preferred'
       
  2387                    name: 'CheckBox2'
       
  2388                    layout: (LayoutFrame 287 0 42 0 393 0 64 0)
       
  2389                    activeHelpKey: usePreferredHeight
       
  2390                    model: usePreferredHeight
       
  2391                    translateLabel: true
       
  2392                  )
       
  2393                 (CheckBoxSpec
       
  2394                    label: 'Dynamic'
       
  2395                    name: 'CheckBox3'
       
  2396                    layout: (LayoutFrame 394 0 14 0 481 0 36 0)
       
  2397                    activeHelpKey: useDynamicPreferredWidth
       
  2398                    model: useDynamicPreferredWidth
       
  2399                    translateLabel: true
       
  2400                  )
       
  2401                 (CheckBoxSpec
       
  2402                    label: 'Dynamic'
       
  2403                    name: 'CheckBox4'
       
  2404                    layout: (LayoutFrame 394 0 42 0 481 0 64 0)
       
  2405                    activeHelpKey: useDynamicPreferredWidth
       
  2406                    model: useDynamicPreferredHeight
       
  2407                    translateLabel: true
       
  2408                  )
       
  2409                 (CheckBoxSpec
       
  2410                    label: 'OSX-ResizeH'
       
  2411                    name: 'OSXResizeH Checkbox'
       
  2412                    layout: (LayoutFrame 287 0 70 0 480 0 92 0)
       
  2413                    activeHelpKey: keepSpaceForOSXResizeHandleH
       
  2414                    model: keepSpaceForOSXResizeHandleH
       
  2415                    translateLabel: true
       
  2416                  )
       
  2417                 (CheckBoxSpec
       
  2418                    label: 'OSX-ResizeV'
       
  2419                    name: 'OSXResizeV Checkbox'
       
  2420                    layout: (LayoutFrame 287 0 98 0 480 0 120 0)
       
  2421                    activeHelpKey: keepSpaceForOSXResizeHandleV
       
  2422                    model: keepSpaceForOSXResizeHandleV
       
  2423                    translateLabel: true
       
  2424                  )
       
  2425                 )
       
  2426               
       
  2427              )
       
  2428            )
       
  2429           (MenuPanelSpec
       
  2430              name: 'commonLayoutToolBar1'
       
  2431              layout: (LayoutFrame 6 0.0 267 0 -4 1.0 299 0)
       
  2432              level: 0
       
  2433              tabable: true
       
  2434              menu: commonFrameLayoutsMenu1
       
  2435              textDefault: true
       
  2436            )
       
  2437           (MenuPanelSpec
       
  2438              name: 'commonLayoutToolBar2'
       
  2439              layout: (LayoutFrame 6 0.0 299 0 -4 1.0 331 0)
       
  2440              level: 0
       
  2441              tabable: true
       
  2442              menu: commonFrameLayoutsMenu2
       
  2443              textDefault: true
       
  2444            )
       
  2445           (MenuPanelSpec
       
  2446              name: 'commonLayoutToolBar3'
       
  2447              layout: (LayoutFrame 6 0.0 323 0 -4 1.0 355 0)
       
  2448              level: 0
       
  2449              tabable: true
       
  2450              menu: commonFrameLayoutsMenu3
       
  2451              textDefault: true
       
  2452            )
       
  2453           )
       
  2454         
       
  2455        )
       
  2456      )
  2451 ! !
  2457 ! !
  2452 
  2458 
  2453 !UILayoutTool::LayoutFrame class methodsFor:'menu specs'!
  2459 !UILayoutTool::LayoutFrame class methodsFor:'menu specs'!
  2454 
  2460 
  2455 commonFrameLayoutsMenu1
  2461 commonFrameLayoutsMenu1
  3069     "
  3075     "
  3070 
  3076 
  3071     <resource: #canvas>
  3077     <resource: #canvas>
  3072 
  3078 
  3073     ^ 
  3079     ^ 
  3074      #(FullSpec
  3080     #(FullSpec
  3075         name: windowSpec
  3081        name: windowSpec
  3076         window: 
  3082        window: 
  3077        (WindowSpec
  3083       (WindowSpec
  3078           label: 'UILayoutTool-Rectangle'
  3084          label: 'UILayoutTool-Rectangle'
  3079           name: 'UILayoutTool-Rectangle'
  3085          name: 'UILayoutTool-Rectangle'
  3080           min: (Point 10 10)
  3086          min: (Point 10 10)
  3081           bounds: (Rectangle 14 46 356 245)
  3087          bounds: (Rectangle 0 0 342 199)
  3082         )
  3088        )
  3083         component: 
  3089        component: 
  3084        (SpecCollection
  3090       (SpecCollection
  3085           collection: (
  3091          collection: (
  3086            (UISubSpecification
  3092           (UISubSpecification
  3087               name: 'subSpecification'
  3093              name: 'subSpecification'
  3088               layout: (LayoutFrame 1 0.0 6 0 0 1.0 96 0)
  3094              layout: (LayoutFrame 1 0.0 6 0 0 1.0 96 0)
  3089               majorKey: UILayoutTool
  3095              majorKey: UILayoutTool
  3090               minorKey: layoutPointSpec
  3096              minorKey: layoutPointSpec
  3091             )
       
  3092            (FramedBoxSpec
       
  3093               label: 'Corner'
       
  3094               name: 'FramedBox'
       
  3095               layout: (LayoutFrame 1 0.0 99 0 0 1.0 194 0)
       
  3096               labelPosition: topLeft
       
  3097                     translateLabel: true
       
  3098               component: 
       
  3099              (SpecCollection
       
  3100                 collection: (
       
  3101                  (LabelSpec
       
  3102                     label: 'Right:'
       
  3103                     name: 'labelCornerY'
       
  3104                     layout: (AlignmentOrigin 83 0 16 0 1 0)
       
  3105                     adjust: left
       
  3106                     translateLabel: true
       
  3107                   )
       
  3108                  (InputFieldSpec
       
  3109                     name: 'fieldCornerX'
       
  3110                     layout: (LayoutFrame 85 0 13 0 135 0 35 0)
       
  3111                     activeHelpKey: cornerX
       
  3112                     tabable: true
       
  3113                     model: rightOffset
       
  3114                     group: inputGroup
       
  3115                     type: numberOrNil
       
  3116                     acceptOnLostFocus: true
       
  3117                     acceptChannel: acceptChannel
       
  3118                     modifiedChannel: modifiedChannel
       
  3119                     acceptOnPointerLeave: false
       
  3120                   )
       
  3121                  (LabelSpec
       
  3122                     label: 'Bottom:'
       
  3123                     name: 'labelCornerX'
       
  3124                     layout: (AlignmentOrigin 83 0 41 0 1 0)
       
  3125                     adjust: left
       
  3126                     translateLabel: true
       
  3127                   )
       
  3128                  (InputFieldSpec
       
  3129                     name: 'fieldCornerY'
       
  3130                     layout: (LayoutFrame 85 0 38 0 135 0 60 0)
       
  3131                     activeHelpKey: cornerY
       
  3132                     tabable: true
       
  3133                     model: bottomOffset
       
  3134                     group: inputGroup
       
  3135                     type: numberOrNil
       
  3136                     acceptOnLostFocus: true
       
  3137                     acceptChannel: acceptChannel
       
  3138                     modifiedChannel: modifiedChannel
       
  3139                     acceptOnPointerLeave: false
       
  3140                   )
       
  3141                  )
       
  3142                
       
  3143               )
       
  3144             )
       
  3145            )
  3097            )
  3146          
  3098           (FramedBoxSpec
  3147         )
  3099              label: 'Corner'
  3148       )
  3100              name: 'FramedBox'
       
  3101              layout: (LayoutFrame 1 0.0 99 0 0 1.0 194 0)
       
  3102              labelPosition: topLeft
       
  3103              translateLabel: true
       
  3104              component: 
       
  3105             (SpecCollection
       
  3106                collection: (
       
  3107                 (LabelSpec
       
  3108                    label: 'Right:'
       
  3109                    name: 'labelCornerY'
       
  3110                    layout: (AlignmentOrigin 83 0 16 0 1 0)
       
  3111                    translateLabel: true
       
  3112                    adjust: left
       
  3113                  )
       
  3114                 (InputFieldSpec
       
  3115                    name: 'fieldCornerX'
       
  3116                    layout: (LayoutFrame 85 0 13 0 135 0 35 0)
       
  3117                    activeHelpKey: cornerX
       
  3118                    tabable: true
       
  3119                    model: rightOffset
       
  3120                    group: inputGroup
       
  3121                    type: numberOrNil
       
  3122                    acceptOnLostFocus: true
       
  3123                    acceptChannel: acceptChannel
       
  3124                    modifiedChannel: modifiedChannel
       
  3125                    acceptOnPointerLeave: true
       
  3126                  )
       
  3127                 (LabelSpec
       
  3128                    label: 'Bottom:'
       
  3129                    name: 'labelCornerX'
       
  3130                    layout: (AlignmentOrigin 83 0 41 0 1 0)
       
  3131                    translateLabel: true
       
  3132                    adjust: left
       
  3133                  )
       
  3134                 (InputFieldSpec
       
  3135                    name: 'fieldCornerY'
       
  3136                    layout: (LayoutFrame 85 0 38 0 135 0 60 0)
       
  3137                    activeHelpKey: cornerY
       
  3138                    tabable: true
       
  3139                    model: bottomOffset
       
  3140                    group: inputGroup
       
  3141                    type: numberOrNil
       
  3142                    acceptOnLostFocus: true
       
  3143                    acceptChannel: acceptChannel
       
  3144                    modifiedChannel: modifiedChannel
       
  3145                    acceptOnPointerLeave: true
       
  3146                  )
       
  3147                 )
       
  3148               
       
  3149              )
       
  3150            )
       
  3151           )
       
  3152         
       
  3153        )
       
  3154      )
  3149 ! !
  3155 ! !
  3150 
  3156 
  3151 !UILayoutTool::Rectangle methodsFor:'accessing'!
  3157 !UILayoutTool::Rectangle methodsFor:'accessing'!
  3152 
  3158 
  3153 fetch:aView spec:aSpec
  3159 fetch:aView spec:aSpec