UILayoutTool.st
author Patrik Svestka <patrik.svestka@gmail.com>
Wed, 14 Nov 2018 12:07:51 +0100
branchjv
changeset 3630 5e718e0a754e
parent 3240 28a65ccd21cc
child 3501 de5acee79014
permissions -rw-r--r--
Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present

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