UILayoutTool.st
author Claus Gittinger <cg@exept.de>
Tue, 14 May 2019 09:46:21 +0200
changeset 3663 9d49ecf8661a
parent 3662 b958f57e0cfd
permissions -rw-r--r--
#UI_ENHANCEMENT by cg
class: TabListEditor class
changed:
#canvasSpec
#menu
#windowSpec
ca@163
     1
"
ca@163
     2
 COPYRIGHT (c) 1995 by eXept Software AG
ca@163
     3
              All Rights Reserved
ca@163
     4
ca@163
     5
 This software is furnished under a license and may be used
ca@163
     6
 only in accordance with the terms of that license and with the
ca@163
     7
 inclusion of the above copyright notice.   This software may not
ca@163
     8
 be provided or otherwise made available to, or used by, any
ca@163
     9
 other person.  No title to or ownership of the software is
ca@163
    10
 hereby transferred.
ca@163
    11
"
cg@1409
    12
"{ Package: 'stx:libtool2' }"
cg@1409
    13
cg@3176
    14
"{ NameSpace: Smalltalk }"
cg@3176
    15
ca@163
    16
ApplicationModel subclass:#UILayoutTool
ca@1305
    17
	instanceVariableNames:'modifiedHolder aspects selection currentTool layoutView tabList
ca@1305
    18
		layoutSpec toolsDictionary'
ca@163
    19
	classVariableNames:''
ca@163
    20
	poolDictionaries:''
ca@163
    21
	category:'Interface-UIPainter'
ca@163
    22
!
ca@163
    23
cg@1343
    24
ApplicationModel subclass:#AnyLayout
cg@1339
    25
	instanceVariableNames:''
cg@1339
    26
	classVariableNames:''
cg@1339
    27
	poolDictionaries:''
cg@1339
    28
	privateIn:UILayoutTool
cg@1339
    29
!
cg@1339
    30
ca@1447
    31
UILayoutTool::AnyLayout subclass:#AlignmentOrigin
ca@1447
    32
	instanceVariableNames:''
ca@1447
    33
	classVariableNames:''
ca@1447
    34
	poolDictionaries:''
ca@1447
    35
	privateIn:UILayoutTool
ca@1447
    36
!
ca@1447
    37
ca@1447
    38
UILayoutTool::AnyLayout subclass:#Extent
ca@1447
    39
	instanceVariableNames:''
ca@1447
    40
	classVariableNames:''
ca@1447
    41
	poolDictionaries:''
ca@1447
    42
	privateIn:UILayoutTool
ca@1447
    43
!
ca@1447
    44
cg@1409
    45
UILayoutTool::AnyLayout subclass:#LayoutFrame
cg@1409
    46
	instanceVariableNames:''
werner@1826
    47
	classVariableNames:'DefaultFixPartHeight'
cg@1409
    48
	poolDictionaries:''
cg@1409
    49
	privateIn:UILayoutTool
cg@1409
    50
!
cg@1409
    51
ca@1447
    52
UILayoutTool::AnyLayout subclass:#LayoutOrigin
ca@1334
    53
	instanceVariableNames:''
ca@1334
    54
	classVariableNames:''
ca@1334
    55
	poolDictionaries:''
ca@1334
    56
	privateIn:UILayoutTool
ca@1334
    57
!
ca@1334
    58
cg@1343
    59
UILayoutTool::AnyLayout subclass:#Point
ca@1304
    60
	instanceVariableNames:''
ca@1304
    61
	classVariableNames:''
ca@1304
    62
	poolDictionaries:''
ca@1304
    63
	privateIn:UILayoutTool
ca@1304
    64
!
ca@1304
    65
cg@1343
    66
UILayoutTool::AnyLayout subclass:#Rectangle
cg@1343
    67
	instanceVariableNames:''
cg@1343
    68
	classVariableNames:''
cg@1343
    69
	poolDictionaries:''
cg@1343
    70
	privateIn:UILayoutTool
cg@1343
    71
!
cg@1343
    72
ca@163
    73
!UILayoutTool class methodsFor:'documentation'!
ca@163
    74
ca@163
    75
copyright
ca@163
    76
"
ca@163
    77
 COPYRIGHT (c) 1995 by eXept Software AG
ca@163
    78
              All Rights Reserved
ca@163
    79
ca@163
    80
 This software is furnished under a license and may be used
ca@163
    81
 only in accordance with the terms of that license and with the
ca@163
    82
 inclusion of the above copyright notice.   This software may not
ca@163
    83
 be provided or otherwise made available to, or used by, any
ca@163
    84
 other person.  No title to or ownership of the software is
ca@163
    85
 hereby transferred.
ca@163
    86
"
ca@163
    87
ca@163
    88
ca@163
    89
ca@163
    90
!
ca@163
    91
ca@163
    92
documentation
ca@163
    93
"
ca@163
    94
    used by the UIPainter to manipulate the layout of the selected component
ca@163
    95
ca@163
    96
    [author:]
ca@163
    97
        Claus Atzkern
ca@163
    98
ca@163
    99
    [see also:]
ca@163
   100
        UIPainter
ca@163
   101
        UIHelpTool
ca@163
   102
        UISpecificationTool
ca@163
   103
"
ca@163
   104
ca@163
   105
ca@163
   106
! !
ca@163
   107
ca@163
   108
!UILayoutTool class methodsFor:'constants'!
ca@163
   109
ca@163
   110
label
ca@163
   111
    ^ 'Layout'
ca@163
   112
! !
ca@163
   113
ca@184
   114
!UILayoutTool class methodsFor:'help specs'!
ca@184
   115
ca@184
   116
helpSpec
tz@741
   117
    "This resource specification was automatically generated
tz@741
   118
     by the UIHelpTool of ST/X."
tz@741
   119
tz@741
   120
    "Do not manually edit this!! If it is corrupted,
tz@741
   121
     the UIHelpTool may not be able to read the specification."
ca@293
   122
ca@184
   123
    "
tz@741
   124
     UIHelpTool openOnClass:UILayoutTool    
ca@293
   125
    "
ca@293
   126
tz@741
   127
    <resource: #help>
tz@741
   128
tz@741
   129
    ^super helpSpec addPairsFrom:#(
tz@741
   130
tz@741
   131
#cornerX
tz@741
   132
'Absolute corner x of the selected widget.'
tz@741
   133
tz@741
   134
#cornerY
tz@741
   135
'Absolute corner y of the selected widget.'
tz@741
   136
tz@741
   137
#layoutTool
tz@741
   138
'Tool to set the layout of the selected widget.'
ca@184
   139
ca@184
   140
#leftAbsolute
tz@714
   141
'Offset of the left edge; positive is to the right, negative to the left.'
ca@184
   142
tz@741
   143
#leftRelative
tz@741
   144
'Relative origin x of the selected widget.'
ca@201
   145
ca@201
   146
#makeLeftAbsolute
cg@1339
   147
'Compute pure-absolute x'
ca@201
   148
tz@741
   149
#makeLeftRelative
cg@1955
   150
'Compute pure-fractional x.'
cg@1339
   151
cg@1339
   152
#makeLeftRelativeFromRight
cg@1339
   153
'Compute fraction+offset for x relative to containers right.'
tz@741
   154
tz@741
   155
#makeTopAbsolute
cg@1339
   156
'Compute pure-absolute y.'
ca@184
   157
ca@201
   158
#makeTopRelative
cg@1955
   159
'Compute pure-fractional y.'
cg@1339
   160
cg@1339
   161
#makeTopRelativeFromBottom
cg@1339
   162
'Compute fraction+offset for y relative to containers bottom.'
ca@201
   163
tz@741
   164
#originX
tz@741
   165
'Absolute origin x of the selected widget.'
ca@184
   166
tz@741
   167
#originY
tz@741
   168
'Absolute origin y of the selected widget.'
tz@741
   169
tz@741
   170
#topAbsolute
tz@741
   171
'Offset of the top edge; positive is to the bottom, negative to the top.'
ca@184
   172
ca@201
   173
#topRelative
tz@714
   174
'Relative origin y of the selected widget.'
ca@184
   175
ca@184
   176
)
ca@184
   177
! !
ca@184
   178
ca@163
   179
!UILayoutTool class methodsFor:'interface specs'!
ca@163
   180
ca@184
   181
layoutOriginSpec
tz@741
   182
    "This resource specification was automatically generated
tz@741
   183
     by the UIPainter of ST/X."
ca@184
   184
tz@741
   185
    "Do not manually edit this!! If it is corrupted,
tz@741
   186
     the UIPainter may not be able to read the specification."
ca@184
   187
ca@184
   188
    "
cg@259
   189
     UIPainter new openOnClass:UILayoutTool andSelector:#layoutOriginSpec
cg@259
   190
     UILayoutTool new openInterface:#layoutOriginSpec
ca@184
   191
    "
ca@184
   192
ca@184
   193
    <resource: #canvas>
ca@184
   194
ca@1304
   195
    ^ 
cg@3052
   196
    #(FullSpec
cg@3052
   197
       name: layoutOriginSpec
cg@3052
   198
       window: 
cg@3052
   199
      (WindowSpec
cg@3052
   200
         label: 'UILayoutTool'
cg@3052
   201
         name: 'UILayoutTool'
cg@3052
   202
         min: (Point 10 10)
cg@3052
   203
         bounds: (Rectangle 0 0 345 107)
cg@3052
   204
       )
cg@3052
   205
       component: 
cg@3052
   206
      (SpecCollection
cg@3052
   207
         collection: (
cg@3052
   208
          (FramedBoxSpec
cg@3052
   209
             label: 'Origin'
cg@3052
   210
             name: 'FramedBox'
cg@3052
   211
             layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 108 0)
cg@3052
   212
             labelPosition: topLeft
cg@3052
   213
             translateLabel: true
cg@3052
   214
             component: 
cg@3052
   215
            (SpecCollection
cg@3052
   216
               collection: (
cg@3052
   217
                (LabelSpec
cg@3052
   218
                   label: 'Relative:'
cg@3052
   219
                   name: 'labelRelative'
cg@3240
   220
                   layout: (Point 103 3)
cg@3052
   221
                   translateLabel: true
ca@1304
   222
                 )
cg@3052
   223
                (LabelSpec
cg@3052
   224
                   label: 'Offset:'
cg@3052
   225
                   name: 'labelAbsolute'
cg@3240
   226
                   layout: (Point 203 3)
cg@3052
   227
                   translateLabel: true
cg@3052
   228
                 )
cg@3052
   229
                (LabelSpec
cg@3052
   230
                   label: 'Left:'
cg@3052
   231
                   name: 'labelLeft'
cg@3240
   232
                   layout: (AlignmentOrigin 68 0 24 0 1 0)
cg@3052
   233
                   translateLabel: true
cg@3052
   234
                 )
cg@3052
   235
                (ActionButtonSpec
cg@3052
   236
                   label: 'imageFractX'
cg@3052
   237
                   name: 'actionRelativeLeft'
cg@3240
   238
                   layout: (LayoutFrame 77 0 21 0 99 0 43 0)
cg@3052
   239
                   activeHelpKey: makeLeftRelative
cg@3052
   240
                   hasCharacterOrientedLabel: false
cg@3240
   241
                   translateLabel: true
cg@3052
   242
                   tabable: true
cg@3052
   243
                   model: relativeLeft
cg@3052
   244
                 )
cg@3052
   245
                (InputFieldSpec
cg@3052
   246
                   name: 'fieldLeftFraction'
cg@3240
   247
                   layout: (LayoutFrame 102 0 22 0 152 0 44 0)
cg@3052
   248
                   activeHelpKey: leftRelative
cg@3052
   249
                   tabable: true
cg@3052
   250
                   model: leftFraction
cg@3052
   251
                   group: inputGroup
cg@3052
   252
                   type: numberOrNil
cg@3052
   253
                   acceptOnLostFocus: true
cg@3052
   254
                   acceptChannel: acceptChannel
cg@3052
   255
                   modifiedChannel: modifiedChannel
cg@3052
   256
                   acceptOnPointerLeave: true
cg@3052
   257
                 )
cg@3052
   258
                (ActionButtonSpec
cg@3052
   259
                   label: 'imageAbsX'
cg@3052
   260
                   name: 'actionAbsoluteLeft'
cg@3240
   261
                   layout: (LayoutFrame 178 0 21 0 200 0 43 0)
cg@3052
   262
                   activeHelpKey: makeLeftAbsolute
cg@3052
   263
                   hasCharacterOrientedLabel: false
cg@3240
   264
                   translateLabel: true
cg@3052
   265
                   tabable: true
cg@3052
   266
                   model: absoluteLeft
cg@3052
   267
                 )
cg@3052
   268
                (InputFieldSpec
cg@3052
   269
                   name: 'fieldLeftOffset'
cg@3240
   270
                   layout: (LayoutFrame 203 0 21 0 253 0 43 0)
cg@3052
   271
                   activeHelpKey: leftAbsolute
cg@3052
   272
                   tabable: true
cg@3052
   273
                   model: leftOffset
cg@3052
   274
                   group: inputGroup
cg@3052
   275
                   type: numberOrNil
cg@3052
   276
                   acceptOnLostFocus: true
cg@3052
   277
                   acceptChannel: acceptChannel
cg@3052
   278
                   modifiedChannel: modifiedChannel
cg@3052
   279
                   acceptOnPointerLeave: true
cg@3052
   280
                 )
cg@3052
   281
                (ActionButtonSpec
cg@3052
   282
                   label: 'imageAbsXFromRight'
cg@3052
   283
                   name: 'actionRightRelativeLeft'
cg@3240
   284
                   layout: (LayoutFrame 257 0 21 0 279 0 43 0)
cg@3052
   285
                   activeHelpKey: makeLeftRelativeFromRight
cg@3052
   286
                   hasCharacterOrientedLabel: false
cg@3240
   287
                   translateLabel: true
cg@3052
   288
                   tabable: true
cg@3052
   289
                   model: rightRelativeLeft
cg@3052
   290
                 )
cg@3052
   291
                (LabelSpec
cg@3052
   292
                   label: 'Top:'
cg@3052
   293
                   name: 'labelTop'
cg@3240
   294
                   layout: (AlignmentOrigin 68 0 51 0 1 0)
cg@3052
   295
                   translateLabel: true
cg@3052
   296
                 )
cg@3052
   297
                (ActionButtonSpec
cg@3052
   298
                   label: 'imageFractY'
cg@3052
   299
                   name: 'actionRelativeTop'
cg@3240
   300
                   layout: (LayoutFrame 77 0 48 0 99 0 70 0)
cg@3052
   301
                   activeHelpKey: makeTopRelative
cg@3052
   302
                   hasCharacterOrientedLabel: false
cg@3240
   303
                   translateLabel: true
cg@3052
   304
                   tabable: true
cg@3052
   305
                   model: relativeTop
cg@3052
   306
                 )
cg@3052
   307
                (InputFieldSpec
cg@3052
   308
                   name: 'fieldTopFraction'
cg@3240
   309
                   layout: (LayoutFrame 103 0 48 0 153 0 70 0)
cg@3052
   310
                   activeHelpKey: topRelative
cg@3052
   311
                   tabable: true
cg@3052
   312
                   model: topFraction
cg@3052
   313
                   group: inputGroup
cg@3052
   314
                   type: numberOrNil
cg@3052
   315
                   acceptOnLostFocus: true
cg@3052
   316
                   acceptChannel: acceptChannel
cg@3052
   317
                   modifiedChannel: modifiedChannel
cg@3052
   318
                   acceptOnPointerLeave: true
cg@3052
   319
                 )
cg@3052
   320
                (ActionButtonSpec
cg@3052
   321
                   label: 'imageAbsY'
cg@3052
   322
                   name: 'actionAbsoluteTop'
cg@3240
   323
                   layout: (LayoutFrame 178 0 48 0 200 0 70 0)
cg@3052
   324
                   activeHelpKey: makeTopAbsolute
cg@3052
   325
                   hasCharacterOrientedLabel: false
cg@3240
   326
                   translateLabel: true
cg@3052
   327
                   tabable: true
cg@3052
   328
                   model: absoluteTop
cg@3052
   329
                 )
cg@3052
   330
                (InputFieldSpec
cg@3052
   331
                   name: 'fieldTopOffset'
cg@3240
   332
                   layout: (LayoutFrame 203 0 48 0 253 0 70 0)
cg@3052
   333
                   activeHelpKey: topAbsolute
cg@3052
   334
                   tabable: true
cg@3052
   335
                   model: topOffset
cg@3052
   336
                   group: inputGroup
cg@3052
   337
                   type: numberOrNil
cg@3052
   338
                   acceptOnLostFocus: true
cg@3052
   339
                   acceptChannel: acceptChannel
cg@3052
   340
                   modifiedChannel: modifiedChannel
cg@3052
   341
                   acceptOnPointerLeave: true
cg@3052
   342
                 )
cg@3052
   343
                (ActionButtonSpec
cg@3052
   344
                   label: 'imageAbsYFromBottom'
cg@3052
   345
                   name: 'actionBottomRelativeTop'
cg@3240
   346
                   layout: (LayoutFrame 257 0 48 0 279 0 70 0)
cg@3052
   347
                   activeHelpKey: makeTopRelativeFromBottom
cg@3052
   348
                   hasCharacterOrientedLabel: false
cg@3240
   349
                   translateLabel: true
cg@3052
   350
                   tabable: true
cg@3052
   351
                   model: bottomRelativeTop
cg@3052
   352
                 )
cg@3052
   353
                )
cg@3052
   354
              
cg@3052
   355
             )
ca@1304
   356
           )
cg@3052
   357
          )
cg@3052
   358
        
cg@3052
   359
       )
cg@3052
   360
     )
ca@184
   361
!
ca@184
   362
ca@184
   363
layoutPointSpec
tz@741
   364
    "This resource specification was automatically generated
tz@741
   365
     by the UIPainter of ST/X."
ca@184
   366
tz@741
   367
    "Do not manually edit this!! If it is corrupted,
tz@741
   368
     the UIPainter may not be able to read the specification."
ca@184
   369
ca@184
   370
    "
cg@259
   371
     UIPainter new openOnClass:UILayoutTool andSelector:#layoutPointSpec
cg@259
   372
     UILayoutTool new openInterface:#layoutPointSpec
ca@184
   373
    "
cg@259
   374
ca@184
   375
    <resource: #canvas>
ca@184
   376
sv@1738
   377
    ^ 
cg@3052
   378
    #(FullSpec
cg@3052
   379
       name: layoutPointSpec
cg@3052
   380
       window: 
cg@3052
   381
      (WindowSpec
cg@3052
   382
         label: 'UILayoutTool'
cg@3052
   383
         name: 'UILayoutTool'
cg@3052
   384
         min: (Point 10 10)
cg@3052
   385
         bounds: (Rectangle 0 0 278 124)
cg@3052
   386
       )
cg@3052
   387
       component: 
cg@3052
   388
      (SpecCollection
cg@3052
   389
         collection: (
cg@3052
   390
          (FramedBoxSpec
cg@3052
   391
             label: 'Origin'
cg@3052
   392
             name: 'FramedBox'
cg@3052
   393
             layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 94 0)
cg@3052
   394
             labelPosition: topLeft
cg@3052
   395
             translateLabel: true
cg@3052
   396
             component: 
cg@3052
   397
            (SpecCollection
cg@3052
   398
               collection: (
cg@3052
   399
                (LabelSpec
cg@3052
   400
                   label: 'Left:'
cg@3052
   401
                   name: 'labelOriginY'
cg@3240
   402
                   layout: (AlignmentOrigin 83 0 12 0 1 0)
cg@3052
   403
                   translateLabel: true
sv@1738
   404
                 )
cg@3052
   405
                (InputFieldSpec
cg@3052
   406
                   name: 'fieldOriginX'
cg@3240
   407
                   layout: (LayoutFrame 85 0 9 0 135 0 31 0)
cg@3052
   408
                   activeHelpKey: originX
cg@3052
   409
                   tabable: true
cg@3052
   410
                   model: leftOffset
cg@3052
   411
                   group: inputGroup
cg@3052
   412
                   type: numberOrNil
cg@3052
   413
                   acceptOnLostFocus: true
cg@3052
   414
                   acceptChannel: acceptChannel
cg@3052
   415
                   modifiedChannel: modifiedChannel
cg@3052
   416
                   acceptOnPointerLeave: true
cg@3052
   417
                 )
cg@3052
   418
                (LabelSpec
cg@3052
   419
                   label: 'Top:'
cg@3052
   420
                   name: 'labelOriginX'
cg@3240
   421
                   layout: (AlignmentOrigin 83 0 37 0 1 0)
cg@3052
   422
                   translateLabel: true
cg@3052
   423
                 )
cg@3052
   424
                (InputFieldSpec
cg@3052
   425
                   name: 'fieldOriginY'
cg@3240
   426
                   layout: (LayoutFrame 85 0 34 0 135 0 56 0)
cg@3052
   427
                   activeHelpKey: originY
cg@3052
   428
                   tabable: true
cg@3052
   429
                   model: topOffset
cg@3052
   430
                   group: inputGroup
cg@3052
   431
                   type: numberOrNil
cg@3052
   432
                   acceptOnLostFocus: true
cg@3052
   433
                   acceptChannel: acceptChannel
cg@3052
   434
                   modifiedChannel: modifiedChannel
cg@3052
   435
                   acceptOnPointerLeave: true
cg@3052
   436
                 )
cg@3052
   437
                )
cg@3052
   438
              
cg@3052
   439
             )
sv@1738
   440
           )
cg@3052
   441
          )
cg@3052
   442
        
cg@3052
   443
       )
cg@3052
   444
     )
ca@184
   445
!
ca@184
   446
ca@163
   447
slices
ca@163
   448
    ^ #(
ca@163
   449
        ( 'Frame'          LayoutFrame)
ca@163
   450
        ( 'Origin'         LayoutOrigin)
ca@163
   451
        ( 'Alig.Origin'    AlignmentOrigin)
ca@163
   452
        ( 'Point'          Point)
ca@163
   453
        ( 'Rectangle'      Rectangle)
ca@163
   454
        ( 'Extent'         Extent)
ca@163
   455
       ) 
ca@163
   456
ca@163
   457
!
ca@163
   458
ca@163
   459
windowSpec
tz@741
   460
    "This resource specification was automatically generated
tz@741
   461
     by the UIPainter of ST/X."
ca@163
   462
tz@741
   463
    "Do not manually edit this!! If it is corrupted,
tz@741
   464
     the UIPainter may not be able to read the specification."
ca@163
   465
ca@163
   466
    "
ca@163
   467
     UIPainter new openOnClass:UILayoutTool andSelector:#windowSpec
ca@163
   468
     UILayoutTool new openInterface:#windowSpec
tz@741
   469
     UILayoutTool open
ca@163
   470
    "
ca@163
   471
ca@163
   472
    <resource: #canvas>
ca@163
   473
ca@1305
   474
    ^ 
sv@1738
   475
     #(FullSpec
sv@1738
   476
        name: windowSpec
sv@1738
   477
        window: 
sv@1738
   478
       (WindowSpec
sv@1738
   479
          label: 'UILayoutTool'
sv@1738
   480
          name: 'UILayoutTool'
sv@1738
   481
          min: (Point 10 10)
ca@1790
   482
          bounds: (Rectangle 12 22 354 321)
ca@1305
   483
        )
sv@1738
   484
        component: 
sv@1738
   485
       (SpecCollection
sv@1738
   486
          collection: (
sv@1738
   487
           (NoteBookViewSpec
sv@1738
   488
              name: 'NoteBook'
sv@1738
   489
              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
sv@1738
   490
              activeHelpKey: layoutTool
sv@1738
   491
              enableChannel: enableChannel
sv@1738
   492
              tabable: true
sv@1738
   493
              model: noteBookModel
sv@1738
   494
              menu: noteBookList
sv@1738
   495
              direction: bottom
ca@1790
   496
              translateLabel: true
sv@1738
   497
              canvas: layoutCanvasHolder
sv@1738
   498
              tabTopMargin: 0
sv@1738
   499
              tabBottomMargin: 0
sv@1738
   500
              keepCanvasAlive: true
sv@1738
   501
              tabLevel: 0
ca@1305
   502
            )
ca@1305
   503
           )
ca@1305
   504
         
ca@1305
   505
        )
ca@163
   506
      )
ca@163
   507
! !
ca@163
   508
cg@1781
   509
!UILayoutTool class methodsFor:'resources'!
cg@1781
   510
cg@1781
   511
classResources
cg@1781
   512
    "my translations are found in the UIPainter classes resources"
cg@1781
   513
cg@1781
   514
    ^ UIPainter classResources 
cg@1781
   515
! !
cg@1781
   516
ca@163
   517
!UILayoutTool methodsFor:'accessing'!
ca@163
   518
ca@163
   519
layout
ca@163
   520
    "returns configued layout or nil
ca@163
   521
    "
ca@1305
   522
    ^ currentTool notNil ifTrue:[currentTool layout]
ca@1305
   523
                        ifFalse:[nil]
ca@163
   524
!
ca@163
   525
ca@163
   526
layoutType
ca@163
   527
    "returns current layout type or nil
ca@163
   528
    "
ca@163
   529
    |slice|
ca@163
   530
ca@163
   531
    (slice := self selectedSlice) notNil ifTrue:[
ca@163
   532
        ^ slice last
ca@163
   533
    ].
ca@163
   534
  ^ nil
ca@163
   535
!
ca@163
   536
ca@163
   537
layoutView
ca@163
   538
    "returns current edited view
ca@163
   539
    "
ca@163
   540
    ^ layoutView
ca@163
   541
!
ca@163
   542
cg@1072
   543
layoutView:aView type:aTypeOrNil spec:aSpec
ca@283
   544
    "change current edited view
ca@283
   545
    "
ca@163
   546
    |type name list|
ca@163
   547
ca@163
   548
    layoutView := aView.
cg@1072
   549
    layoutSpec := aSpec.
ca@163
   550
cg@1074
   551
    (self aspectFor:#defaultExtentEnabled) value:(aSpec class ==  WindowSpec) not.
cg@1074
   552
werner@1826
   553
    aTypeOrNil notNil ifTrue:[ 
ca@163
   554
        self class slices findFirst:[:e|
cg@2533
   555
            e last == aTypeOrNil 
cg@2533
   556
                ifTrue:[name := e first. true] 
cg@2533
   557
                ifFalse:[false].
ca@163
   558
        ].
werner@1826
   559
        list := Array with:name with: 'Frame'.
ca@283
   560
    ] ifFalse:[
ca@283
   561
        (type := UIPainterView layoutType:layoutView) notNil ifTrue:[
ca@283
   562
            self class slices findFirst:[:e|
cg@2533
   563
                e last == type ifTrue:[name := e first. true] ifFalse:[false]
ca@283
   564
            ].
ca@283
   565
            list := tabList.
werner@1826
   566
            type == #Extent ifTrue:[ 
ca@283
   567
                aView superView specClass isLayoutContainer ifTrue:[
ca@283
   568
                    list := Array with:name
ca@283
   569
                ] ifFalse:[
ca@283
   570
                    list := list copyWith:name
ca@283
   571
                ]
ca@235
   572
            ]
ca@235
   573
        ]
ca@163
   574
    ].
ca@163
   575
    self noteBookList  value:list.
ca@163
   576
    self noteBookModel value:name.
ca@163
   577
    self update.
ca@163
   578
!
ca@163
   579
ca@163
   580
modifiedHolder:aValueHolder
ca@163
   581
    "set the value holder set to true in case of modifying attributes
ca@163
   582
    "
ca@163
   583
    modifiedHolder notNil ifTrue:[
ca@163
   584
        modifiedHolder removeDependent:self. 
ca@163
   585
    ].
ca@163
   586
ca@163
   587
    (modifiedHolder := aValueHolder) notNil ifTrue:[
ca@163
   588
        modifiedHolder addDependent:self.
ca@163
   589
    ].
ca@163
   590
ca@163
   591
!
ca@163
   592
ca@163
   593
update
ca@163
   594
    "update from view
ca@163
   595
    "
ca@1305
   596
    |view|
ca@163
   597
ca@1305
   598
    (selection notNil and:[currentTool notNil]) ifTrue:[
cg@1072
   599
        (view := layoutView) notNil ifTrue:[
ca@1305
   600
            currentTool fetch:view spec:layoutSpec
ca@163
   601
        ]
ca@163
   602
    ].
ca@163
   603
        
ca@163
   604
! !
ca@163
   605
cg@3509
   606
!UILayoutTool methodsFor:'accessing-channels'!
cg@3509
   607
cg@3509
   608
acceptChannel
cg@3509
   609
    "return the value of the instance variable 'acceptChannel' (automatically generated)"
cg@3509
   610
cg@3509
   611
    ^ masterApplication acceptChannel
cg@3509
   612
! !
cg@3509
   613
ca@163
   614
!UILayoutTool methodsFor:'aspects'!
ca@163
   615
ca@163
   616
aspectFor:aKey
cg@2365
   617
    "returns the aspect for a aKey or nil"
cg@2365
   618
cg@2365
   619
    ^ aspects at:aKey ifAbsent:[ super aspectFor:aKey ]
ca@163
   620
!
ca@163
   621
ca@1305
   622
layoutCanvasHolder
ca@1305
   623
    |holder|
ca@1305
   624
ca@1305
   625
    (holder := builder bindingAt:#layoutCanvasHolder) isNil ifTrue:[
ca@1305
   626
        holder := ValueHolder new.
ca@1305
   627
        builder aspectAt:#layoutCanvasHolder put:holder
ca@1305
   628
    ].
ca@1305
   629
  ^ holder
ca@1305
   630
!
ca@1305
   631
cg@1072
   632
notUsingDefaultExtent
cg@1072
   633
    |holder|
cg@1072
   634
cg@1072
   635
    (holder := builder bindingAt:#notUsingDefaultExtent) isNil ifTrue:[
cg@1072
   636
        holder := BlockValue forLogicalNot:(self aspectFor:#useDefaultExtent).
cg@1072
   637
        builder aspectAt:#notUsingDefaultExtent put:holder.
cg@1072
   638
    ].
cg@1072
   639
    ^ holder
cg@1072
   640
cg@1072
   641
!
cg@1072
   642
ca@163
   643
noteBookList
cg@2322
   644
    "holds the list of tab labels"
cg@2322
   645
cg@2322
   646
    ^ builder valueAspectFor:#noteBookList initialValue:nil
ca@163
   647
!
ca@163
   648
ca@163
   649
noteBookModel
ca@163
   650
    "automatically generated by UIPainter ..."
ca@163
   651
ca@163
   652
    |holder|
ca@163
   653
ca@163
   654
    (holder := builder bindingAt:#noteBookModel) isNil ifTrue:[
ca@163
   655
        holder := AspectAdaptor new subject:self; forAspect:#selection.
ca@163
   656
        builder aspectAt:#noteBookModel put:holder.
ca@163
   657
    ].
ca@163
   658
    ^ holder
ca@163
   659
! !
ca@163
   660
ca@163
   661
!UILayoutTool methodsFor:'change & update'!
ca@163
   662
ca@163
   663
update:something with:aParameter from:changedObject
ca@163
   664
    "one of my models changed its value
ca@163
   665
    "
ca@163
   666
    changedObject ~~ modifiedHolder ifTrue:[
ca@163
   667
        modifiedHolder value ~~ true ifTrue:[
ca@163
   668
            modifiedHolder isNil ifFalse:[
ca@163
   669
                modifiedHolder value:true
ca@163
   670
            ]
ca@163
   671
        ]
ca@163
   672
    ]
ca@163
   673
ca@163
   674
! !
ca@163
   675
ca@163
   676
!UILayoutTool methodsFor:'converting absolute'!
ca@163
   677
ca@163
   678
absolute:what xOrY:xOrY
cg@1339
   679
    "compute what as absolute (i.e. fraction=0, offset >= 0)"
cg@1339
   680
cg@1339
   681
    |extent fraction offset fractSymb offsetSymb 
cg@1339
   682
     newOffset newFraction fractHolder offsetHolder|
ca@163
   683
ca@163
   684
    extent     := (self layoutView superView computeExtent) perform:xOrY.
ca@163
   685
    fractSymb  := (what, 'Fraction') asSymbol.
ca@163
   686
    offsetSymb := (what,   'Offset') asSymbol.
cg@1198
   687
    fractHolder := (self aspectFor:fractSymb).
cg@1198
   688
    offsetHolder := (self aspectFor:offsetSymb).
cg@1198
   689
    fraction   := fractHolder  value.
cg@1198
   690
    offset     := offsetHolder value.
cg@1339
   691
cg@1339
   692
    newOffset := offset + ((fraction * extent) asInteger).
cg@1339
   693
    newFraction := 0.
ca@163
   694
cg@1339
   695
    fractHolder  value:newFraction.
cg@1343
   696
    offsetHolder value:newOffset.
ca@163
   697
!
ca@163
   698
ca@163
   699
absoluteBottom
cg@1339
   700
    "compute bottom as absolute (i.e. fraction=0, offset >= 0)"
cg@1339
   701
ca@163
   702
    self absolute:'bottom' xOrY:#y
ca@163
   703
ca@163
   704
!
ca@163
   705
ca@163
   706
absoluteLeft
cg@1339
   707
    "compute left as absolute (i.e. fraction=0, offset >= 0)"
cg@1339
   708
ca@163
   709
    self absolute:'left' xOrY:#x
ca@163
   710
ca@163
   711
!
ca@163
   712
ca@163
   713
absoluteRight
cg@1339
   714
    "compute right as absolute (i.e. fraction=0, offset >= 0)"
cg@1339
   715
ca@163
   716
    self absolute:'right' xOrY:#x
ca@163
   717
ca@163
   718
!
ca@163
   719
ca@163
   720
absoluteTop
cg@1339
   721
    "compute top as absolute (i.e. fraction=0, offset >= 0)"
cg@1339
   722
ca@163
   723
    self absolute:'top' xOrY:#y
ca@163
   724
ca@163
   725
! !
ca@163
   726
cg@1339
   727
!UILayoutTool methodsFor:'converting absolute from corner'!
cg@1339
   728
cg@1339
   729
bottomRelativeBottom
cg@1339
   730
    "compute bottom relative to containers bottom (fraction=1, offset negative)"
cg@1339
   731
cg@1339
   732
    self cornerRelative:'bottom' xOrY:#y
cg@1339
   733
cg@1339
   734
!
cg@1339
   735
cg@1339
   736
bottomRelativeTop
cg@1339
   737
    "compute top relative to containers bottom (fraction=1, offset negative)"
cg@1339
   738
cg@1339
   739
    self cornerRelative:'top' xOrY:#y
cg@1339
   740
cg@1339
   741
!
cg@1339
   742
cg@1339
   743
cornerRelative:what xOrY:xOrY
cg@1339
   744
    "compute what relative to the corner (i.e. fraction=1, offset negative)"
cg@1339
   745
cg@1339
   746
    |extent fraction offset fractSymb offsetSymb 
cg@1339
   747
     newFraction newOffset fractHolder offsetHolder|
ca@163
   748
ca@163
   749
    extent     := (self layoutView superView computeExtent) perform:xOrY.
ca@163
   750
    fractSymb  := (what, 'Fraction') asSymbol.
ca@163
   751
    offsetSymb := (what,   'Offset') asSymbol.
cg@1198
   752
    fractHolder := (self aspectFor:fractSymb).
cg@1198
   753
    offsetHolder := (self aspectFor:offsetSymb).
cg@3501
   754
    fraction   := fractHolder value ? 0.
cg@3501
   755
    offset     := offsetHolder value ? 0.
cg@1339
   756
cg@1339
   757
    newOffset := offset + ((fraction * extent) asInteger).
cg@1339
   758
    newOffset := newOffset - extent.
cg@1339
   759
    newFraction := 1.
cg@1339
   760
cg@1339
   761
    fractHolder  value:newFraction.
cg@1339
   762
    offsetHolder value:newOffset.
ca@163
   763
cg@3501
   764
    "Modified: / 15-11-2017 / 12:09:20 / cg"
ca@163
   765
!
ca@163
   766
cg@1339
   767
rightRelativeLeft
cg@1339
   768
    "compute left relative to containers right (fraction=1, offset negative)"
cg@1339
   769
cg@1339
   770
    self cornerRelative:'left' xOrY:#x
cg@1339
   771
cg@1339
   772
!
cg@1339
   773
cg@1339
   774
rightRelativeRight
cg@1339
   775
    "compute right relative to containers right (fraction=1, offset negative)"
cg@1339
   776
cg@1339
   777
    self cornerRelative:'right' xOrY:#x
cg@1339
   778
cg@1339
   779
! !
cg@1339
   780
cg@1339
   781
!UILayoutTool methodsFor:'converting relative'!
cg@1339
   782
cg@1339
   783
relative:what xOrY:xOrY
cg@1339
   784
    "compute what relative to the origin (i.e. fraction=0..1, offset 0)"
cg@1339
   785
cg@1339
   786
    |extent fraction offset fractSymb offsetSymb 
cg@1339
   787
     newFraction newOffset
cg@1339
   788
     fractHolder offsetHolder|
cg@1339
   789
cg@1339
   790
    extent     := (self layoutView superView computeExtent) perform:xOrY.
cg@1339
   791
    fractSymb  := (what, 'Fraction') asSymbol.
cg@1339
   792
    offsetSymb := (what,   'Offset') asSymbol.
cg@1339
   793
    fractHolder := (self aspectFor:fractSymb).
cg@1339
   794
    offsetHolder := (self aspectFor:offsetSymb).
cg@1339
   795
    fraction   := fractHolder  value.
cg@1339
   796
    offset     := offsetHolder value.
cg@1339
   797
cg@1339
   798
    newFraction   := (fraction + (offset / extent)) asFloat.
cg@1339
   799
    newOffset := 0.
cg@1339
   800
cg@1339
   801
    (newFraction > 1.0) ifTrue:[newFraction := 1.0].
cg@1339
   802
    (newFraction < 0.0) ifTrue:[newFraction := 0].
cg@1339
   803
cg@1339
   804
    offsetHolder value:newOffset.
cg@1339
   805
    fractHolder  value:newFraction.
cg@1339
   806
cg@1339
   807
cg@1339
   808
cg@1339
   809
!
cg@1339
   810
ca@163
   811
relativeBottom
cg@1339
   812
    "compute bottom relative to the origin (i.e. fraction=0..1, offset 0)"
cg@1339
   813
ca@163
   814
    self relative:'bottom' xOrY:#y
ca@163
   815
ca@163
   816
ca@163
   817
!
ca@163
   818
ca@163
   819
relativeLeft
cg@1339
   820
    "compute left relative to the origin (i.e. fraction=0..1, offset 0)"
cg@1339
   821
ca@163
   822
    self relative:'left' xOrY:#x
ca@163
   823
ca@163
   824
!
ca@163
   825
ca@163
   826
relativeRight
cg@1339
   827
    "compute right relative to the origin (i.e. fraction=0..1, offset 0)"
cg@1339
   828
ca@163
   829
    self relative:'right' xOrY:#x
ca@163
   830
ca@163
   831
!
ca@163
   832
ca@163
   833
relativeTop
cg@1339
   834
    "compute top relative to the origin (i.e. fraction=0..1, offset 0)"
cg@1339
   835
ca@163
   836
    self relative:'top' xOrY:#y
ca@163
   837
ca@163
   838
! !
ca@163
   839
ca@163
   840
!UILayoutTool methodsFor:'initialization'!
ca@163
   841
ca@163
   842
initialize
ca@163
   843
    "initialize channels
ca@163
   844
    "
ca@221
   845
    |slices size|
ca@221
   846
ca@163
   847
    super initialize.
ca@163
   848
ca@163
   849
    aspects  := IdentityDictionary new.
ca@1305
   850
    toolsDictionary := IdentityDictionary new.
ca@163
   851
ca@163
   852
    #(  bottomFraction          bottomOffset
ca@163
   853
        leftFraction            leftOffset
ca@163
   854
        topFraction             topOffset
ca@163
   855
        rightFraction           rightOffset
ca@163
   856
        leftAlignmentFraction   topAlignmentFraction
cg@1268
   857
        (useDefaultExtent     false)
cg@1268
   858
        (defaultExtentEnabled false)
cg@2379
   859
cg@2379
   860
        (usePreferredWidth false)
cg@2379
   861
        (usePreferredHeight false)
cg@2379
   862
        (useDynamicPreferredWidth false)
cg@2379
   863
        (useDynamicPreferredHeight false)
cg@2953
   864
        (keepSpaceForOSXResizeHandleV false)
cg@2953
   865
        (keepSpaceForOSXResizeHandleH false)
ca@163
   866
    )
ca@163
   867
cg@1268
   868
    do:[:aKeyOrPair| |holder key val|
cg@1268
   869
        (key := aKeyOrPair) isSymbol ifFalse:[
cg@1268
   870
            key := aKeyOrPair first.
cg@1268
   871
            val := aKeyOrPair second
cg@1268
   872
        ].
cg@1268
   873
        holder := val asValue.
ca@163
   874
        holder addDependent:self.
cg@1268
   875
        aspects at:key put:holder.
ca@163
   876
    ].
ca@163
   877
ca@221
   878
    slices  := self class slices.
ca@221
   879
    size    := slices size - 1.
ca@221
   880
    tabList := Array new:size.
ca@163
   881
ca@221
   882
    1 to:size do:[:i| tabList at:i put:((slices at:i) first) ].
ca@163
   883
! !
ca@163
   884
ca@163
   885
!UILayoutTool methodsFor:'selection'!
ca@163
   886
ca@163
   887
selectedSlice
cg@2022
   888
    "returns the slice assigned to the selection or nil"
cg@2022
   889
cg@2022
   890
    selection isNil ifTrue:[^ nil].
cg@2022
   891
    ^ self class slices detect:[:aSlice | aSlice first = selection] ifNone:nil
cg@2022
   892
cg@2022
   893
"/    selection notNil ifTrue:[
cg@2022
   894
"/        self class slices do:[:aSlice|
cg@2022
   895
"/            aSlice first = selection ifTrue:[
cg@2022
   896
"/                ^ aSlice
cg@2022
   897
"/            ]
cg@2022
   898
"/        ]
cg@2022
   899
"/    ].
cg@2022
   900
"/    ^ nil
ca@163
   901
!
ca@163
   902
ca@163
   903
selection
ca@163
   904
    ^ selection
ca@163
   905
!
ca@163
   906
ca@163
   907
selection:aSelection
sv@1726
   908
    |appl slice sel key view|
ca@163
   909
ca@293
   910
    aSelection isNumber ifTrue:[
ca@293
   911
        aSelection ~~ 0 ifTrue:[sel := tabList at:aSelection]
ca@293
   912
    ] ifFalse:[
ca@293
   913
        sel := aSelection
ca@293
   914
    ].
ca@1305
   915
ca@293
   916
    selection = sel ifFalse:[
ca@293
   917
        (selection := sel) notNil ifTrue:[
ca@1305
   918
            key := selection asSymbol.
ca@1305
   919
            appl := toolsDictionary at:key ifAbsent:nil.
ca@1305
   920
ca@1305
   921
            appl isNil ifTrue:[
ca@1334
   922
                view  := ApplicationSubView new.
ca@1305
   923
                slice := self selectedSlice.
ca@1305
   924
                appl  := slice last asString.
ca@1305
   925
                appl := Smalltalk classNamed:(self class name asString, '::', appl).
ca@1305
   926
                appl := appl new.
ca@1305
   927
                appl masterApplication:self.
ca@1305
   928
                appl createBuilder.
ca@1305
   929
                view client:appl.
ca@1305
   930
                appl window:view.
ca@1305
   931
                toolsDictionary at:key put:appl.
ca@1305
   932
            ] ifFalse:[
ca@1305
   933
                view := appl window
cg@1332
   934
            ].
cg@1332
   935
            modifiedHolder value:true.
ca@163
   936
        ].
ca@1305
   937
        currentTool := appl.
ca@1305
   938
        self layoutCanvasHolder value:view.
ca@163
   939
    ].
ca@163
   940
    self update
cg@1332
   941
cg@1332
   942
    "Modified: / 4.2.2000 / 22:31:41 / cg"
cg@1332
   943
! !
cg@1332
   944
cg@1343
   945
!UILayoutTool::AnyLayout class methodsFor:'image specs'!
cg@1343
   946
cg@1343
   947
imageAbsX
sv@3116
   948
    <resource: #image>
cg@1332
   949
    "This resource specification was automatically generated
cg@1343
   950
     by the ImageEditor of ST/X."
cg@1332
   951
    "Do not manually edit this!! If it is corrupted,
cg@1343
   952
     the ImageEditor may not be able to read the specification."
cg@1332
   953
    "
cg@1343
   954
     self imageAbsX inspect
cg@1343
   955
     ImageEditor openOnClass:self andSelector:#imageAbsX
sv@3116
   956
     Icon flushCachedIcons"
sv@3116
   957
    
sv@3116
   958
    ^ Icon constantNamed:'UILayoutTool::AnyLayout class imageAbsX'
sv@3116
   959
        ifAbsentPut:[
sv@3116
   960
            (Depth1Image new)
sv@3116
   961
                width:16;
sv@3116
   962
                height:16;
sv@3116
   963
                photometric:(#palette);
sv@3116
   964
                bitsPerSample:(#( 1 ));
sv@3116
   965
                samplesPerPixel:(1);
sv@3116
   966
                bits:(ByteArray 
sv@3116
   967
                            fromPackedString:'
cg@1343
   968
<@BP@I@N$L*P*)BZ''8*@@(@B''8*P&)B*$L*PC)@@<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
cg@1343
   969
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
sv@3116
   970
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a');
sv@3116
   971
                colorMapFromArray:#[ 0 0 0 255 255 255 ];
sv@3116
   972
                mask:((ImageMask new)
sv@3116
   973
                            width:16;
sv@3116
   974
                            height:16;
sv@3116
   975
                            bits:(ByteArray 
sv@3116
   976
                                        fromPackedString:'<@C0@O@N<L;0;/C>??;??/?>??;0?/C.<L;0C/@@<@@b');
sv@3116
   977
                            yourself);
sv@3116
   978
                yourself
sv@3116
   979
        ]
ca@1447
   980
!
cg@1343
   981
cg@1343
   982
imageAbsXFromRight
sv@3116
   983
    <resource: #image>
cg@1343
   984
    "This resource specification was automatically generated
cg@1343
   985
     by the ImageEditor of ST/X."
cg@1343
   986
    "Do not manually edit this!! If it is corrupted,
cg@1343
   987
     the ImageEditor may not be able to read the specification."
cg@1332
   988
    "
cg@1343
   989
     self imageAbsXFromRight inspect
cg@1343
   990
     ImageEditor openOnClass:self andSelector:#imageAbsXFromRight
sv@3116
   991
     Icon flushCachedIcons"
sv@3116
   992
    
sv@3116
   993
    ^ Icon constantNamed:'UILayoutTool::AnyLayout class imageAbsXFromRight'
sv@3116
   994
        ifAbsentPut:[
sv@3116
   995
            (Depth1Image new)
sv@3116
   996
                width:16;
sv@3116
   997
                height:16;
sv@3116
   998
                photometric:(#palette);
sv@3116
   999
                bitsPerSample:(#( 1 ));
sv@3116
  1000
                samplesPerPixel:(1);
sv@3116
  1001
                bits:(ByteArray 
sv@3116
  1002
                            fromPackedString:'@@<@BW@IT0%UBU$IT_%@@T@AT_%YBUTIT0%0BP@I@@<b');
sv@3116
  1003
                colorMapFromArray:#[ 0 0 0 255 255 255 ];
sv@3116
  1004
                mask:((ImageMask new)
sv@3116
  1005
                            width:16;
sv@3116
  1006
                            height:16;
sv@3116
  1007
                            bits:(ByteArray 
sv@3116
  1008
                                        fromPackedString:'@@<@C7@O\0=7C7<O_?=??7??_?=?C7\O\0=0C0@O@@<b');
sv@3116
  1009
                            yourself);
sv@3116
  1010
                yourself
sv@3116
  1011
        ]
sv@3116
  1012
!
sv@3116
  1013
sv@3116
  1014
imageAbsY
cg@1343
  1015
    <resource: #image>
cg@1343
  1016
    "This resource specification was automatically generated
cg@1343
  1017
     by the ImageEditor of ST/X."
cg@1343
  1018
    "Do not manually edit this!! If it is corrupted,
cg@1343
  1019
     the ImageEditor may not be able to read the specification."
cg@1343
  1020
    "
cg@1343
  1021
     self imageAbsY inspect
cg@1343
  1022
     ImageEditor openOnClass:self andSelector:#imageAbsY
sv@3116
  1023
     Icon flushCachedIcons"
sv@3116
  1024
    
sv@3116
  1025
    ^ Icon constantNamed:'UILayoutTool::AnyLayout class imageAbsY'
sv@3116
  1026
        ifAbsentPut:[
sv@3116
  1027
            (Depth1Image new)
sv@3116
  1028
                width:16;
sv@3116
  1029
                height:16;
sv@3116
  1030
                photometric:(#palette);
sv@3116
  1031
                bitsPerSample:(#( 1 ));
sv@3116
  1032
                samplesPerPixel:(1);
sv@3116
  1033
                bits:(ByteArray 
sv@3116
  1034
                            fromPackedString:'??>@@X@A?''<BP@I@@$@BPA98D@ HD@P O''0 AC?<@@@b');
sv@3116
  1035
                colorMapFromArray:#[ 0 0 0 255 255 255 ];
sv@3116
  1036
                mask:((ImageMask new)
sv@3116
  1037
                            width:16;
sv@3116
  1038
                            height:16;
sv@3116
  1039
                            bits:(ByteArray 
sv@3116
  1040
                                        fromPackedString:'??????????<C0@O@@<@C0A?8G? O<@_ O?0??C?<@@@b');
sv@3116
  1041
                            yourself);
sv@3116
  1042
                yourself
sv@3116
  1043
        ]
sv@3116
  1044
!
sv@3116
  1045
sv@3116
  1046
imageAbsYFromBottom
cg@1343
  1047
    <resource: #image>
cg@1343
  1048
    "This resource specification was automatically generated
cg@1343
  1049
     by the ImageEditor of ST/X."
cg@1343
  1050
    "Do not manually edit this!! If it is corrupted,
cg@1343
  1051
     the ImageEditor may not be able to read the specification."
cg@1343
  1052
    "
cg@1343
  1053
     self imageAbsYFromBottom inspect
cg@1343
  1054
     ImageEditor openOnClass:self andSelector:#imageAbsYFromBottom
sv@3116
  1055
     Icon flushCachedIcons"
sv@3116
  1056
    
sv@3116
  1057
    ^ Icon constantNamed:'UILayoutTool::AnyLayout class imageAbsYFromBottom'
sv@3116
  1058
        ifAbsentPut:[
sv@3116
  1059
            (Depth1Image new)
sv@3116
  1060
                width:16;
sv@3116
  1061
                height:16;
sv@3116
  1062
                photometric:(#palette);
sv@3116
  1063
                bitsPerSample:(#( 1 ));
sv@3116
  1064
                samplesPerPixel:(1);
sv@3116
  1065
                bits:(ByteArray 
sv@3116
  1066
                            fromPackedString:'@@@??B@DO''0DH@ PD@ ^^@I@@$@BP@I@?''>@@X@A??<b');
sv@3116
  1067
                colorMapFromArray:#[ 0 0 0 255 255 255 ];
sv@3116
  1068
                mask:((ImageMask new)
sv@3116
  1069
                            width:16;
sv@3116
  1070
                            height:16;
sv@3116
  1071
                            bits:(ByteArray 
sv@3116
  1072
                                        fromPackedString:'@@@??C?<O?0G8@?0G? _>@O@@<@C0@O@??????????<b');
sv@3116
  1073
                            yourself);
sv@3116
  1074
                yourself
sv@3116
  1075
        ]
sv@3116
  1076
!
sv@3116
  1077
sv@3116
  1078
imageFractX
cg@1343
  1079
    <resource: #image>
cg@1343
  1080
    "This resource specification was automatically generated
cg@1343
  1081
     by the ImageEditor of ST/X."
cg@1343
  1082
    "Do not manually edit this!! If it is corrupted,
cg@1343
  1083
     the ImageEditor may not be able to read the specification."
cg@1343
  1084
    "
cg@1343
  1085
     self imageFractX inspect
cg@1343
  1086
     ImageEditor openOnClass:self andSelector:#imageFractX
sv@3116
  1087
     Icon flushCachedIcons"
sv@3116
  1088
    
sv@3116
  1089
    ^ Icon constantNamed:'UILayoutTool::AnyLayout class imageFractX'
sv@3116
  1090
        ifAbsentPut:[
sv@3116
  1091
            (Depth1Image new)
sv@3116
  1092
                width:16;
sv@3116
  1093
                height:16;
sv@3116
  1094
                photometric:(#palette);
sv@3116
  1095
                bitsPerSample:(#( 1 ));
sv@3116
  1096
                samplesPerPixel:(1);
sv@3116
  1097
                bits:(ByteArray 
sv@3116
  1098
                            fromPackedString:'
cg@1343
  1099
<@>PBY@I&A&TJYII$X&@@X@A$X&RRYP)&A&PBY@I<@<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
cg@1343
  1100
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
sv@3116
  1101
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a');
sv@3116
  1102
                colorMapFromArray:#[ 0 0 0 255 255 255 ];
sv@3116
  1103
                mask:((ImageMask new)
sv@3116
  1104
                            width:16;
sv@3116
  1105
                            height:16;
sv@3116
  1106
                            bits:(ByteArray 
sv@3116
  1107
                                        fromPackedString:'<@?0C?@O>A?<O?9????????????>_?0?>A?0C?@O<@<b');
sv@3116
  1108
                            yourself);
sv@3116
  1109
                yourself
sv@3116
  1110
        ]
ca@1447
  1111
!
cg@1343
  1112
cg@1343
  1113
imageFractY
sv@3116
  1114
    <resource: #image>
cg@1343
  1115
    "This resource specification was automatically generated
cg@1343
  1116
     by the ImageEditor of ST/X."
cg@1343
  1117
    "Do not manually edit this!! If it is corrupted,
cg@1343
  1118
     the ImageEditor may not be able to read the specification."
cg@1343
  1119
    "
cg@1343
  1120
     self imageFractY inspect
cg@1343
  1121
     ImageEditor openOnClass:self andSelector:#imageFractY
sv@3116
  1122
     Icon flushCachedIcons"
sv@3116
  1123
    
sv@3116
  1124
    ^ Icon constantNamed:'UILayoutTool::AnyLayout class imageFractY'
sv@3116
  1125
        ifAbsentPut:[
sv@3116
  1126
            (Depth1Image new)
sv@3116
  1127
                width:16;
sv@3116
  1128
                height:16;
sv@3116
  1129
                photometric:(#palette);
sv@3116
  1130
                bitsPerSample:(#( 1 ));
sv@3116
  1131
                samplesPerPixel:(1);
sv@3116
  1132
                bits:(ByteArray 
sv@3116
  1133
                            fromPackedString:'??>@@X@A?''<PB@ PAB@BP@I@AB@HDA@H?''>@@X@A??<b');
sv@3116
  1134
                colorMapFromArray:#[ 0 0 0 255 255 255 ];
sv@3116
  1135
                mask:((ImageMask new)
sv@3116
  1136
                            width:16;
sv@3116
  1137
                            height:16;
sv@3116
  1138
                            bits:(ByteArray 
sv@3116
  1139
                                        fromPackedString:'??????????<_>@?0A>@C0@O@A>@O<A?8??????????<b');
sv@3116
  1140
                            yourself);
sv@3116
  1141
                yourself
sv@3116
  1142
        ]
cg@1409
  1143
! !
cg@1409
  1144
cg@3235
  1145
!UILayoutTool::AnyLayout methodsFor:'accessing'!
cg@3235
  1146
cg@3235
  1147
aspectValueOr0For:aspectName
cg@3235
  1148
    "common helper - fetches the aspect value; if it is nil, return 0."
cg@3235
  1149
cg@3235
  1150
    ^ self aspectValueOr:0 for:aspectName
cg@3235
  1151
! !
cg@3235
  1152
cg@1332
  1153
!UILayoutTool::AlignmentOrigin class methodsFor:'help specs'!
cg@1332
  1154
cg@1332
  1155
helpSpec
cg@1332
  1156
    "This resource specification was automatically generated
cg@1332
  1157
     by the UIHelpTool of ST/X."
cg@1332
  1158
cg@1332
  1159
    "Do not manually edit this!! If it is corrupted,
cg@1332
  1160
     the UIHelpTool may not be able to read the specification."
cg@1332
  1161
cg@1332
  1162
    "
cg@1332
  1163
     UIHelpTool openOnClass:UILayoutTool::AlignmentOrigin    
cg@1332
  1164
    "
cg@1332
  1165
cg@1332
  1166
    <resource: #help>
cg@1332
  1167
cg@1332
  1168
    ^super helpSpec addPairsFrom:#(
cg@1332
  1169
cg@1332
  1170
#alignBottomCenter
cg@2794
  1171
'Aligns the widget''s bottomCenter to location.'
cg@1332
  1172
cg@1332
  1173
#alignBottomLeft
cg@2794
  1174
'Aligns the widget''s bottomLeft to location.'
cg@1332
  1175
cg@1332
  1176
#alignBottomRight
cg@2794
  1177
'Aligns the widget''s bottomRight to location.'
cg@1332
  1178
cg@1332
  1179
#alignCenter
cg@2794
  1180
'Aligns the widget''s center to location.'
cg@1332
  1181
cg@1332
  1182
#alignHorizontal
cg@2794
  1183
'Horizontal relative position of the alignment point of the widget (that point is aligned with the above origin).'
cg@1332
  1184
cg@1332
  1185
#alignLeftCenter
cg@2794
  1186
'Aligns the widget''s leftCenter to location.'
cg@1332
  1187
cg@1332
  1188
#alignRightCenter
cg@2794
  1189
'Aligns the widget''s rightCenter to location.'
cg@1332
  1190
cg@1332
  1191
#alignTopCenter
cg@2794
  1192
'Aligns the widget''s topCenter to location.'
cg@1332
  1193
cg@1332
  1194
#alignTopLeft
cg@2794
  1195
'Aligns the widget''s topLeft to location.'
cg@1332
  1196
cg@1332
  1197
#alignTopRight
cg@2794
  1198
'Aligns the widget''s topRight to location.'
cg@1332
  1199
cg@1332
  1200
#alignVertical
cg@2794
  1201
'Vertical relative position of the alignment point of the widget (that point is aligned with the above origin).'
cg@1332
  1202
cg@1332
  1203
)
cg@2794
  1204
cg@2794
  1205
    "Modified: / 28-07-2010 / 10:05:41 / cg"
cg@1332
  1206
! !
cg@1332
  1207
cg@1332
  1208
!UILayoutTool::AlignmentOrigin class methodsFor:'interface specs'!
cg@1332
  1209
cg@1332
  1210
windowSpec
cg@1332
  1211
    "This resource specification was automatically generated
cg@1332
  1212
     by the UIPainter of ST/X."
cg@1332
  1213
cg@1332
  1214
    "Do not manually edit this!! If it is corrupted,
cg@1332
  1215
     the UIPainter may not be able to read the specification."
cg@1332
  1216
cg@1332
  1217
    "
cg@1332
  1218
     UIPainter new openOnClass:UILayoutTool::AlignmentOrigin andSelector:#windowSpec
cg@1332
  1219
     UILayoutTool::AlignmentOrigin new openInterface:#windowSpec
cg@1332
  1220
     UILayoutTool::AlignmentOrigin open
cg@1332
  1221
    "
cg@1332
  1222
cg@1332
  1223
    <resource: #canvas>
cg@1332
  1224
cg@1332
  1225
    ^ 
cg@3052
  1226
    #(FullSpec
cg@3052
  1227
       name: windowSpec
cg@3052
  1228
       window: 
cg@3052
  1229
      (WindowSpec
cg@3052
  1230
         label: 'UILayoutTool-AlignmentOrigin'
cg@3052
  1231
         name: 'UILayoutTool-AlignmentOrigin'
cg@3052
  1232
         min: (Point 10 10)
cg@3052
  1233
         bounds: (Rectangle 0 0 405 220)
cg@3052
  1234
       )
cg@3052
  1235
       component: 
cg@3052
  1236
      (SpecCollection
cg@3052
  1237
         collection: (
cg@3052
  1238
          (UISubSpecification
cg@3052
  1239
             name: 'layoutOriginSpec'
cg@3052
  1240
             layout: (LayoutFrame 1 0.0 6 0 0 1.0 111 0)
cg@3052
  1241
             majorKey: UILayoutTool
cg@3052
  1242
             minorKey: layoutOriginSpec
cg@3052
  1243
           )
cg@3052
  1244
          (FramedBoxSpec
cg@3052
  1245
             label: 'Alignment'
cg@3052
  1246
             name: 'FramedBox'
cg@3052
  1247
             layout: (LayoutFrame 1 0.0 113 0 0 1.0 215 0)
cg@3052
  1248
             labelPosition: topLeft
cg@3052
  1249
             translateLabel: true
cg@3052
  1250
             component: 
cg@3052
  1251
            (SpecCollection
cg@3052
  1252
               collection: (
cg@3052
  1253
                (LabelSpec
cg@3052
  1254
                   label: 'Horizontal:'
cg@3052
  1255
                   name: 'alignHLabel'
cg@3052
  1256
                   layout: (AlignmentOrigin 88 0 17 0 1 0)
cg@3052
  1257
                   translateLabel: true
cg@3052
  1258
                   adjust: right
cg@1332
  1259
                 )
cg@3052
  1260
                (InputFieldSpec
cg@3052
  1261
                   name: 'leftAlignmentFractionField'
cg@3052
  1262
                   layout: (LayoutFrame 90 0 14 0 147 0 36 0)
cg@3052
  1263
                   activeHelpKey: alignHorizontal
cg@3052
  1264
                   tabable: true
cg@3052
  1265
                   model: leftAlignmentFraction
cg@3052
  1266
                   group: inputGroup
cg@3052
  1267
                   type: numberOrNil
cg@3052
  1268
                   acceptOnLostFocus: true
cg@3052
  1269
                   acceptChannel: acceptChannel
cg@3052
  1270
                   modifiedChannel: modifiedChannel
cg@3052
  1271
                   acceptOnPointerLeave: true
cg@3052
  1272
                 )
cg@3052
  1273
                (LabelSpec
cg@3052
  1274
                   label: 'Vertical:'
cg@3052
  1275
                   name: 'alignVLabel'
cg@3052
  1276
                   layout: (AlignmentOrigin 88 0 43 0 1 0)
cg@3052
  1277
                   translateLabel: true
cg@3052
  1278
                   adjust: right
cg@3052
  1279
                 )
cg@3052
  1280
                (InputFieldSpec
cg@3052
  1281
                   name: 'topAlignmentFractionField'
cg@3052
  1282
                   layout: (LayoutFrame 90 0 40 0 147 0 62 0)
cg@3052
  1283
                   activeHelpKey: alignVertical
cg@3052
  1284
                   tabable: true
cg@3052
  1285
                   model: topAlignmentFraction
cg@3052
  1286
                   group: inputGroup
cg@3052
  1287
                   type: numberOrNil
cg@3052
  1288
                   acceptOnLostFocus: true
cg@3052
  1289
                   acceptChannel: acceptChannel
cg@3052
  1290
                   modifiedChannel: modifiedChannel
cg@3052
  1291
                   acceptOnPointerLeave: true
cg@3052
  1292
                 )
cg@3052
  1293
                (DividerSpec
cg@3052
  1294
                   name: 'separator1'
cg@3052
  1295
                   layout: (LayoutFrame 204 0 19 0 245 0 22 0)
cg@3052
  1296
                 )
cg@3052
  1297
                (DividerSpec
cg@3052
  1298
                   name: 'separator2'
cg@3052
  1299
                   layout: (LayoutFrame 204 0 55 0 245 0 58 0)
cg@3052
  1300
                 )
cg@3052
  1301
                (DividerSpec
cg@3052
  1302
                   name: 'separator3'
cg@3052
  1303
                   layout: (LayoutFrame 196 0 28 0 199 0 50 0)
cg@3052
  1304
                   orientation: vertical
cg@3052
  1305
                 )
cg@3052
  1306
                (DividerSpec
cg@3052
  1307
                   name: 'separator4'
cg@3052
  1308
                   layout: (LayoutFrame 250 0 28 0 253 0 50 0)
cg@3052
  1309
                   orientation: vertical
cg@3052
  1310
                 )
cg@3052
  1311
                (ActionButtonSpec
cg@3052
  1312
                   name: 'alignTopLeft'
cg@3052
  1313
                   layout: (LayoutFrame 190 0 14 0 204 0 28 0)
cg@3052
  1314
                   activeHelpKey: alignTopLeft
cg@3052
  1315
                   tabable: true
cg@3052
  1316
                   model: alignTopLeft
cg@3052
  1317
                 )
cg@3052
  1318
                (ActionButtonSpec
cg@3052
  1319
                   name: 'alignTopCenter'
cg@3052
  1320
                   layout: (LayoutFrame 217 0 14 0 231 0 28 0)
cg@3052
  1321
                   activeHelpKey: alignTopCenter
cg@3052
  1322
                   tabable: true
cg@3052
  1323
                   model: alignTopCenter
cg@3052
  1324
                 )
cg@3052
  1325
                (ActionButtonSpec
cg@3052
  1326
                   name: 'alignTopRight'
cg@3052
  1327
                   layout: (LayoutFrame 245 0 14 0 259 0 28 0)
cg@3052
  1328
                   activeHelpKey: alignTopRight
cg@3052
  1329
                   tabable: true
cg@3052
  1330
                   model: alignTopRight
cg@3052
  1331
                 )
cg@3052
  1332
                (ActionButtonSpec
cg@3052
  1333
                   name: 'alignLeftCenter'
cg@3052
  1334
                   layout: (LayoutFrame 190 0 32 0 204 0 46 0)
cg@3052
  1335
                   activeHelpKey: alignLeftCenter
cg@3052
  1336
                   tabable: true
cg@3052
  1337
                   model: alignLeftCenter
cg@3052
  1338
                 )
cg@3052
  1339
                (ActionButtonSpec
cg@3052
  1340
                   name: 'alignCenter'
cg@3052
  1341
                   layout: (LayoutFrame 217 0 32 0 231 0 46 0)
cg@3052
  1342
                   activeHelpKey: alignCenter
cg@3052
  1343
                   tabable: true
cg@3052
  1344
                   model: alignCenter
cg@3052
  1345
                 )
cg@3052
  1346
                (ActionButtonSpec
cg@3052
  1347
                   name: 'alignRightCenter'
cg@3052
  1348
                   layout: (LayoutFrame 245 0 32 0 259 0 46 0)
cg@3052
  1349
                   activeHelpKey: alignRightCenter
cg@3052
  1350
                   tabable: true
cg@3052
  1351
                   model: alignRightCenter
cg@3052
  1352
                 )
cg@3052
  1353
                (ActionButtonSpec
cg@3052
  1354
                   name: 'alignBottomLeft'
cg@3052
  1355
                   layout: (LayoutFrame 190 0 50 0 204 0 64 0)
cg@3052
  1356
                   activeHelpKey: alignBottomLeft
cg@3052
  1357
                   tabable: true
cg@3052
  1358
                   model: alignBottomLeft
cg@3052
  1359
                 )
cg@3052
  1360
                (ActionButtonSpec
cg@3052
  1361
                   name: 'alignBottomCenter'
cg@3052
  1362
                   layout: (LayoutFrame 217 0 50 0 231 0 64 0)
cg@3052
  1363
                   activeHelpKey: alignBottomCenter
cg@3052
  1364
                   tabable: true
cg@3052
  1365
                   model: alignBottomCenter
cg@3052
  1366
                 )
cg@3052
  1367
                (ActionButtonSpec
cg@3052
  1368
                   name: 'alignBottomRight'
cg@3052
  1369
                   layout: (LayoutFrame 245 0 50 0 259 0 64 0)
cg@3052
  1370
                   activeHelpKey: alignBottomRight
cg@3052
  1371
                   tabable: true
cg@3052
  1372
                   model: alignBottomRight
cg@3052
  1373
                 )
cg@3052
  1374
                )
cg@3052
  1375
              
cg@3052
  1376
             )
cg@1332
  1377
           )
cg@3052
  1378
          )
cg@3052
  1379
        
cg@3052
  1380
       )
cg@3052
  1381
     )
cg@1332
  1382
! !
cg@1332
  1383
cg@1332
  1384
!UILayoutTool::AlignmentOrigin methodsFor:'accessing'!
cg@1332
  1385
cg@1332
  1386
fetch:aView spec:aSpec
cg@1332
  1387
    "fetch alignmentOrigin
cg@1332
  1388
    "
cg@1332
  1389
    |layout type 
cg@1332
  1390
     leftAlignmentFractionHolder topAlignmentFractionHolder
cg@1332
  1391
     leftOffsetHolder leftFractionHolder topOffsetHolder topFractionHolder|
cg@1332
  1392
cg@1332
  1393
    type   := UIPainterView layoutType:aView.
cg@1332
  1394
    layout := aView geometryLayout.
cg@1332
  1395
cg@1332
  1396
    leftOffsetHolder := (self aspectFor:#leftOffset).
cg@1332
  1397
    leftFractionHolder := (self aspectFor:#leftFraction).
cg@1332
  1398
    topOffsetHolder := (self aspectFor:#topOffset).
cg@1332
  1399
    topFractionHolder := (self aspectFor:#topFraction).
cg@1332
  1400
    leftAlignmentFractionHolder := (self aspectFor:#leftAlignmentFraction).
cg@1332
  1401
    topAlignmentFractionHolder := (self aspectFor:#topAlignmentFraction).
cg@1332
  1402
cg@1332
  1403
    layout isLayout ifTrue:[
cg@1332
  1404
        leftOffsetHolder   value:(layout leftOffset).
cg@1332
  1405
        leftFractionHolder value:(layout leftFraction).
cg@1332
  1406
        topOffsetHolder    value:(layout topOffset).
cg@1332
  1407
        topFractionHolder  value:(layout topFraction).
cg@1332
  1408
cg@1332
  1409
        type == #AlignmentOrigin ifTrue:[
cg@1332
  1410
            leftAlignmentFractionHolder value:(layout leftAlignmentFraction).
cg@1332
  1411
            topAlignmentFractionHolder  value:(layout topAlignmentFraction).
cg@1332
  1412
          ^ self
cg@1332
  1413
        ]
cg@1332
  1414
    ] ifFalse:[
cg@1332
  1415
        layout := aView computeOrigin.
cg@1332
  1416
cg@1332
  1417
        leftOffsetHolder   value:(layout x).
cg@1332
  1418
        leftFractionHolder value:0.
cg@1332
  1419
        topOffsetHolder    value:(layout y).
cg@1332
  1420
        topFractionHolder  value:0.
cg@1332
  1421
    ].
cg@1332
  1422
    leftAlignmentFractionHolder value:0.
cg@1332
  1423
    topAlignmentFractionHolder  value:0.
cg@1332
  1424
cg@1332
  1425
cg@1332
  1426
!
cg@1332
  1427
cg@1332
  1428
layout
cg@1332
  1429
    "returns current layout as alignmentOrigin
cg@1332
  1430
    "
cg@1332
  1431
    |layout|
cg@1332
  1432
cg@3234
  1433
    layout  := (Smalltalk at:#AlignmentOrigin) new.
cg@1332
  1434
cg@1581
  1435
    layout 
cg@3235
  1436
        leftFraction:(self aspectValueOr0For:#leftFraction)
cg@3235
  1437
        offset:(self aspectValueOr0For:#leftOffset)
cg@3235
  1438
        topFraction:(self aspectValueOr0For:#topFraction)
cg@3235
  1439
        offset:(self aspectValueOr0For:#topOffset).
cg@1581
  1440
cg@1581
  1441
    layout 
cg@3235
  1442
        leftAlignmentFraction:(self aspectValueOr0For:#leftAlignmentFraction)
cg@3235
  1443
        topAlignmentFraction:(self aspectValueOr0For:#topAlignmentFraction).
cg@1332
  1444
cg@1332
  1445
  ^ layout
cg@1332
  1446
! !
cg@1332
  1447
cg@1332
  1448
!UILayoutTool::AlignmentOrigin methodsFor:'alignment'!
cg@1332
  1449
cg@1332
  1450
alignBottomCenter
cg@1332
  1451
    self makeAlignLeft:0.5 top:1
cg@1332
  1452
cg@1332
  1453
cg@1332
  1454
!
cg@1332
  1455
cg@1332
  1456
alignBottomLeft
cg@1332
  1457
    self makeAlignLeft:0 top:1
cg@1332
  1458
cg@1332
  1459
cg@1332
  1460
!
cg@1332
  1461
cg@1332
  1462
alignBottomRight
cg@1332
  1463
    self makeAlignLeft:1 top:1
cg@1332
  1464
cg@1332
  1465
cg@1332
  1466
!
cg@1332
  1467
cg@1332
  1468
alignCenter
cg@1332
  1469
    self makeAlignLeft:0.5 top:0.5
cg@1332
  1470
cg@1332
  1471
cg@1332
  1472
!
cg@1332
  1473
cg@1332
  1474
alignLeftCenter
cg@1332
  1475
    self makeAlignLeft:0 top:0.5
cg@1332
  1476
cg@1332
  1477
cg@1332
  1478
!
cg@1332
  1479
cg@1332
  1480
alignRightCenter
cg@1332
  1481
    self makeAlignLeft:1 top:0.5
cg@1332
  1482
cg@1332
  1483
cg@1332
  1484
!
cg@1332
  1485
cg@1332
  1486
alignTopCenter
cg@1332
  1487
    self makeAlignLeft:0.5 top:0
cg@1332
  1488
cg@1332
  1489
cg@1332
  1490
!
cg@1332
  1491
cg@1332
  1492
alignTopLeft
cg@1332
  1493
    self makeAlignLeft:0 top:0
cg@1332
  1494
cg@1332
  1495
cg@1332
  1496
!
cg@1332
  1497
cg@1332
  1498
alignTopRight
cg@1332
  1499
    self makeAlignLeft:1 top:0
cg@1332
  1500
cg@1332
  1501
cg@1332
  1502
!
cg@1332
  1503
cg@1332
  1504
makeAlignLeft:leftAlignmentFraction top:topAlignmentFraction
cg@1332
  1505
    |lAF tAF lO tO ext lAHolder tAHolder lOHolder tOHolder|
cg@1332
  1506
cg@1332
  1507
    lAF     := (lAHolder := self aspectFor:#leftAlignmentFraction) value ? 0.
cg@1332
  1508
    tAF     := (tAHolder := self aspectFor:#topAlignmentFraction)  value ? 0.
cg@1332
  1509
    ext     := (self aspectFor:#layoutView) computeExtent.
cg@1332
  1510
cg@1332
  1511
    lAHolder value:leftAlignmentFraction.
cg@1332
  1512
    tAHolder  value:topAlignmentFraction.
cg@1332
  1513
cg@1332
  1514
    lO := (lOHolder := self aspectFor:#leftOffset) value ? 0.
cg@1332
  1515
    tO := (tOHolder := self aspectFor:#topOffset)  value ? 0.
cg@1332
  1516
cg@1332
  1517
    lO := lO + (ext x * (leftAlignmentFraction - lAF)).
cg@1332
  1518
    tO := tO + (ext y * (topAlignmentFraction  - tAF)).
cg@1332
  1519
cg@1332
  1520
    lOHolder value:(lO rounded).
cg@1332
  1521
    tOHolder value:(tO rounded).
cg@1332
  1522
cg@1332
  1523
!
cg@1332
  1524
cg@1332
  1525
makeAlignTopRight
cg@1332
  1526
    self makeAlignLeft:1 top:0
cg@1332
  1527
cg@1332
  1528
ca@1304
  1529
! !
ca@1304
  1530
cg@1339
  1531
!UILayoutTool::Extent class methodsFor:'help specs'!
cg@1339
  1532
cg@1339
  1533
helpSpec
cg@1339
  1534
    "This resource specification was automatically generated
cg@1339
  1535
     by the UIHelpTool of ST/X."
cg@1339
  1536
cg@1339
  1537
    "Do not manually edit this!! If it is corrupted,
cg@1339
  1538
     the UIHelpTool may not be able to read the specification."
cg@1339
  1539
cg@1339
  1540
    "
cg@1339
  1541
     UIHelpTool openOnClass:UILayoutTool::Extent    
cg@1339
  1542
    "
cg@1339
  1543
cg@1339
  1544
    <resource: #help>
cg@1339
  1545
cg@2949
  1546
    ^ super helpSpec addPairsFrom:#(
cg@1339
  1547
cg@1339
  1548
#hrzExtent
cg@1339
  1549
'Horizontal extent of the selected widget.'
cg@1339
  1550
cg@2949
  1551
#useDynamicPreferredWidth
cg@2949
  1552
'Dynamically adapt to any change of the widget''s preferred width'
cg@2949
  1553
cg@2949
  1554
#useDynamicPreferredHeight
cg@2949
  1555
'Dynamically adapt to any change of the widget''s preferred height'
cg@2949
  1556
cg@2949
  1557
#usePreferredHeight
cg@2949
  1558
'Use the widget''s preferred height as initial size'
cg@2949
  1559
cg@2949
  1560
#usePreferredWidth
cg@2949
  1561
'Use the widget''s preferred width as initial size'
cg@2949
  1562
cg@2949
  1563
#useDefaultExtent
cg@2949
  1564
'Use the widget''s default extent as initial size'
cg@2949
  1565
cg@1339
  1566
#vrtExtent
cg@1339
  1567
'Vertical extent of the selected widget.'
cg@1339
  1568
cg@1339
  1569
)
cg@1339
  1570
! !
cg@1339
  1571
cg@1339
  1572
!UILayoutTool::Extent class methodsFor:'interface specs'!
ca@1334
  1573
ca@1334
  1574
windowSpec
ca@1334
  1575
    "This resource specification was automatically generated
ca@1334
  1576
     by the UIPainter of ST/X."
ca@1334
  1577
ca@1334
  1578
    "Do not manually edit this!! If it is corrupted,
ca@1334
  1579
     the UIPainter may not be able to read the specification."
ca@1334
  1580
ca@1334
  1581
    "
cg@1339
  1582
     UIPainter new openOnClass:UILayoutTool::Extent andSelector:#windowSpec
cg@1339
  1583
     UILayoutTool::Extent new openInterface:#windowSpec
cg@1339
  1584
     UILayoutTool::Extent open
ca@1334
  1585
    "
ca@1334
  1586
ca@1334
  1587
    <resource: #canvas>
ca@1334
  1588
cg@1339
  1589
    ^ 
cg@3052
  1590
    #(FullSpec
cg@3052
  1591
       name: windowSpec
cg@3662
  1592
       uuid: 'aeb70aca-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1593
       window: 
cg@3052
  1594
      (WindowSpec
cg@3052
  1595
         label: 'UILayoutTool-Extent'
cg@3052
  1596
         name: 'UILayoutTool-Extent'
cg@3662
  1597
         uuid: 'aeb70dcc-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1598
         min: (Point 10 10)
cg@3052
  1599
         bounds: (Rectangle 0 0 506 169)
cg@3052
  1600
       )
cg@3052
  1601
       component: 
cg@3052
  1602
      (SpecCollection
cg@3052
  1603
         collection: (
cg@3052
  1604
          (FramedBoxSpec
cg@3052
  1605
             label: 'Extent'
cg@3052
  1606
             name: 'FramedBox'
cg@3052
  1607
             layout: (LayoutFrame 0 0.0 6 0.0 0 1.0 158 0)
cg@3662
  1608
             uuid: 'aeb710a6-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1609
             labelPosition: topLeft
cg@3052
  1610
             translateLabel: true
cg@3052
  1611
             component: 
cg@3052
  1612
            (SpecCollection
cg@3052
  1613
               collection: (
cg@3052
  1614
                (LabelSpec
cg@3052
  1615
                   label: 'Width:'
cg@3052
  1616
                   name: 'labelWidth'
cg@3662
  1617
                   layout: (AlignmentOrigin 89 0 37 0 1 0.5)
cg@3662
  1618
                   uuid: 'aeb712e0-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1619
                   translateLabel: true
cg@3052
  1620
                   adjust: right
cg@1339
  1621
                 )
cg@3052
  1622
                (InputFieldSpec
cg@3052
  1623
                   name: 'fieldLeftOffset'
cg@3662
  1624
                   layout: (LayoutFrame 90 0 26 0 140 0 48 0)
cg@3052
  1625
                   activeHelpKey: hrzExtent
cg@3662
  1626
                   uuid: 'aeb71466-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1627
                   enableChannel: notUsingDefaultExtent
cg@3052
  1628
                   tabable: true
cg@3052
  1629
                   model: leftOffset
cg@3052
  1630
                   group: inputGroup
cg@3052
  1631
                   type: numberOrNil
cg@3052
  1632
                   acceptOnLostFocus: true
cg@3052
  1633
                   acceptChannel: acceptChannel
cg@3052
  1634
                   modifiedChannel: modifiedChannel
cg@3052
  1635
                   acceptOnPointerLeave: true
cg@3052
  1636
                 )
cg@3052
  1637
                (LabelSpec
cg@3052
  1638
                   label: 'Height:'
cg@3052
  1639
                   name: 'labelHeight'
cg@3662
  1640
                   layout: (AlignmentOrigin 89 0 62 0 1 0.5)
cg@3662
  1641
                   uuid: 'aeb71682-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1642
                   translateLabel: true
cg@3052
  1643
                   adjust: right
cg@3052
  1644
                 )
cg@3052
  1645
                (InputFieldSpec
cg@3052
  1646
                   name: 'fieldRightOffset'
cg@3662
  1647
                   layout: (LayoutFrame 90 0 51 0 140 0 73 0)
cg@3052
  1648
                   activeHelpKey: vrtExtent
cg@3662
  1649
                   uuid: 'aeb717ea-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1650
                   enableChannel: notUsingDefaultExtent
cg@3052
  1651
                   tabable: true
cg@3052
  1652
                   model: topOffset
cg@3052
  1653
                   group: inputGroup
cg@3052
  1654
                   type: numberOrNil
cg@3052
  1655
                   acceptOnLostFocus: true
cg@3052
  1656
                   acceptChannel: acceptChannel
cg@3052
  1657
                   modifiedChannel: modifiedChannel
cg@3052
  1658
                   acceptOnPointerLeave: true
cg@3052
  1659
                 )
cg@3052
  1660
                (CheckBoxSpec
cg@3052
  1661
                   label: 'Preferred'
cg@3052
  1662
                   name: 'CheckBox1'
cg@3662
  1663
                   layout: (LayoutFrame 158 0 26 0 284 0 48 0)
cg@3052
  1664
                   activeHelpKey: usePreferredWidth
cg@3662
  1665
                   uuid: 'aeb71a10-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1666
                   model: usePreferredWidth
cg@3052
  1667
                   translateLabel: true
cg@3052
  1668
                 )
cg@3052
  1669
                (CheckBoxSpec
cg@3052
  1670
                   label: 'Dynamic'
cg@3052
  1671
                   name: 'CheckBox3'
cg@3662
  1672
                   layout: (LayoutFrame 284 0 26 0 404 0 48 0)
cg@3052
  1673
                   activeHelpKey: useDynamicPreferredWidth
cg@3662
  1674
                   uuid: 'aeb71c40-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1675
                   model: useDynamicPreferredWidth
cg@3052
  1676
                   translateLabel: true
cg@3052
  1677
                 )
cg@3052
  1678
                (CheckBoxSpec
cg@3052
  1679
                   label: 'Preferred'
cg@3052
  1680
                   name: 'CheckBox2'
cg@3662
  1681
                   layout: (LayoutFrame 158 0 54 0 284 0 76 0)
cg@3052
  1682
                   activeHelpKey: usePreferredHeight
cg@3662
  1683
                   uuid: 'aeb71d9e-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1684
                   model: usePreferredHeight
cg@3052
  1685
                   translateLabel: true
cg@3052
  1686
                 )
cg@3052
  1687
                (CheckBoxSpec
cg@3052
  1688
                   label: 'Dynamic'
cg@3052
  1689
                   name: 'CheckBox4'
cg@3662
  1690
                   layout: (LayoutFrame 284 0 54 0 404 0 76 0)
cg@3052
  1691
                   activeHelpKey: useDynamicPreferredHeight
cg@3662
  1692
                   uuid: 'aeb71ee8-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1693
                   model: useDynamicPreferredHeight
cg@3052
  1694
                   translateLabel: true
cg@3052
  1695
                 )
cg@3052
  1696
                (CheckBoxSpec
cg@3052
  1697
                   label: 'Use Widget''s Default Extent'
cg@3052
  1698
                   name: 'useDefaultExtentCheckBox'
cg@3662
  1699
                   layout: (Point 5 80)
cg@3052
  1700
                   activeHelpKey: useDefaultExtent
cg@3662
  1701
                   uuid: 'aeb72032-6d80-11e9-8727-b8f6b1108e05'
cg@3052
  1702
                   enableChannel: defaultExtentEnabled
cg@3052
  1703
                   tabable: true
cg@3052
  1704
                   model: useDefaultExtent
cg@3052
  1705
                   translateLabel: true
cg@3052
  1706
                 )
cg@3052
  1707
                )
cg@3052
  1708
              
cg@3052
  1709
             )
cg@1339
  1710
           )
cg@3052
  1711
          (PopUpListSpec
cg@3052
  1712
             label: 'Common Extents'
cg@3052
  1713
             name: 'CommonExtentsPopUpList'
cg@3662
  1714
             layout: (LayoutFrame 189 0 21 0 351 0 43 0)
cg@3662
  1715
             uuid: 'aeb721ae-6d80-11e9-8727-b8f6b1108e05'
cg@3662
  1716
             translateLabel: true
cg@3052
  1717
             tabable: true
cg@3052
  1718
             menu: listOfCommonExtents
cg@3052
  1719
             useIndex: true
cg@3052
  1720
             ignoreReselect: false
cg@3052
  1721
             stateChangeCallBackSelector: commonExtentSelected:
cg@3052
  1722
           )
cg@3052
  1723
          )
cg@3052
  1724
        
cg@3052
  1725
       )
cg@3052
  1726
     )
ca@1334
  1727
! !
ca@1334
  1728
cg@1339
  1729
!UILayoutTool::Extent methodsFor:'accessing'!
ca@1334
  1730
ca@1334
  1731
fetch:aView spec:aSpec
cg@2022
  1732
    "fetch the extent from aView"
cg@2022
  1733
cg@1339
  1734
    |extent|
cg@1339
  1735
cg@1339
  1736
    extent  := aView computeExtent.
cg@1339
  1737
cg@1339
  1738
    (self aspectFor:#leftOffset)  value:(extent x).
cg@2022
  1739
    (self aspectFor:#topOffset)   value:(extent y).
cg@3176
  1740
    aSpec notNil ifTrue:[
cg@3176
  1741
        (self aspectFor:#usePreferredWidth) value:(aSpec usePreferredWidth).
cg@3176
  1742
        (self aspectFor:#usePreferredHeight) value:(aSpec usePreferredHeight).
cg@3176
  1743
        (self aspectFor:#useDynamicPreferredWidth) value:(aSpec useDynamicPreferredWidth).
cg@3176
  1744
        (self aspectFor:#useDynamicPreferredHeight) value:(aSpec useDynamicPreferredHeight).
cg@3176
  1745
        (self aspectFor:#useDefaultExtent) value:aSpec useDefaultExtent 
cg@3176
  1746
    ].
ca@1334
  1747
!
ca@1334
  1748
ca@1334
  1749
layout
cg@2022
  1750
    "returns the current extent"
cg@2022
  1751
cg@3235
  1752
    ^ (self aspectValueOr0For:#leftOffset) @ (self aspectValueOr0For:#topOffset)
cg@2022
  1753
! !
cg@2022
  1754
cg@2022
  1755
!UILayoutTool::Extent methodsFor:'aspects'!
cg@2022
  1756
cg@2022
  1757
commonExtentsSpec
cg@2022
  1758
    ^ #( 
cg@2022
  1759
        ('200 x 100'  (200 100) ) 
cg@2022
  1760
        ('300 x 300'  (300 300) ) 
cg@2022
  1761
        ('640 x 400'  (640 400) ) 
cg@2022
  1762
        ('800 x 600'  (800 600) ) 
cg@2214
  1763
        ('1024 x 768'  (1024 768) ) 
cg@2214
  1764
        ('1200 x 800'  (1200 800) ) 
cg@2022
  1765
      )
cg@2022
  1766
!
cg@2022
  1767
cg@2022
  1768
listOfCommonExtents
cg@2022
  1769
    ^ self commonExtentsSpec collect:[:eachRow | eachRow first].
cg@2022
  1770
! !
cg@2022
  1771
cg@2022
  1772
!UILayoutTool::Extent methodsFor:'user actions'!
cg@2022
  1773
cg@2022
  1774
commonExtentSelected:index
cg@2022
  1775
    |xy x y|
cg@2022
  1776
cg@2022
  1777
    xy := (self commonExtentsSpec at:index) second. 
cg@2022
  1778
    x := xy at:1.
cg@2022
  1779
    y := xy at:2.
cg@2022
  1780
cg@2022
  1781
    (self aspectFor:#leftOffset)  value:x.
cg@2022
  1782
    (self aspectFor:#topOffset)   value:y.
cg@2022
  1783
cg@2022
  1784
    (builder componentAt:#CommonExtentsPopUpList) 
cg@2022
  1785
        label:(resources string:'Common Extents').
ca@1334
  1786
! !
ca@1334
  1787
werner@1826
  1788
!UILayoutTool::LayoutFrame class methodsFor:'defaults'!
werner@1826
  1789
werner@1826
  1790
defaultFixPartHeight
werner@1826
  1791
    ^ DefaultFixPartHeight ? 30
werner@1826
  1792
! !
werner@1826
  1793
ca@1447
  1794
!UILayoutTool::LayoutFrame class methodsFor:'help specs'!
ca@1447
  1795
ca@1447
  1796
helpSpec
ca@1447
  1797
    "This resource specification was automatically generated
ca@1447
  1798
     by the UIHelpTool of ST/X."
ca@1447
  1799
ca@1447
  1800
    "Do not manually edit this!! If it is corrupted,
ca@1447
  1801
     the UIHelpTool may not be able to read the specification."
ca@1447
  1802
ca@1447
  1803
    "
ca@1447
  1804
     UIHelpTool openOnClass:UILayoutTool::LayoutFrame    
ca@1447
  1805
    "
ca@1447
  1806
ca@1447
  1807
    <resource: #help>
ca@1447
  1808
ca@1858
  1809
    ^ super helpSpec addPairsFrom:#(
ca@1447
  1810
cg@2949
  1811
#bigBottomFixPartLayout
cg@2949
  1812
'Set layout for a big fixed area at the bottom of the widgets container'
cg@2949
  1813
cg@2949
  1814
#bigHorizontalFixPartLayout
cg@2949
  1815
'Set layout for a big fixed-height area centered vertically in the widgets container'
cg@2949
  1816
cg@2949
  1817
#bigTopFixPartLayout
cg@2949
  1818
'Set layout for a big fixed area at the top of the widgets container'
cg@2949
  1819
ca@1447
  1820
#bottomAbsolute
ca@1447
  1821
'Offset of the bottom edge; positive is to the bottom, negative to the top.'
ca@1447
  1822
ca@1447
  1823
#bottomFixPartLayout
ca@1858
  1824
'Set layout for a small fixed area at the bottom of the widgets container'
ca@1447
  1825
ca@1447
  1826
#bottomHalfLayout
ca@1858
  1827
'Set layout for the bottom half of the widgets container'
ca@1447
  1828
ca@1447
  1829
#bottomLeftQuarterLayout
ca@1858
  1830
'Set layout for the bottom-left quarter of the widgets container'
ca@1447
  1831
ca@1447
  1832
#bottomRelative
ca@1447
  1833
'Relative corner y of the selected widget.'
ca@1447
  1834
ca@1447
  1835
#bottomRightQuarterLayout
ca@1858
  1836
'Set layout for the bottom-right quarter of the widgets container'
ca@1858
  1837
ca@1858
  1838
#fullLayout
ca@1858
  1839
'Set layout to fill all of the widgets container'
ca@1447
  1840
ca@1447
  1841
#horizontalFixPartLayout
ca@1858
  1842
'Set layout for a small fixed-height area centered vertically in the widgets container'
ca@1858
  1843
cg@2953
  1844
#keepSpaceForOSXResizeHandleH
cg@2949
  1845
'Keep space at the right for the window resize handle under MAXOS-X; ignored when running on other systems'
ca@1447
  1846
cg@2953
  1847
#keepSpaceForOSXResizeHandleV
cg@2953
  1848
'Keep space at the bottom for the window resize handle under MAXOS-X; ignored when running on other systems'
cg@2953
  1849
ca@1447
  1850
#leftFixPartLayout
ca@1858
  1851
'Set layout for a small fixed area at the left of the widgets container'
ca@1447
  1852
ca@1447
  1853
#leftHalfLayout
ca@1858
  1854
'Set layout for the left half of the widgets container'
ca@1447
  1855
ca@1447
  1856
#makeBottomAbsolute
ca@1447
  1857
'Compute pure-absolute y.'
ca@1447
  1858
ca@1447
  1859
#makeBottomRelative
cg@1955
  1860
'Compute pure-fractional y.'
ca@1447
  1861
ca@1447
  1862
#makeBottomRelativeFromBottom
cg@2022
  1863
'Compute fraction+offset for y relative to containers bottom.'
ca@1447
  1864
ca@1447
  1865
#makeRightAbsolute
ca@1447
  1866
'Compute pure-absolute x.'
ca@1447
  1867
ca@1447
  1868
#makeRightRelative
cg@1955
  1869
'Compute pure-fractional x.'
ca@1447
  1870
ca@1447
  1871
#makeRightRelativeFromRight
ca@1447
  1872
'Compute fraction+offset for x relative to containers right.'
ca@1447
  1873
ca@1447
  1874
#rightAbsolute
ca@1447
  1875
'Offset of the right edge; positive is to the right, negative to the left.'
ca@1447
  1876
ca@1447
  1877
#rightFixPartLayout
ca@1858
  1878
'Set layout for a small fixed area at the right of the widgets container'
ca@1447
  1879
ca@1447
  1880
#rightHalfLayout
ca@1858
  1881
'Set layout for the right half of the widgets container'
ca@1447
  1882
ca@1447
  1883
#rightRelative
ca@1447
  1884
'Relative corner x of the selected widget.'
ca@1447
  1885
ca@1858
  1886
#screenFrameLayout
ca@1858
  1887
''
ca@1858
  1888
cg@2949
  1889
#useDynamicPreferredWidth
cg@2949
  1890
'Dynamically adapt to any change of the widget''s preferred width'
cg@2949
  1891
cg@2949
  1892
#useDynamicPreferredHeight
cg@2949
  1893
'Dynamically adapt to any change of the widget''s preferred height'
cg@2949
  1894
cg@2949
  1895
#usePreferredHeight
cg@2949
  1896
'Use the widget''s preferred height as initial size'
cg@2949
  1897
cg@2949
  1898
#usePreferredWidth
cg@2949
  1899
'Use the widget''s preferred width as initial size'
cg@2949
  1900
cg@2949
  1901
ca@1447
  1902
#topFixPartLayout
ca@1858
  1903
'Set layout for a small fixed area at the top of the widgets container'
ca@1858
  1904
ca@1447
  1905
#topHalfLayout
ca@1858
  1906
'Set layout for the top half of the widgets container'
ca@1447
  1907
ca@1447
  1908
#topLeftQuarterLayout
ca@1858
  1909
'Set layout for the top-left quarter of the widgets container'
ca@1447
  1910
ca@1447
  1911
#topRightQuarterLayout
ca@1858
  1912
'Set layout for the top-right quarter of the widgets container'
ca@1447
  1913
ca@1447
  1914
#verticalFixPartLayout
ca@1858
  1915
'Set layout for a small fixed-width area centered horizontally in the widgets container'
ca@1447
  1916
ca@1447
  1917
)
ca@1447
  1918
! !
ca@1447
  1919
ca@1447
  1920
!UILayoutTool::LayoutFrame class methodsFor:'image specs'!
ca@1447
  1921
cg@1706
  1922
setBigBottomFixPartIcon
sv@3116
  1923
    <resource: #image>
cg@1706
  1924
    "This resource specification was automatically generated
cg@1706
  1925
     by the ImageEditor of ST/X."
cg@1706
  1926
    "Do not manually edit this!! If it is corrupted,
cg@1706
  1927
     the ImageEditor may not be able to read the specification."
cg@1706
  1928
    "
cg@1706
  1929
     self setBigBottomFixPartIcon inspect
cg@1706
  1930
     ImageEditor openOnClass:self andSelector:#setBigBottomFixPartIcon
sv@3116
  1931
     Icon flushCachedIcons"
sv@3116
  1932
    
sv@3116
  1933
    ^ Icon 
sv@3116
  1934
        constantNamed:'UILayoutTool::LayoutFrame class setBigBottomFixPartIcon'
sv@3116
  1935
        ifAbsentPut:[
sv@3116
  1936
            (Depth4Image new)
sv@3116
  1937
                width:16;
sv@3116
  1938
                height:16;
sv@3116
  1939
                photometric:(#palette);
sv@3116
  1940
                bitsPerSample:(#( 4 ));
sv@3116
  1941
                samplesPerPixel:(1);
sv@3116
  1942
                bits:(ByteArray 
sv@3116
  1943
                            fromPackedString:'
sv@3116
  1944
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"H"H"H"H"@BDQDQDQDQH@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@HQ
sv@3116
  1945
DQDQDQD @!!DQDQDQDR@BDQDQDQDQH@H"H"H"H"H @@@@@@@@@@@b');
sv@3116
  1946
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  1947
                mask:((ImageMask new)
sv@3116
  1948
                            width:16;
sv@3116
  1949
                            height:16;
sv@3116
  1950
                            bits:(ByteArray 
sv@3116
  1951
                                        fromPackedString:'??>A XFA XFA _????????????????????????????<b');
sv@3116
  1952
                            yourself);
sv@3116
  1953
                yourself
sv@3116
  1954
        ]
sv@3116
  1955
!
sv@3116
  1956
sv@3116
  1957
setBigHorizontalFixPartIcon
cg@1706
  1958
    <resource: #image>
cg@1706
  1959
    "This resource specification was automatically generated
cg@1706
  1960
     by the ImageEditor of ST/X."
cg@1706
  1961
    "Do not manually edit this!! If it is corrupted,
cg@1706
  1962
     the ImageEditor may not be able to read the specification."
cg@1706
  1963
    "
cg@1706
  1964
     self setBigHorizontalFixPartIcon inspect
cg@1706
  1965
     ImageEditor openOnClass:self andSelector:#setBigHorizontalFixPartIcon
sv@3116
  1966
     Icon flushCachedIcons"
sv@3116
  1967
    
sv@3116
  1968
    ^ Icon 
sv@3116
  1969
        constantNamed:'UILayoutTool::LayoutFrame class setBigHorizontalFixPartIcon'
sv@3116
  1970
        ifAbsentPut:[
sv@3116
  1971
            (Depth4Image new)
sv@3116
  1972
                width:16;
sv@3116
  1973
                height:16;
sv@3116
  1974
                photometric:(#palette);
sv@3116
  1975
                bitsPerSample:(#( 4 ));
sv@3116
  1976
                samplesPerPixel:(1);
sv@3116
  1977
                bits:(ByteArray 
sv@3116
  1978
                            fromPackedString:'
sv@3116
  1979
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BH"H"H"H"H@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@H"
sv@3116
  1980
H"H"H"H @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b');
sv@3116
  1981
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  1982
                mask:((ImageMask new)
sv@3116
  1983
                            width:16;
sv@3116
  1984
                            height:16;
sv@3116
  1985
                            bits:(ByteArray 
sv@3116
  1986
                                        fromPackedString:'??>A XFA??????????????????????????>A XFA??<b');
sv@3116
  1987
                            yourself);
sv@3116
  1988
                yourself
sv@3116
  1989
        ]
sv@3116
  1990
!
sv@3116
  1991
sv@3116
  1992
setBigTopFixPartIcon
cg@1706
  1993
    <resource: #image>
cg@1706
  1994
    "This resource specification was automatically generated
cg@1706
  1995
     by the ImageEditor of ST/X."
cg@1706
  1996
    "Do not manually edit this!! If it is corrupted,
cg@1706
  1997
     the ImageEditor may not be able to read the specification."
cg@1706
  1998
    "
cg@1706
  1999
     self setBigTopFixPartIcon inspect
cg@1706
  2000
     ImageEditor openOnClass:self andSelector:#setBigTopFixPartIcon
sv@3116
  2001
     Icon flushCachedIcons"
sv@3116
  2002
    
sv@3116
  2003
    ^ Icon 
sv@3116
  2004
        constantNamed:'UILayoutTool::LayoutFrame class setBigTopFixPartIcon'
sv@3116
  2005
        ifAbsentPut:[
sv@3116
  2006
            (Depth4Image new)
sv@3116
  2007
                width:16;
sv@3116
  2008
                height:16;
sv@3116
  2009
                photometric:(#palette);
sv@3116
  2010
                bitsPerSample:(#( 4 ));
sv@3116
  2011
                samplesPerPixel:(1);
sv@3116
  2012
                bits:(ByteArray 
sv@3116
  2013
                            fromPackedString:'
sv@3116
  2014
@@@@@@@@@@@BH"H"H"H"H@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@HQDQDQDQD @"H"H"H"H"@@@@@@@@@@@@@@
sv@3116
  2015
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b');
sv@3116
  2016
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2017
                mask:((ImageMask new)
sv@3116
  2018
                            width:16;
sv@3116
  2019
                            height:16;
sv@3116
  2020
                            bits:(ByteArray 
sv@3116
  2021
                                        fromPackedString:'?????????????????????????????8FA XFA XFA??<b');
sv@3116
  2022
                            yourself);
sv@3116
  2023
                yourself
sv@3116
  2024
        ]
sv@3116
  2025
!
sv@3116
  2026
sv@3116
  2027
setBottomFixPartIcon
cg@1706
  2028
    <resource: #image>
ca@1447
  2029
    "This resource specification was automatically generated
ca@1447
  2030
     by the ImageEditor of ST/X."
ca@1447
  2031
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2032
     the ImageEditor may not be able to read the specification."
ca@1447
  2033
    "
ca@1447
  2034
     self setBottomFixPartIcon inspect
ca@1447
  2035
     ImageEditor openOnClass:self andSelector:#setBottomFixPartIcon
sv@3116
  2036
     Icon flushCachedIcons"
sv@3116
  2037
    
sv@3116
  2038
    ^ Icon 
sv@3116
  2039
        constantNamed:'UILayoutTool::LayoutFrame class setBottomFixPartIcon'
sv@3116
  2040
        ifAbsentPut:[
sv@3116
  2041
            (Depth4Image new)
sv@3116
  2042
                width:16;
sv@3116
  2043
                height:16;
sv@3116
  2044
                photometric:(#palette);
sv@3116
  2045
                bitsPerSample:(#( 4 ));
sv@3116
  2046
                samplesPerPixel:(1);
sv@3116
  2047
                bits:(ByteArray 
sv@3116
  2048
                            fromPackedString:'
sv@3116
  2049
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H"
sv@3116
  2050
H"@BH"H @!!DQD@DQDR@BDQDP@QDQH@H"H"@BH"H @@@@@@@@@@@b');
sv@3116
  2051
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2052
                mask:((ImageMask new)
sv@3116
  2053
                            width:16;
sv@3116
  2054
                            height:16;
sv@3116
  2055
                            bits:(ByteArray 
sv@3116
  2056
                                        fromPackedString:'??>@@X@A @F@@X@A @F@@X@A @G???????????????<b');
sv@3116
  2057
                            yourself);
sv@3116
  2058
                yourself
sv@3116
  2059
        ]
sv@3116
  2060
!
sv@3116
  2061
sv@3116
  2062
setBottomHalfIcon
ca@1447
  2063
    <resource: #image>
ca@1447
  2064
    "This resource specification was automatically generated
ca@1447
  2065
     by the ImageEditor of ST/X."
ca@1447
  2066
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2067
     the ImageEditor may not be able to read the specification."
ca@1447
  2068
    "
ca@1447
  2069
     self setBottomHalfIcon inspect
ca@1447
  2070
     ImageEditor openOnClass:self andSelector:#setBottomHalfIcon
sv@3116
  2071
     Icon flushCachedIcons"
sv@3116
  2072
    
sv@3116
  2073
    ^ Icon constantNamed:'UILayoutTool::LayoutFrame class setBottomHalfIcon'
sv@3116
  2074
        ifAbsentPut:[
sv@3116
  2075
            (Depth4Image new)
sv@3116
  2076
                width:16;
sv@3116
  2077
                height:16;
sv@3116
  2078
                photometric:(#palette);
sv@3116
  2079
                bitsPerSample:(#( 4 ));
sv@3116
  2080
                samplesPerPixel:(1);
sv@3116
  2081
                bits:(ByteArray 
sv@3116
  2082
                            fromPackedString:'
sv@3116
  2083
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"H"H"H"H"@BDQDQDQDQH@HQ
sv@3116
  2084
DQDQDQD @!!DQDQDQDR@BDQDQDQDQH@H"H"H"H"H @@@@@@@@@@@b');
sv@3116
  2085
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2086
                mask:((ImageMask new)
sv@3116
  2087
                            width:16;
sv@3116
  2088
                            height:16;
sv@3116
  2089
                            bits:(ByteArray 
sv@3116
  2090
                                        fromPackedString:'??>@@X@A @F@@X@A @F@@_????????????????????<b');
sv@3116
  2091
                            yourself);
sv@3116
  2092
                yourself
sv@3116
  2093
        ]
sv@3116
  2094
!
sv@3116
  2095
sv@3116
  2096
setBottomLeftQuarterIcon
ca@1447
  2097
    <resource: #image>
ca@1447
  2098
    "This resource specification was automatically generated
ca@1447
  2099
     by the ImageEditor of ST/X."
ca@1447
  2100
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2101
     the ImageEditor may not be able to read the specification."
ca@1447
  2102
    "
ca@1447
  2103
     self setBottomLeftQuarterIcon inspect
ca@1447
  2104
     ImageEditor openOnClass:self andSelector:#setBottomLeftQuarterIcon
sv@3116
  2105
     Icon flushCachedIcons"
sv@3116
  2106
    
sv@3116
  2107
    ^ Icon 
sv@3116
  2108
        constantNamed:'UILayoutTool::LayoutFrame class setBottomLeftQuarterIcon'
sv@3116
  2109
        ifAbsentPut:[
sv@3116
  2110
            (Depth4Image new)
sv@3116
  2111
                width:16;
sv@3116
  2112
                height:16;
sv@3116
  2113
                photometric:(#palette);
sv@3116
  2114
                bitsPerSample:(#( 4 ));
sv@3116
  2115
                samplesPerPixel:(1);
sv@3116
  2116
                bits:(ByteArray 
sv@3116
  2117
                            fromPackedString:'
sv@3116
  2118
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H"H"@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQ
sv@3116
  2119
DR@@@@@@@!!DQH@@@@@@BDQD @@@@@@H"H"@@@@@@@@@@@@@@@@@b');
sv@3116
  2120
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2121
                mask:((ImageMask new)
sv@3116
  2122
                            width:16;
sv@3116
  2123
                            height:16;
sv@3116
  2124
                            bits:(ByteArray 
sv@3116
  2125
                                        fromPackedString:'??>@@X@A @F@@X@A @G?@_<A?0G?@_<A?0G?@_<A??<b');
sv@3116
  2126
                            yourself);
sv@3116
  2127
                yourself
sv@3116
  2128
        ]
sv@3116
  2129
!
sv@3116
  2130
sv@3116
  2131
setBottomRightQuarterIcon
ca@1447
  2132
    <resource: #image>
ca@1447
  2133
    "This resource specification was automatically generated
ca@1447
  2134
     by the ImageEditor of ST/X."
ca@1447
  2135
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2136
     the ImageEditor may not be able to read the specification."
ca@1447
  2137
    "
ca@1447
  2138
     self setBottomRightQuarterIcon inspect
ca@1447
  2139
     ImageEditor openOnClass:self andSelector:#setBottomRightQuarterIcon
sv@3116
  2140
     Icon flushCachedIcons"
sv@3116
  2141
    
sv@3116
  2142
    ^ Icon 
sv@3116
  2143
        constantNamed:'UILayoutTool::LayoutFrame class setBottomRightQuarterIcon'
sv@3116
  2144
        ifAbsentPut:[
sv@3116
  2145
            (Depth4Image new)
sv@3116
  2146
                width:16;
sv@3116
  2147
                height:16;
sv@3116
  2148
                photometric:(#palette);
sv@3116
  2149
                bitsPerSample:(#( 4 ));
sv@3116
  2150
                samplesPerPixel:(1);
sv@3116
  2151
                bits:(ByteArray 
sv@3116
  2152
                            fromPackedString:'
sv@3116
  2153
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BH"H"@@@@@@HQDQH@@@
sv@3116
  2154
@@@!!DQD @@@@@BDQDR@@@@@@HQDQH@@@@@@"H"H @@@@@@@@@@@b');
sv@3116
  2155
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2156
                mask:((ImageMask new)
sv@3116
  2157
                            width:16;
sv@3116
  2158
                            height:16;
sv@3116
  2159
                            bits:(ByteArray 
sv@3116
  2160
                                        fromPackedString:'??>@@X@A @F@@X@A @F@@XG? _>A?8G? _>A?8G???<b');
sv@3116
  2161
                            yourself);
sv@3116
  2162
                yourself
sv@3116
  2163
        ]
sv@3116
  2164
!
sv@3116
  2165
sv@3116
  2166
setFullIcon
ca@1447
  2167
    <resource: #image>
cg@1680
  2168
    "This resource specification was automatically generated
cg@1680
  2169
     by the ImageEditor of ST/X."
cg@1680
  2170
    "Do not manually edit this!! If it is corrupted,
cg@1680
  2171
     the ImageEditor may not be able to read the specification."
cg@1680
  2172
    "
cg@1680
  2173
     self setFullIcon inspect
cg@1680
  2174
     ImageEditor openOnClass:self andSelector:#setFullIcon
sv@3116
  2175
     Icon flushCachedIcons"
sv@3116
  2176
    
sv@3116
  2177
    ^ Icon constantNamed:'UILayoutTool::LayoutFrame class setFullIcon'
sv@3116
  2178
        ifAbsentPut:[
sv@3116
  2179
            (Depth4Image new)
sv@3116
  2180
                width:16;
sv@3116
  2181
                height:16;
sv@3116
  2182
                photometric:(#palette);
sv@3116
  2183
                bitsPerSample:(#( 4 ));
sv@3116
  2184
                samplesPerPixel:(1);
sv@3116
  2185
                bits:(ByteArray 
sv@3116
  2186
                            fromPackedString:'
sv@3116
  2187
@@@@@@@@@@@BH"H"H"H"H@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@HQ
sv@3116
  2188
DQDQDQD @!!DQDQDQDR@BDQDQDQDQH@H"H"H"H"H @@@@@@@@@@@b');
sv@3116
  2189
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2190
                mask:((ImageMask new)
sv@3116
  2191
                            width:16;
sv@3116
  2192
                            height:16;
sv@3116
  2193
                            bits:(ByteArray 
sv@3116
  2194
                                        fromPackedString:'??????????????????????????????????????????<b');
sv@3116
  2195
                            yourself);
sv@3116
  2196
                yourself
sv@3116
  2197
        ]
sv@3116
  2198
!
sv@3116
  2199
sv@3116
  2200
setHorizontalFixPartIcon
cg@1680
  2201
    <resource: #image>
ca@1447
  2202
    "This resource specification was automatically generated
ca@1447
  2203
     by the ImageEditor of ST/X."
ca@1447
  2204
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2205
     the ImageEditor may not be able to read the specification."
ca@1447
  2206
    "
ca@1447
  2207
     self setHorizontalFixPartIcon inspect
ca@1447
  2208
     ImageEditor openOnClass:self andSelector:#setHorizontalFixPartIcon
sv@3116
  2209
     Icon flushCachedIcons"
sv@3116
  2210
    
sv@3116
  2211
    ^ Icon 
sv@3116
  2212
        constantNamed:'UILayoutTool::LayoutFrame class setHorizontalFixPartIcon'
sv@3116
  2213
        ifAbsentPut:[
sv@3116
  2214
            (Depth4Image new)
sv@3116
  2215
                width:16;
sv@3116
  2216
                height:16;
sv@3116
  2217
                photometric:(#palette);
sv@3116
  2218
                bitsPerSample:(#( 4 ));
sv@3116
  2219
                samplesPerPixel:(1);
sv@3116
  2220
                bits:(ByteArray 
sv@3116
  2221
                            fromPackedString:'
sv@3116
  2222
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"H"H@H"H"@BDQDP@QDQH@HQDQ@ADQD @"H"H@H"H"@@@@@@@@@@@@@@
sv@3116
  2223
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b');
sv@3116
  2224
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2225
                mask:((ImageMask new)
sv@3116
  2226
                            width:16;
sv@3116
  2227
                            height:16;
sv@3116
  2228
                            bits:(ByteArray 
sv@3116
  2229
                                        fromPackedString:'??>@@X@A @F@@_???????????????8@A @F@@X@A??<b');
sv@3116
  2230
                            yourself);
sv@3116
  2231
                yourself
sv@3116
  2232
        ]
sv@3116
  2233
!
sv@3116
  2234
sv@3116
  2235
setLeftFixPartIcon
ca@1447
  2236
    <resource: #image>
ca@1447
  2237
    "This resource specification was automatically generated
ca@1447
  2238
     by the ImageEditor of ST/X."
ca@1447
  2239
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2240
     the ImageEditor may not be able to read the specification."
ca@1447
  2241
    "
ca@1447
  2242
     self setLeftFixPartIcon inspect
ca@1447
  2243
     ImageEditor openOnClass:self andSelector:#setLeftFixPartIcon
sv@3116
  2244
     Icon flushCachedIcons"
sv@3116
  2245
    
sv@3116
  2246
    ^ Icon constantNamed:'UILayoutTool::LayoutFrame class setLeftFixPartIcon'
sv@3116
  2247
        ifAbsentPut:[
sv@3116
  2248
            (Depth4Image new)
sv@3116
  2249
                width:16;
sv@3116
  2250
                height:16;
sv@3116
  2251
                photometric:(#palette);
sv@3116
  2252
                bitsPerSample:(#( 4 ));
sv@3116
  2253
                samplesPerPixel:(1);
sv@3116
  2254
                bits:(ByteArray 
sv@3116
  2255
                            fromPackedString:'
sv@3116
  2256
@@@@@@@@@@@BH"@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@@@@@@@@@@@@@@@@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQ
sv@3116
  2257
H@@@@@@@@!!D @@@@@@@BDR@@@@@@@@H"H@@@@@@@@@@@@@@@@@@b');
sv@3116
  2258
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2259
                mask:((ImageMask new)
sv@3116
  2260
                            width:16;
sv@3116
  2261
                            height:16;
sv@3116
  2262
                            bits:(ByteArray 
sv@3116
  2263
                                        fromPackedString:'???<@_0A?@G<@_0A?@G<@_0A?@G<@_0A?@G<@_0A??<b');
sv@3116
  2264
                            yourself);
sv@3116
  2265
                yourself
sv@3116
  2266
        ]
sv@3116
  2267
!
sv@3116
  2268
sv@3116
  2269
setLeftHalfIcon
ca@1447
  2270
    <resource: #image>
ca@1447
  2271
    "This resource specification was automatically generated
ca@1447
  2272
     by the ImageEditor of ST/X."
ca@1447
  2273
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2274
     the ImageEditor may not be able to read the specification."
ca@1447
  2275
    "
ca@1447
  2276
     self setLeftHalfIcon inspect
ca@1447
  2277
     ImageEditor openOnClass:self andSelector:#setLeftHalfIcon
sv@3116
  2278
     Icon flushCachedIcons"
sv@3116
  2279
    
sv@3116
  2280
    ^ Icon constantNamed:'UILayoutTool::LayoutFrame class setLeftHalfIcon'
sv@3116
  2281
        ifAbsentPut:[
sv@3116
  2282
            (Depth4Image new)
sv@3116
  2283
                width:16;
sv@3116
  2284
                height:16;
sv@3116
  2285
                photometric:(#palette);
sv@3116
  2286
                bitsPerSample:(#( 4 ));
sv@3116
  2287
                samplesPerPixel:(1);
sv@3116
  2288
                bits:(ByteArray 
sv@3116
  2289
                            fromPackedString:'
sv@3116
  2290
@@@@@@@@@@@BH"H @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQ
sv@3116
  2291
DR@@@@@@@!!DQH@@@@@@BDQD @@@@@@H"H"@@@@@@@@@@@@@@@@@b');
sv@3116
  2292
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2293
                mask:((ImageMask new)
sv@3116
  2294
                            width:16;
sv@3116
  2295
                            height:16;
sv@3116
  2296
                            bits:(ByteArray 
sv@3116
  2297
                                        fromPackedString:'????@_<A?0G?@_<A?0G?@_<A?0G?@_<A?0G?@_<A??<b');
sv@3116
  2298
                            yourself);
sv@3116
  2299
                yourself
sv@3116
  2300
        ]
sv@3116
  2301
!
sv@3116
  2302
sv@3116
  2303
setRightFixPartIcon
ca@1447
  2304
    <resource: #image>
ca@1447
  2305
    "This resource specification was automatically generated
ca@1447
  2306
     by the ImageEditor of ST/X."
ca@1447
  2307
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2308
     the ImageEditor may not be able to read the specification."
ca@1447
  2309
    "
ca@1447
  2310
     self setRightFixPartIcon inspect
ca@1447
  2311
     ImageEditor openOnClass:self andSelector:#setRightFixPartIcon
sv@3116
  2312
     Icon flushCachedIcons"
sv@3116
  2313
    
sv@3116
  2314
    ^ Icon 
sv@3116
  2315
        constantNamed:'UILayoutTool::LayoutFrame class setRightFixPartIcon'
sv@3116
  2316
        ifAbsentPut:[
sv@3116
  2317
            (Depth4Image new)
sv@3116
  2318
                width:16;
sv@3116
  2319
                height:16;
sv@3116
  2320
                photometric:(#palette);
sv@3116
  2321
                bitsPerSample:(#( 4 ));
sv@3116
  2322
                samplesPerPixel:(1);
sv@3116
  2323
                bits:(ByteArray 
sv@3116
  2324
                            fromPackedString:'
sv@3116
  2325
@@@@@@@@@@@@@@@@@@H"H@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BDR@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BDR@@@@@@@@HQH@@@
sv@3116
  2326
@@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@"H @@@@@@@@@@@b');
sv@3116
  2327
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2328
                mask:((ImageMask new)
sv@3116
  2329
                            width:16;
sv@3116
  2330
                            height:16;
sv@3116
  2331
                            bits:(ByteArray 
sv@3116
  2332
                                        fromPackedString:'??>@O8@? C>@O8@? C>@O8@? C>@O8@? C>@O8@???<b');
sv@3116
  2333
                            yourself);
sv@3116
  2334
                yourself
sv@3116
  2335
        ]
sv@3116
  2336
!
sv@3116
  2337
sv@3116
  2338
setRightHalfIcon
ca@1447
  2339
    <resource: #image>
ca@1447
  2340
    "This resource specification was automatically generated
ca@1447
  2341
     by the ImageEditor of ST/X."
ca@1447
  2342
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2343
     the ImageEditor may not be able to read the specification."
ca@1447
  2344
    "
ca@1447
  2345
     self setRightHalfIcon inspect
ca@1447
  2346
     ImageEditor openOnClass:self andSelector:#setRightHalfIcon
sv@3116
  2347
     Icon flushCachedIcons"
sv@3116
  2348
    
sv@3116
  2349
    ^ Icon constantNamed:'UILayoutTool::LayoutFrame class setRightHalfIcon'
sv@3116
  2350
        ifAbsentPut:[
sv@3116
  2351
            (Depth4Image new)
sv@3116
  2352
                width:16;
sv@3116
  2353
                height:16;
sv@3116
  2354
                photometric:(#palette);
sv@3116
  2355
                bitsPerSample:(#( 4 ));
sv@3116
  2356
                samplesPerPixel:(1);
sv@3116
  2357
                bits:(ByteArray 
sv@3116
  2358
                            fromPackedString:'
sv@3116
  2359
@@@@@@@@@@@@@@@@@"H"H@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@
sv@3116
  2360
@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BH"H @@@@@@@@@@@b');
sv@3116
  2361
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2362
                mask:((ImageMask new)
sv@3116
  2363
                            width:16;
sv@3116
  2364
                            height:16;
sv@3116
  2365
                            bits:(ByteArray 
sv@3116
  2366
                                        fromPackedString:'??>@?8C? O>@?8C? O>@?8C? O>@?8C? O>@?8C???<b');
sv@3116
  2367
                            yourself);
sv@3116
  2368
                yourself
sv@3116
  2369
        ]
sv@3116
  2370
!
sv@3116
  2371
sv@3116
  2372
setToRightQuarterIcon
ca@1447
  2373
    <resource: #image>
ca@1447
  2374
    "This resource specification was automatically generated
ca@1447
  2375
     by the ImageEditor of ST/X."
ca@1447
  2376
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2377
     the ImageEditor may not be able to read the specification."
ca@1447
  2378
    "
ca@1447
  2379
     self setToRightQuarterIcon inspect
ca@1447
  2380
     ImageEditor openOnClass:self andSelector:#setToRightQuarterIcon
sv@3116
  2381
     Icon flushCachedIcons"
sv@3116
  2382
    
sv@3116
  2383
    ^ Icon 
sv@3116
  2384
        constantNamed:'UILayoutTool::LayoutFrame class setToRightQuarterIcon'
sv@3116
  2385
        ifAbsentPut:[
sv@3116
  2386
            (Depth4Image new)
sv@3116
  2387
                width:16;
sv@3116
  2388
                height:16;
sv@3116
  2389
                photometric:(#palette);
sv@3116
  2390
                bitsPerSample:(#( 4 ));
sv@3116
  2391
                samplesPerPixel:(1);
sv@3116
  2392
                bits:(ByteArray 
sv@3116
  2393
                            fromPackedString:'
sv@3116
  2394
@@@@@@@@@@@@@@@@@"H"H@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@"H"H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
sv@3116
  2395
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b');
sv@3116
  2396
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2397
                mask:((ImageMask new)
sv@3116
  2398
                            width:16;
sv@3116
  2399
                            height:16;
sv@3116
  2400
                            bits:(ByteArray 
sv@3116
  2401
                                        fromPackedString:'??>@?8C? O>@?8C? O>@?8C? @F@@X@A @F@@X@A??<b');
sv@3116
  2402
                            yourself);
sv@3116
  2403
                yourself
sv@3116
  2404
        ]
sv@3116
  2405
!
sv@3116
  2406
sv@3116
  2407
setTopFixPartIcon
ca@1447
  2408
    <resource: #image>
ca@1447
  2409
    "This resource specification was automatically generated
ca@1447
  2410
     by the ImageEditor of ST/X."
ca@1447
  2411
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2412
     the ImageEditor may not be able to read the specification."
ca@1447
  2413
    "
ca@1447
  2414
     self setTopFixPartIcon inspect
ca@1447
  2415
     ImageEditor openOnClass:self andSelector:#setTopFixPartIcon
sv@3116
  2416
     Icon flushCachedIcons"
sv@3116
  2417
    
sv@3116
  2418
    ^ Icon constantNamed:'UILayoutTool::LayoutFrame class setTopFixPartIcon'
sv@3116
  2419
        ifAbsentPut:[
sv@3116
  2420
            (Depth4Image new)
sv@3116
  2421
                width:16;
sv@3116
  2422
                height:16;
sv@3116
  2423
                photometric:(#palette);
sv@3116
  2424
                bitsPerSample:(#( 4 ));
sv@3116
  2425
                samplesPerPixel:(1);
sv@3116
  2426
                bits:(ByteArray 
sv@3116
  2427
                            fromPackedString:'
sv@3116
  2428
@@@@@@@@@@@BH"H @"H"H@HQDQ@ADQD @!!DQD@DQDR@BH"H @"H"H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
sv@3116
  2429
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b');
sv@3116
  2430
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2431
                mask:((ImageMask new)
sv@3116
  2432
                            width:16;
sv@3116
  2433
                            height:16;
sv@3116
  2434
                            bits:(ByteArray 
sv@3116
  2435
                                        fromPackedString:'???????????????? @F@@X@A @F@@X@A @F@@X@A??<b');
sv@3116
  2436
                            yourself);
sv@3116
  2437
                yourself
sv@3116
  2438
        ]
sv@3116
  2439
!
sv@3116
  2440
sv@3116
  2441
setTopHalfIcon
ca@1447
  2442
    <resource: #image>
ca@1447
  2443
    "This resource specification was automatically generated
ca@1447
  2444
     by the ImageEditor of ST/X."
ca@1447
  2445
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2446
     the ImageEditor may not be able to read the specification."
ca@1447
  2447
    "
ca@1447
  2448
     self setTopHalfIcon inspect
ca@1447
  2449
     ImageEditor openOnClass:self andSelector:#setTopHalfIcon
sv@3116
  2450
     Icon flushCachedIcons"
sv@3116
  2451
    
sv@3116
  2452
    ^ Icon constantNamed:'UILayoutTool::LayoutFrame class setTopHalfIcon'
sv@3116
  2453
        ifAbsentPut:[
sv@3116
  2454
            (Depth4Image new)
sv@3116
  2455
                width:16;
sv@3116
  2456
                height:16;
sv@3116
  2457
                photometric:(#palette);
sv@3116
  2458
                bitsPerSample:(#( 4 ));
sv@3116
  2459
                samplesPerPixel:(1);
sv@3116
  2460
                bits:(ByteArray 
sv@3116
  2461
                            fromPackedString:'
sv@3116
  2462
@@@@@@@@@@@BH"H"H"H"H@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@HQDQDQDQD @"H"H"H"H"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
sv@3116
  2463
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b');
sv@3116
  2464
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2465
                mask:((ImageMask new)
sv@3116
  2466
                            width:16;
sv@3116
  2467
                            height:16;
sv@3116
  2468
                            bits:(ByteArray 
sv@3116
  2469
                                        fromPackedString:'?????????????????????8@A @F@@X@A @F@@X@A??<b');
sv@3116
  2470
                            yourself);
sv@3116
  2471
                yourself
sv@3116
  2472
        ]
sv@3116
  2473
!
sv@3116
  2474
sv@3116
  2475
setTopLeftQuarterIcon
ca@1447
  2476
    <resource: #image>
ca@1447
  2477
    "This resource specification was automatically generated
ca@1447
  2478
     by the ImageEditor of ST/X."
ca@1447
  2479
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2480
     the ImageEditor may not be able to read the specification."
ca@1447
  2481
    "
ca@1447
  2482
     self setTopLeftQuarterIcon inspect
ca@1447
  2483
     ImageEditor openOnClass:self andSelector:#setTopLeftQuarterIcon
sv@3116
  2484
     Icon flushCachedIcons"
sv@3116
  2485
    
sv@3116
  2486
    ^ Icon 
sv@3116
  2487
        constantNamed:'UILayoutTool::LayoutFrame class setTopLeftQuarterIcon'
sv@3116
  2488
        ifAbsentPut:[
sv@3116
  2489
            (Depth4Image new)
sv@3116
  2490
                width:16;
sv@3116
  2491
                height:16;
sv@3116
  2492
                photometric:(#palette);
sv@3116
  2493
                bitsPerSample:(#( 4 ));
sv@3116
  2494
                samplesPerPixel:(1);
sv@3116
  2495
                bits:(ByteArray 
sv@3116
  2496
                            fromPackedString:'
sv@3116
  2497
@@@@@@@@@@@BH"H"@@@@@@HQDQH@@@@@@!!DQD @@@@@BDQDR@@@@@@HQDQH@@@@@@"H"H @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
sv@3116
  2498
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b');
sv@3116
  2499
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2500
                mask:((ImageMask new)
sv@3116
  2501
                            width:16;
sv@3116
  2502
                            height:16;
sv@3116
  2503
                            bits:(ByteArray 
sv@3116
  2504
                                        fromPackedString:'???? _>A?8G? _>A?8G? X@A @F@@X@A @F@@X@A??<b');
sv@3116
  2505
                            yourself);
sv@3116
  2506
                yourself
sv@3116
  2507
        ]
sv@3116
  2508
!
sv@3116
  2509
sv@3116
  2510
setVerticalFixPartIcon
ca@1447
  2511
    <resource: #image>
ca@1447
  2512
    "This resource specification was automatically generated
ca@1447
  2513
     by the ImageEditor of ST/X."
ca@1447
  2514
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2515
     the ImageEditor may not be able to read the specification."
ca@1447
  2516
    "
ca@1447
  2517
     self setVerticalFixPartIcon inspect
ca@1447
  2518
     ImageEditor openOnClass:self andSelector:#setVerticalFixPartIcon
sv@3116
  2519
     Icon flushCachedIcons"
sv@3116
  2520
    
sv@3116
  2521
    ^ Icon 
cg@2269
  2522
        constantNamed:'UILayoutTool::LayoutFrame class setVerticalFixPartIcon'
sv@3116
  2523
        ifAbsentPut:[
sv@3116
  2524
            (Depth4Image new)
sv@3116
  2525
                width:16;
sv@3116
  2526
                height:16;
sv@3116
  2527
                photometric:(#palette);
sv@3116
  2528
                bitsPerSample:(#( 4 ));
sv@3116
  2529
                samplesPerPixel:(1);
sv@3116
  2530
                bits:(ByteArray 
sv@3116
  2531
                            fromPackedString:'
ca@1447
  2532
@@@@@@@@@@@@@@@"H @@@@@@@BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HQH@@@@@@@@!!D @@@@@@
sv@3116
  2533
@BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BH"@@@@@@@@@@@@@@@b');
sv@3116
  2534
                colorMapFromArray:#[ 0 0 0 255 0 0 255 255 255 ];
sv@3116
  2535
                mask:((ImageMask new)
sv@3116
  2536
                            width:16;
sv@3116
  2537
                            height:16;
sv@3116
  2538
                            bits:(ByteArray 
sv@3116
  2539
                                        fromPackedString:'??>G8X_!!!!>FG8X_!!!!>FG8X_!!!!>FG8X_!!!!>FG8X_!!??<b');
sv@3116
  2540
                            yourself);
sv@3116
  2541
                yourself
sv@3116
  2542
        ]
ca@1447
  2543
! !
ca@1447
  2544
ca@1447
  2545
!UILayoutTool::LayoutFrame class methodsFor:'interface specs'!
ca@1447
  2546
ca@1447
  2547
windowSpec
ca@1447
  2548
    "This resource specification was automatically generated
ca@1447
  2549
     by the UIPainter of ST/X."
ca@1447
  2550
ca@1447
  2551
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2552
     the UIPainter may not be able to read the specification."
ca@1447
  2553
ca@1447
  2554
    "
ca@1447
  2555
     UIPainter new openOnClass:UILayoutTool::LayoutFrame andSelector:#windowSpec
ca@1447
  2556
     UILayoutTool::LayoutFrame new openInterface:#windowSpec
ca@1447
  2557
     UILayoutTool::LayoutFrame open
ca@1447
  2558
    "
ca@1447
  2559
ca@1447
  2560
    <resource: #canvas>
ca@1447
  2561
ca@1447
  2562
    ^ 
cg@3052
  2563
    #(FullSpec
cg@3052
  2564
       name: windowSpec
cg@3052
  2565
       window: 
cg@3052
  2566
      (WindowSpec
cg@3052
  2567
         label: 'UILayoutTool-LayoutFrame'
cg@3052
  2568
         name: 'UILayoutTool-LayoutFrame'
cg@3052
  2569
         min: (Point 10 10)
cg@3052
  2570
         bounds: (Rectangle 0 0 527 393)
cg@3052
  2571
       )
cg@3052
  2572
       component: 
cg@3052
  2573
      (SpecCollection
cg@3052
  2574
         collection: (
cg@3052
  2575
          (UISubSpecification
cg@3052
  2576
             name: 'layoutOriginSpec'
cg@3240
  2577
             layout: (LayoutFrame 1 0.0 6 0 0 1.0 112 0)
cg@3052
  2578
             majorKey: UILayoutTool
cg@3052
  2579
             minorKey: layoutOriginSpec
cg@3052
  2580
           )
cg@3052
  2581
          (FramedBoxSpec
cg@3052
  2582
             label: 'Corner'
cg@3052
  2583
             name: 'FramedBox'
cg@3052
  2584
             layout: (LayoutFrame 1 0.0 113 0 0 1.0 266 0)
cg@3052
  2585
             labelPosition: topLeft
cg@3052
  2586
             translateLabel: true
cg@3052
  2587
             component: 
cg@3052
  2588
            (SpecCollection
cg@3052
  2589
               collection: (
cg@3052
  2590
                (LabelSpec
cg@3052
  2591
                   label: 'Right:'
cg@3052
  2592
                   name: 'labelRight'
cg@3052
  2593
                   layout: (AlignmentOrigin 68 0 16 0 1 0)
cg@3052
  2594
                   translateLabel: true
ca@1447
  2595
                 )
cg@3052
  2596
                (ActionButtonSpec
cg@3052
  2597
                   label: 'imageFractX'
cg@3052
  2598
                   name: 'actionRelativeRight'
cg@3052
  2599
                   layout: (LayoutFrame 78 0 14 0 100 0 36 0)
cg@3052
  2600
                   activeHelpKey: makeRightRelative
cg@3052
  2601
                   hasCharacterOrientedLabel: false
cg@3240
  2602
                   translateLabel: true
cg@3052
  2603
                   tabable: true
cg@3052
  2604
                   model: relativeRight
cg@3052
  2605
                 )
cg@3052
  2606
                (InputFieldSpec
cg@3052
  2607
                   name: 'fieldRightFraction'
cg@3052
  2608
                   layout: (LayoutFrame 103 0 14 0 153 0 36 0)
cg@3052
  2609
                   activeHelpKey: rightRelative
cg@3052
  2610
                   tabable: true
cg@3052
  2611
                   model: rightFraction
cg@3052
  2612
                   group: inputGroup
cg@3052
  2613
                   type: numberOrNil
cg@3052
  2614
                   acceptOnLostFocus: true
cg@3052
  2615
                   acceptChannel: acceptChannel
cg@3052
  2616
                   modifiedChannel: modifiedChannel
cg@3052
  2617
                   acceptOnPointerLeave: true
cg@3052
  2618
                 )
cg@3052
  2619
                (ActionButtonSpec
cg@3052
  2620
                   label: 'imageAbsX'
cg@3052
  2621
                   name: 'actionAbsoluteRight'
cg@3052
  2622
                   layout: (LayoutFrame 178 0 14 0 200 0 36 0)
cg@3052
  2623
                   activeHelpKey: makeRightAbsolute
cg@3052
  2624
                   hasCharacterOrientedLabel: false
cg@3240
  2625
                   translateLabel: true
cg@3052
  2626
                   tabable: true
cg@3052
  2627
                   model: absoluteRight
cg@3052
  2628
                 )
cg@3052
  2629
                (InputFieldSpec
cg@3052
  2630
                   name: 'fieldRightOffset'
cg@3052
  2631
                   layout: (LayoutFrame 203 0 14 0 253 0 36 0)
cg@3052
  2632
                   activeHelpKey: rightAbsolute
cg@3052
  2633
                   tabable: true
cg@3052
  2634
                   model: rightOffset
cg@3052
  2635
                   group: inputGroup
cg@3052
  2636
                   type: numberOrNil
cg@3052
  2637
                   acceptOnLostFocus: true
cg@3052
  2638
                   acceptChannel: acceptChannel
cg@3052
  2639
                   modifiedChannel: modifiedChannel
cg@3052
  2640
                   acceptOnPointerLeave: true
cg@3052
  2641
                 )
cg@3052
  2642
                (ActionButtonSpec
cg@3052
  2643
                   label: 'imageAbsXFromRight'
cg@3052
  2644
                   name: 'actionRightRelativeRight'
cg@3052
  2645
                   layout: (LayoutFrame 257 0 14 0 279 0 36 0)
cg@3052
  2646
                   activeHelpKey: makeRightRelativeFromRight
cg@3052
  2647
                   hasCharacterOrientedLabel: false
cg@3240
  2648
                   translateLabel: true
cg@3052
  2649
                   tabable: true
cg@3052
  2650
                   model: rightRelativeRight
cg@3052
  2651
                 )
cg@3052
  2652
                (LabelSpec
cg@3052
  2653
                   label: 'Bottom:'
cg@3052
  2654
                   name: 'labelBottom'
cg@3052
  2655
                   layout: (AlignmentOrigin 68 0 44 0 1 0)
cg@3052
  2656
                   translateLabel: true
cg@3052
  2657
                 )
cg@3052
  2658
                (ActionButtonSpec
cg@3052
  2659
                   label: 'imageFractY'
cg@3052
  2660
                   name: 'actionRelativeBottom'
cg@3052
  2661
                   layout: (LayoutFrame 78 0 42 0 100 0 64 0)
cg@3052
  2662
                   activeHelpKey: makeBottomRelative
cg@3052
  2663
                   hasCharacterOrientedLabel: false
cg@3240
  2664
                   translateLabel: true
cg@3052
  2665
                   tabable: true
cg@3052
  2666
                   model: relativeBottom
cg@3052
  2667
                 )
cg@3052
  2668
                (InputFieldSpec
cg@3052
  2669
                   name: 'fieldBottomFraction'
cg@3052
  2670
                   layout: (LayoutFrame 103 0 42 0 153 0 64 0)
cg@3052
  2671
                   activeHelpKey: bottomRelative
cg@3052
  2672
                   tabable: true
cg@3052
  2673
                   model: bottomFraction
cg@3052
  2674
                   group: inputGroup
cg@3052
  2675
                   type: numberOrNil
cg@3052
  2676
                   acceptOnLostFocus: true
cg@3052
  2677
                   acceptChannel: acceptChannel
cg@3052
  2678
                   modifiedChannel: modifiedChannel
cg@3052
  2679
                   acceptOnPointerLeave: true
cg@3052
  2680
                 )
cg@3052
  2681
                (ActionButtonSpec
cg@3052
  2682
                   label: 'imageAbsY'
cg@3052
  2683
                   name: 'actionAbsoluteBottom'
cg@3052
  2684
                   layout: (LayoutFrame 178 0 42 0 200 0 64 0)
cg@3052
  2685
                   activeHelpKey: makeBottomAbsolute
cg@3052
  2686
                   hasCharacterOrientedLabel: false
cg@3240
  2687
                   translateLabel: true
cg@3052
  2688
                   tabable: true
cg@3052
  2689
                   model: absoluteBottom
cg@3052
  2690
                 )
cg@3052
  2691
                (InputFieldSpec
cg@3052
  2692
                   name: 'fieldBottomOffset'
cg@3052
  2693
                   layout: (LayoutFrame 203 0 42 0 253 0 64 0)
cg@3052
  2694
                   activeHelpKey: bottomAbsolute
cg@3052
  2695
                   tabable: true
cg@3052
  2696
                   model: bottomOffset
cg@3052
  2697
                   group: inputGroup
cg@3052
  2698
                   type: numberOrNil
cg@3052
  2699
                   acceptOnLostFocus: true
cg@3052
  2700
                   acceptChannel: acceptChannel
cg@3052
  2701
                   modifiedChannel: modifiedChannel
cg@3052
  2702
                   acceptOnPointerLeave: true
cg@3052
  2703
                 )
cg@3052
  2704
                (ActionButtonSpec
cg@3052
  2705
                   label: 'imageAbsYFromBottom'
cg@3052
  2706
                   name: 'actionBottomRelativeBottom'
cg@3052
  2707
                   layout: (LayoutFrame 257 0 42 0 279 0 64 0)
cg@3052
  2708
                   activeHelpKey: makeBottomRelativeFromBottom
cg@3052
  2709
                   hasCharacterOrientedLabel: false
cg@3240
  2710
                   translateLabel: true
cg@3052
  2711
                   tabable: true
cg@3052
  2712
                   model: bottomRelativeBottom
cg@3052
  2713
                 )
cg@3052
  2714
                (CheckBoxSpec
cg@3052
  2715
                   label: 'Preferred'
cg@3052
  2716
                   name: 'CheckBox1'
cg@3052
  2717
                   layout: (LayoutFrame 287 0 14 0 393 0 36 0)
cg@3052
  2718
                   activeHelpKey: usePreferredWidth
cg@3052
  2719
                   model: usePreferredWidth
cg@3052
  2720
                   translateLabel: true
cg@3052
  2721
                 )
cg@3052
  2722
                (CheckBoxSpec
cg@3052
  2723
                   label: 'Dynamic'
cg@3052
  2724
                   name: 'CheckBox3'
cg@3052
  2725
                   layout: (LayoutFrame 394 0 14 0 481 0 36 0)
cg@3052
  2726
                   activeHelpKey: useDynamicPreferredWidth
cg@3052
  2727
                   model: useDynamicPreferredWidth
cg@3052
  2728
                   translateLabel: true
cg@3052
  2729
                 )
cg@3052
  2730
                (CheckBoxSpec
cg@3240
  2731
                   label: 'Preferred'
cg@3240
  2732
                   name: 'CheckBox2'
cg@3240
  2733
                   layout: (LayoutFrame 287 0 40 0 393 0 62 0)
cg@3240
  2734
                   activeHelpKey: usePreferredHeight
cg@3240
  2735
                   model: usePreferredHeight
cg@3240
  2736
                   translateLabel: true
cg@3240
  2737
                 )
cg@3240
  2738
                (CheckBoxSpec
cg@3052
  2739
                   label: 'Dynamic'
cg@3052
  2740
                   name: 'CheckBox4'
cg@3240
  2741
                   layout: (LayoutFrame 394 0 40 0 481 0 62 0)
cg@3052
  2742
                   activeHelpKey: useDynamicPreferredWidth
cg@3052
  2743
                   model: useDynamicPreferredHeight
cg@3052
  2744
                   translateLabel: true
cg@3052
  2745
                 )
cg@3052
  2746
                (CheckBoxSpec
cg@3052
  2747
                   label: 'OSX-ResizeH'
cg@3052
  2748
                   name: 'OSXResizeH Checkbox'
cg@3052
  2749
                   layout: (LayoutFrame 287 0 70 0 480 0 92 0)
cg@3052
  2750
                   activeHelpKey: keepSpaceForOSXResizeHandleH
cg@3052
  2751
                   model: keepSpaceForOSXResizeHandleH
cg@3052
  2752
                   translateLabel: true
cg@3052
  2753
                 )
cg@3052
  2754
                (CheckBoxSpec
cg@3052
  2755
                   label: 'OSX-ResizeV'
cg@3052
  2756
                   name: 'OSXResizeV Checkbox'
cg@3240
  2757
                   layout: (LayoutFrame 287 0 96 0 480 0 118 0)
cg@3052
  2758
                   activeHelpKey: keepSpaceForOSXResizeHandleV
cg@3052
  2759
                   model: keepSpaceForOSXResizeHandleV
cg@3052
  2760
                   translateLabel: true
cg@3052
  2761
                 )
cg@3052
  2762
                )
cg@3052
  2763
              
cg@3052
  2764
             )
ca@1447
  2765
           )
cg@3052
  2766
          (MenuPanelSpec
cg@3052
  2767
             name: 'commonLayoutToolBar1'
cg@3052
  2768
             layout: (LayoutFrame 6 0.0 267 0 -4 1.0 299 0)
cg@3052
  2769
             level: 0
cg@3052
  2770
             tabable: true
cg@3052
  2771
             menu: commonFrameLayoutsMenu1
cg@3052
  2772
             textDefault: true
cg@3052
  2773
           )
cg@3052
  2774
          (MenuPanelSpec
cg@3052
  2775
             name: 'commonLayoutToolBar2'
cg@3052
  2776
             layout: (LayoutFrame 6 0.0 299 0 -4 1.0 331 0)
cg@3052
  2777
             level: 0
cg@3052
  2778
             tabable: true
cg@3052
  2779
             menu: commonFrameLayoutsMenu2
cg@3052
  2780
             textDefault: true
cg@3052
  2781
           )
cg@3052
  2782
          (MenuPanelSpec
cg@3052
  2783
             name: 'commonLayoutToolBar3'
cg@3052
  2784
             layout: (LayoutFrame 6 0.0 323 0 -4 1.0 355 0)
cg@3052
  2785
             level: 0
cg@3052
  2786
             tabable: true
cg@3052
  2787
             menu: commonFrameLayoutsMenu3
cg@3052
  2788
             textDefault: true
cg@3052
  2789
           )
cg@3052
  2790
          )
cg@3052
  2791
        
cg@3052
  2792
       )
cg@3052
  2793
     )
ca@1447
  2794
! !
ca@1447
  2795
ca@1447
  2796
!UILayoutTool::LayoutFrame class methodsFor:'menu specs'!
ca@1447
  2797
cg@1680
  2798
commonFrameLayoutsMenu1
ca@1447
  2799
    "This resource specification was automatically generated
ca@1447
  2800
     by the MenuEditor of ST/X."
ca@1447
  2801
ca@1447
  2802
    "Do not manually edit this!! If it is corrupted,
ca@1447
  2803
     the MenuEditor may not be able to read the specification."
ca@1447
  2804
ca@1447
  2805