ImageEditor.st
author Claus Gittinger <cg@exept.de>
Sat, 21 Jul 2012 18:58:03 +0200
changeset 2898 c7f6c498df6a
parent 2893 feb4eeba44ad
child 2932 7f305ee14e98
permissions -rw-r--r--
category of:15 methods
tz@400
     1
"
tz@767
     2
 COPYRIGHT (c) 1997-1998 by eXept Software AG
tz@400
     3
              All Rights Reserved
tz@400
     4
tz@400
     5
 This software is furnished under a license and may be used
tz@400
     6
 only in accordance with the terms of that license and with the
tz@405
     7
 inclusion of the above copyright notice. This software may not
tz@400
     8
 be provided or otherwise made available to, or used by, any
tz@405
     9
 other person. No title to or ownership of the software is
tz@400
    10
 hereby transferred.
tz@400
    11
"
cg@1376
    12
"{ Package: 'stx:libtool2' }"
cg@1376
    13
cg@1975
    14
ResourceSpecEditor subclass:#ImageEditor
tz@975
    15
	instanceVariableNames:'imageEditView colorMapMode editMode mouseKeyColorMode
cg@1960
    16
		selectedColorIndex postOpenAction imageSeqNr drawingColormap
cg@2767
    17
		lastShiftUsedWrap lastGrabbedScreenArea
cg@2767
    18
		allowedToChangeImageDimensionAndDepth'
cg@1640
    19
	classVariableNames:'LastDirectory LastSizeString MaskClipboard LastColormapMode
cg@2796
    20
		DefaultRelativeSizes LastURL'
cg@929
    21
	poolDictionaries:''
cg@929
    22
	category:'Interface-UIPainter'
tz@400
    23
!
tz@400
    24
tz@400
    25
!ImageEditor class methodsFor:'documentation'!
tz@400
    26
tz@400
    27
copyright
tz@400
    28
"
tz@767
    29
 COPYRIGHT (c) 1997-1998 by eXept Software AG
tz@400
    30
              All Rights Reserved
tz@400
    31
tz@400
    32
 This software is furnished under a license and may be used
tz@400
    33
 only in accordance with the terms of that license and with the
tz@405
    34
 inclusion of the above copyright notice. This software may not
tz@400
    35
 be provided or otherwise made available to, or used by, any
tz@405
    36
 other person. No title to or ownership of the software is
tz@400
    37
 hereby transferred.
tz@400
    38
"
tz@400
    39
!
tz@400
    40
tz@400
    41
documentation
tz@400
    42
"
tz@737
    43
    Image Editor allows you to create, design, modify or just inspect images.
tz@400
    44
tz@400
    45
    [start with:]
tz@400
    46
        ImageEditor open
tz@941
    47
        ImageEditor openOnClass:Icon andSelector:#startIcon
tz@400
    48
tz@400
    49
    [see also:]
tz@400
    50
        ImageEditView Image
tz@400
    51
tz@400
    52
    [author:]
tz@544
    53
        Thomas Zwick, eXept Software AG
cg@1806
    54
        Claus Gittinger, eXept Software AG
tz@400
    55
"
tz@400
    56
! !
tz@400
    57
tz@400
    58
!ImageEditor class methodsFor:'instance creation'!
tz@400
    59
cg@1975
    60
openLoadingImageWith:aBlock
cg@1975
    61
    "opens an Image Editor on anImage"
cg@1975
    62
cg@1975
    63
    |editor|
cg@1975
    64
cg@1975
    65
    editor := self new.
cg@1975
    66
    editor allButOpen.
cg@1975
    67
    aBlock value:editor.
cg@2764
    68
    editor openWindow.
cg@2764
    69
    ^ editor
cg@1975
    70
!
cg@1975
    71
tz@400
    72
openModalOnClass: aClass andSelector: aSelector
cg@1975
    73
    "opens a modal Image Editor on aClass and aSelector.
cg@1975
    74
     Returns the real name of the edited resource method (in case, user changed it)."
cg@1975
    75
cg@1975
    76
    |imageEditor imageEditView className resourceClass resourceSelector| 
tz@400
    77
tz@400
    78
    imageEditor := self new.
tz@767
    79
tz@900
    80
    aClass isClass  ifTrue: [className := aClass name].
tz@900
    81
    aClass isString ifTrue: [className := aClass].      
tz@903
    82
    aClass isNil    ifTrue: [className := ''].      
tz@400
    83
cg@2764
    84
    imageEditor postOpenAction: [
cg@2764
    85
            imageEditView := imageEditor imageEditView. 
cg@2764
    86
            imageEditor loadFromOrPrepareForClass: aClass andSelector: aSelector
cg@2764
    87
        ].
tz@400
    88
    imageEditor openModal.
tz@400
    89
cg@1975
    90
    resourceClass := imageEditView resourceClass.
cg@1975
    91
    resourceSelector := imageEditView resourceSelector.
cg@1975
    92
cg@1975
    93
    (resourceClass isNil or:[resourceSelector isNil]) ifTrue:[^ nil].
cg@1975
    94
    ^ Array with:resourceClass with:resourceSelector
cg@1966
    95
cg@1966
    96
    "
cg@1966
    97
     self openModalOnClass: self andSelector: #leftMouseKeyIcon
cg@1966
    98
    "
tz@400
    99
!
tz@400
   100
cg@2764
   101
openModalOnImage:anImage
cg@2764
   102
    "opens a modal Image Editor on an image.
cg@2764
   103
     Returns the modified image or nil if unsaved/unchanged"
cg@2764
   104
cg@2764
   105
    |imageEditor imageEditView newImage| 
cg@2764
   106
cg@2764
   107
    imageEditor := self new.
cg@2767
   108
    imageEditor allowedToChangeImageDimensionAndDepth:false.
cg@2764
   109
    imageEditor postOpenAction: [
cg@2764
   110
            imageEditView := imageEditor imageEditView. 
cg@2764
   111
            imageEditor loadFromImage: anImage
cg@2764
   112
        ].
cg@2764
   113
    imageEditor openModal.
cg@2764
   114
cg@2766
   115
    newImage := imageEditor savedImage.
cg@2764
   116
    ^ newImage
cg@2764
   117
!
cg@2764
   118
cg@1966
   119
openOnClass:aClass andSelector:aSelector
cg@1966
   120
    "opens an Image Editor on aClass and aSelector"
tz@400
   121
cg@2764
   122
    self openLoadingImageWith:[:editor | 
cg@2764
   123
        editor loadFromClass:aClass theNonMetaclass andSelector:aSelector.
cg@2764
   124
    ]
cg@1057
   125
cg@1966
   126
    "
cg@1966
   127
     self openOnClass:self andSelector:#leftMouseKeyIcon
cg@1966
   128
     self openOnClass:self andSelector:nil
cg@1966
   129
    "
cg@1966
   130
cg@1057
   131
    "Modified: / 16.3.1999 / 21:33:49 / cg"
tz@400
   132
!
tz@400
   133
cg@1966
   134
openOnFile:aFileName
cg@1966
   135
    "opens an Image Editor on aFileName"
cg@1966
   136
cg@2764
   137
    self openLoadingImageWith:[:editor | 
cg@2764
   138
        editor loadFromFile:aFileName.
cg@2764
   139
    ]
cg@1966
   140
tz@767
   141
    "
cg@1975
   142
     self openOnFile: '../../goodies/bitmaps/gifImages/back.gif'
tz@767
   143
    "
tz@400
   144
cg@1057
   145
    "Modified: / 16.3.1999 / 21:33:25 / cg"
tz@400
   146
!
tz@400
   147
cg@1966
   148
openOnImage:anImage
cg@1966
   149
    "opens an Image Editor on anImage"
tz@400
   150
cg@2764
   151
    self openLoadingImageWith:[:editor | 
cg@2764
   152
        editor loadFromImage: anImage.
cg@2764
   153
    ]
cg@1053
   154
cg@1966
   155
    "
cg@1966
   156
     self openOnImage: Icon startIcon
cg@1966
   157
    "
cg@1966
   158
cg@1053
   159
    "Modified: / 11.3.1999 / 16:18:33 / cg"
tz@400
   160
! !
tz@400
   161
tz@400
   162
!ImageEditor class methodsFor:'accessing'!
tz@400
   163
tz@400
   164
listOfColorMaps
tz@767
   165
    "returns the list of default color maps for a new image"
tz@400
   166
tz@400
   167
    |colorMap|
tz@898
   168
tz@400
   169
    (colorMap := OrderedCollection new)
tz@400
   170
        add: Color black;
tz@400
   171
        add: Color white;
tz@400
   172
        add: Color red;
tz@400
   173
        add: Color green;
tz@400
   174
        add: Color blue;
tz@400
   175
        add: Color cyan;
tz@400
   176
        add: Color yellow;
tz@400
   177
        add: Color magenta;
tz@898
   178
        add: (Color redByte: 127 greenByte:   0 blueByte:   0);
tz@898
   179
        add: (Color redByte:   0 greenByte: 127 blueByte:   0);
tz@898
   180
        add: (Color redByte:   0 greenByte:   0 blueByte: 127);
tz@898
   181
        add: (Color redByte:   0 greenByte: 127 blueByte: 127);
tz@898
   182
        add: (Color redByte: 127 greenByte: 127 blueByte:   0);
tz@898
   183
        add: (Color redByte: 127 greenByte:   0 blueByte: 127);
tz@898
   184
        add: (Color redByte: 127 greenByte: 127 blueByte: 127);
tz@898
   185
        add: (Color redByte: 170 greenByte: 170 blueByte: 170).
tz@898
   186
tz@400
   187
    0 to: 5 do:
tz@400
   188
    [:r|                                                    
tz@400
   189
        0 to: 5 do:         
tz@400
   190
        [:g|
tz@400
   191
            0 to: 5 do:                             
tz@400
   192
            [:b|
tz@898
   193
                colorMap add: (Color redByte: (r*255//5) ceiling greenByte: (g*255//5) ceiling blueByte: (b*255//5) ceiling)
tz@400
   194
            ]
tz@400
   195
        ]
tz@400
   196
    ].
tz@400
   197
tz@400
   198
    1 to: 25 do:
tz@400
   199
    [:g|                             
tz@898
   200
        colorMap add: (Color redByte: (g*255//26) ceiling greenByte: (g*255//26) ceiling blueByte: (g*255//26) ceiling)
tz@400
   201
    ].
tz@400
   202
cg@1847
   203
    ^ Dictionary new
cg@2571
   204
        at: #depth32 put:(FixedPalette redShift:16 redMask:16rFF greenShift:8 greenMask:16rFF blueShift:0 blueMask:16rFF);
cg@1847
   205
        at: #depth24 put:(FixedPalette redShift:16 redMask:16rFF greenShift:8 greenMask:16rFF blueShift:0 blueMask:16rFF);
cg@1847
   206
        at: #masked24 put:(FixedPalette redShift:16 redMask:16rFF greenShift:8 greenMask:16rFF blueShift:0 blueMask:16rFF);
cg@1847
   207
        at: #depth16 put:(FixedPalette redShift:11 redMask:16r1F greenShift:5 greenMask:16r3F blueShift:0 blueMask:16r1F);
cg@1847
   208
        at: #masked16 put:(FixedPalette redShift:11 redMask:16r1F greenShift:5 greenMask:16r3F blueShift:0 blueMask:16r1F);
cg@1847
   209
        at: #depth8  put: colorMap;
cg@1847
   210
        at: #masked8 put: colorMap;
cg@1847
   211
        at: #depth4  put: (colorMap copyFrom: 1 to: 16);
cg@1847
   212
        at: #masked4 put: (colorMap copyFrom: 1 to: 16);
cg@1847
   213
        at: #depth2  put: (colorMap copyFrom: 1 to: 4);
cg@1847
   214
        at: #masked2 put: (colorMap copyFrom: 1 to: 4);
cg@1847
   215
        at: #depth1  put: (colorMap copyFrom: 1 to: 2);
cg@1847
   216
        at: #masked1 put: (colorMap copyFrom: 1 to: 2);
tz@400
   217
        yourself
tz@400
   218
!
tz@400
   219
tz@400
   220
listOfDefaultSizes
tz@767
   221
    "returns the list of default sizes for a new image"
tz@400
   222
cg@1960
   223
    ^ #('8x8' '16x16' '22x22' '32x32' '48x48' '64x64')
cg@932
   224
cg@932
   225
    "Modified: / 31.7.1998 / 01:57:34 / cg"
cg@1847
   226
!
cg@1847
   227
cg@1847
   228
namesOfColorMaps
cg@1847
   229
    ^ Dictionary new
cg@2571
   230
        at: #depth32 put: '32-plane (rgba)';
cg@1847
   231
        at: #depth24 put: '24-plane';
cg@1847
   232
        at: #masked24 put: '24-plane + mask';
cg@1847
   233
        at: #depth16 put: '16-plane';
cg@1847
   234
        at: #masked16 put: '16-plane + mask';
cg@1847
   235
        at: #depth8  put: ' 8-plane';
cg@1847
   236
        at: #masked8 put: ' 8-plane + mask';
cg@1847
   237
        at: #depth4  put: ' 4-plane';
cg@1847
   238
        at: #masked4 put: ' 4-plane + mask';
cg@1847
   239
        at: #depth2  put: ' 2-plane';
cg@1847
   240
        at: #masked2 put: ' 2-plane + mask';
cg@1847
   241
        at: #depth1  put: ' 1-plane';
cg@1847
   242
        at: #masked1 put: ' 1-plane + mask' ;
cg@1847
   243
        yourself
tz@400
   244
! !
tz@400
   245
tz@460
   246
!ImageEditor class methodsFor:'help specs'!
tz@460
   247
cg@1545
   248
flyByHelpSpec
cg@1545
   249
    <resource: #help>
cg@1545
   250
cg@2871
   251
    ^super flyByHelpSpec addPairsFrom:(self localHelpTexts)
cg@2871
   252
cg@2871
   253
    "Modified: / 19-01-2012 / 13:29:48 / cg"
cg@1545
   254
!
cg@1545
   255
tz@460
   256
helpSpec
tz@737
   257
    "This resource specification was automatically generated
tz@737
   258
     by the UIHelpTool of ST/X."
tz@737
   259
tz@737
   260
    "Do not manually edit this!! If it is corrupted,
tz@737
   261
     the UIHelpTool may not be able to read the specification."
tz@460
   262
tz@460
   263
    "
tz@737
   264
     UIHelpTool openOnClass:ImageEditor    
tz@460
   265
    "
tz@460
   266
tz@737
   267
    <resource: #help>
tz@737
   268
cg@2871
   269
    ^ super helpSpec addPairsFrom:(self localHelpTexts)
cg@2871
   270
cg@2871
   271
    "Modified: / 19-01-2012 / 13:29:42 / cg"
cg@2871
   272
!
cg@2871
   273
cg@2871
   274
localHelpTexts
cg@2871
   275
    "This resource specification was automatically generated
cg@2871
   276
     by the UIHelpTool of ST/X."
cg@2871
   277
cg@2871
   278
    "Do not manually edit this!! If it is corrupted,
cg@2871
   279
     the UIHelpTool may not be able to read the specification."
cg@2871
   280
cg@2871
   281
    "
cg@2871
   282
     UIHelpTool openOnClass:ImageEditor    
cg@2871
   283
    "
cg@2871
   284
cg@2871
   285
    <resource: #help>
cg@2871
   286
cg@2871
   287
    ^ #(
cg@2871
   288
cg@2871
   289
#xdrawModeBox
cg@2871
   290
'Rectangle'
cg@2871
   291
cg@2871
   292
#xdrawModeCopy
cg@2871
   293
'Copy'
cg@2871
   294
cg@2871
   295
#xdrawModeFill
cg@2871
   296
'Flood-fill'
cg@2871
   297
cg@2871
   298
#xdrawModeFilledBox
cg@2871
   299
'Filled rectangle'
cg@2871
   300
cg@2871
   301
#xdrawModePaste
cg@2871
   302
'Paste'
cg@2871
   303
cg@2871
   304
#xdrawModePasteUnder
cg@2871
   305
'Paste under'
cg@2871
   306
cg@2871
   307
#xdrawModePasteWithMask
cg@2871
   308
'Paste with Mask'
cg@2871
   309
cg@2871
   310
#xdrawModePoint
cg@2871
   311
'Point'
cg@2871
   312
cg@2871
   313
#xfileGrabImage
cg@2871
   314
'Pick from screen'
cg@2871
   315
cg@2871
   316
#xfileLoadFromClass
cg@2871
   317
'Load from method...'
cg@2871
   318
cg@2871
   319
#xfileLoadFromFile
cg@2871
   320
'Load from file...'
cg@2871
   321
cg@2871
   322
#xfileNewImage
cg@2871
   323
'New image'
cg@2871
   324
cg@2871
   325
#filePrint
cg@2871
   326
'Print'
cg@2871
   327
cg@2871
   328
#xfileSaveAs
cg@2871
   329
'Save to file...'
cg@2871
   330
cg@2871
   331
#xfileSaveMaskAs
cg@2871
   332
'Save mask to file...'
cg@2871
   333
cg@2871
   334
#xfileSaveMethod
cg@2871
   335
'Save as method'
cg@2871
   336
cg@2871
   337
#xfileSaveMethodAs
cg@2871
   338
'Save as Method...'
cg@2871
   339
cg@2871
   340
#nextImageInSequence
cg@2871
   341
'Go to the next image in the animated gif image sequence.'
cg@2871
   342
cg@2871
   343
#previousImageInSequence
cg@2871
   344
'Go to the previous image in the animated gif image sequence.'
tz@460
   345
tz@460
   346
#colorMap
cg@2765
   347
'ColorMap functions'
cg@929
   348
cg@929
   349
#colorMap1
cg@2765
   350
'Convert to depth-1 image'
cg@929
   351
cg@986
   352
#colorMap1M
cg@2765
   353
'Convert to depth-1 image plus mask'
cg@986
   354
cg@929
   355
#colorMap2
cg@2765
   356
'Convert to depth-2 image'
cg@2765
   357
cg@2765
   358
#colorMap24
cg@2765
   359
'Convert to depth-24 image (rgb)'
cg@929
   360
cg@986
   361
#colorMap2M
cg@2765
   362
'Convert to depth-2 image plus mask'
cg@2765
   363
cg@2765
   364
#colorMap32
cg@2765
   365
'Convert to depth-32 image (rgba)'
cg@986
   366
cg@929
   367
#colorMap4
cg@2765
   368
'Convert to depth-4 image'
cg@929
   369
cg@986
   370
#colorMap4M
cg@2765
   371
'Convert to depth-4 image plus mask'
cg@986
   372
cg@929
   373
#colorMap8
cg@2765
   374
'Convert to depth-8 image'
cg@929
   375
cg@929
   376
#colorMap8M
cg@2765
   377
'Convert to depth-8 image plus mask'
cg@2571
   378
cg@986
   379
#colorMapTable
cg@2765
   380
'Shows a list of used colors of the image'
cg@986
   381
cg@929
   382
#compressColormap
cg@2765
   383
'Remove unneeded entries from the colorMap'
tz@460
   384
cg@1045
   385
#cropAll
cg@2765
   386
'Find and remove all borders'
cg@986
   387
cg@1045
   388
#cropBottom
cg@2765
   389
'Find and remove bottom border'
cg@986
   390
cg@1045
   391
#cropLeft
cg@2765
   392
'Find and remove left border'
cg@986
   393
cg@1045
   394
#cropManual
cg@986
   395
'Specify border(s) to remove.'
cg@986
   396
cg@1045
   397
#cropRight
cg@2765
   398
'Find and remove right border'
cg@986
   399
cg@1045
   400
#cropTop
cg@2765
   401
'Find and remove top border'
tz@487
   402
tz@460
   403
#drawModeBox
cg@2765
   404
'Rectangle Drawing Mode'
tz@460
   405
cg@2375
   406
#drawModeCircle
cg@2765
   407
'Circle Drawing Mode'
cg@2375
   408
tz@460
   409
#drawModeCopy
cg@2765
   410
'Area Copy Mode'
tz@460
   411
tz@460
   412
#drawModeFill
cg@2765
   413
'Flood Fill Mode'
tz@460
   414
tz@460
   415
#drawModeFilledBox
cg@2765
   416
'Filled Rectangle Drawing Mode'
tz@460
   417
tz@460
   418
#drawModePaste
cg@2765
   419
'Paste Mode'
cg@914
   420
cg@914
   421
#drawModePasteUnder
cg@2765
   422
'Paste-Under Mode'
cg@1637
   423
cg@1637
   424
#drawModePasteWithMask
cg@2765
   425
'Paste-with-Mask Mode'
tz@460
   426
tz@460
   427
#drawModePoint
cg@2765
   428
'Point Drawing Mode'
cg@2375
   429
cg@1639
   430
#drawModeSpecial
cg@2871
   431
'Special operations (select rectangle, then choose operation)'
cg@1639
   432
cg@2765
   433
#drawModeSpray
cg@2765
   434
'Spray Drawing Mode'
cg@2765
   435
tz@460
   436
#editFlipHorizontal
cg@2765
   437
'Flip the image horizontally'
tz@460
   438
tz@460
   439
#editFlipVertical
cg@2765
   440
'Flip the image vertically'
tz@460
   441
tz@460
   442
#editMagnifyImage
cg@2765
   443
'Magnify the image'
tz@460
   444
tz@460
   445
#editNegate
cg@2765
   446
'Invert the images colors'
tz@460
   447
tz@460
   448
#editResize
cg@2765
   449
'Resize the image (preserving the old image)'
tz@460
   450
tz@460
   451
#editRotate
cg@2765
   452
'Rotate the image'
tz@460
   453
cg@2701
   454
#fileGrabImageFromScreen
cg@2765
   455
'Pick an image from the screen (specify area)'
cg@2701
   456
cg@2701
   457
#fileGrabImageFromWindow
cg@2765
   458
'Pick an image from a window on the screen (click on window)'
cg@929
   459
tz@460
   460
#fileLoadFromClass
cg@2765
   461
'Select and load an image from a resource method'
tz@460
   462
tz@460
   463
#fileLoadFromFile
cg@2765
   464
'Select and load an image from a file'
tz@460
   465
cg@2796
   466
#fileLoadFromURL
cg@2796
   467
'Load an image from the net, given its URL'
cg@2796
   468
tz@460
   469
#fileNewImage
cg@914
   470
'Create a new image'
tz@460
   471
tz@460
   472
#filePrint
cg@2765
   473
'Print the image on a postscript printer'
cg@2765
   474
cg@2765
   475
#fileSave
cg@2765
   476
'Save the image'
tz@460
   477
tz@460
   478
#fileSaveAs
cg@2765
   479
'Save the image to a file'
cg@2765
   480
cg@2765
   481
#fileSaveButtonImageAs
cg@2765
   482
'Save an image of a button with the image to a file (for html use)'
tz@460
   483
tz@460
   484
#fileSaveMaskAs
cg@2765
   485
'Save the mask of the image to a file'
ca@1613
   486
tz@460
   487
#fileSaveMethod
cg@2765
   488
'Save the image as resource method in the current class and selector'
tz@460
   489
tz@460
   490
#fileSaveMethodAs
cg@2765
   491
'Save the image as resource method in a class'
tz@460
   492
tz@487
   493
#magnificationNumber
cg@2765
   494
'Shows the current magnification'
tz@487
   495
tz@487
   496
#magnifyImageDown
cg@2765
   497
'Decrease magnification'
tz@487
   498
tz@487
   499
#magnifyImageUp
cg@2765
   500
'Increase magnification'
tz@487
   501
tz@487
   502
#mouseKeyColorMode
cg@2765
   503
'Toggle between left and right mouse button color'
tz@487
   504
tz@487
   505
#previewView
cg@2765
   506
'Shows a preview of the image'
tz@487
   507
tz@905
   508
#settingsGridMagnification
cg@2765
   509
'Change the grid magnification of the edit view'
tz@905
   510
tz@460
   511
)
cg@2871
   512
cg@2871
   513
    "Created: / 19-01-2012 / 13:29:31 / cg"
tz@460
   514
! !
tz@460
   515
tz@737
   516
!ImageEditor class methodsFor:'image specs'!
tz@737
   517
cg@2272
   518
circleIcon
cg@2272
   519
    "This resource specification was automatically generated
cg@2272
   520
     by the ImageEditor of ST/X."
cg@2272
   521
cg@2272
   522
    "Do not manually edit this!! If it is corrupted,
cg@2272
   523
     the ImageEditor may not be able to read the specification."
cg@2272
   524
cg@2272
   525
    "
cg@2272
   526
     self circleIcon inspect
cg@2272
   527
     ImageEditor openOnClass:self andSelector:#circleIcon
cg@2272
   528
     Icon flushCachedIcons
cg@2272
   529
    "
cg@2272
   530
cg@2272
   531
    <resource: #image>
cg@2272
   532
cg@2272
   533
    ^Icon
cg@2272
   534
        constantNamed:'ImageEditor class circleIcon'
cg@2272
   535
        ifAbsentPut:[(Depth1Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@A@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 0 0]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@N@CF@PDA@PH@  BB@HDA@PD@1 @8@@@@@a') ; yourself); yourself]
cg@2272
   536
!
cg@2272
   537
cg@1637
   538
copyIcon
cg@1637
   539
    "This resource specification was automatically generated
cg@1637
   540
     by the ImageEditor of ST/X."
cg@1637
   541
cg@1637
   542
    "Do not manually edit this!! If it is corrupted,
cg@1637
   543
     the ImageEditor may not be able to read the specification."
cg@1637
   544
cg@1637
   545
    "
cg@1637
   546
     self copyIcon inspect
cg@1637
   547
     ImageEditor openOnClass:self andSelector:#copyIcon
cg@1637
   548
     Icon flushCachedIcons
cg@1637
   549
    "
cg@1637
   550
cg@1637
   551
    <resource: #image>
cg@1637
   552
cg@1637
   553
    ^Icon
cg@2272
   554
        constantNamed:'ImageEditor class copyIcon'
cg@1975
   555
        ifAbsentPut:[(Depth2Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@** @@J)UUTB*Z*)@*&**PJ)**$B*Z*)@*&**PJ)**$@@Z*)@@F**P@AUUT@@@@@@b') ; colorMapFromArray:#[0 0 0 0 0 128 255 255 255]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@C? O>@??3??O?<??3??O?<??3??@_<A?0@@@@a') ; yourself); yourself]
cg@1637
   556
!
cg@1637
   557
sv@2155
   558
defaultIcon
sv@2155
   559
    <resource: #programImage>
sv@2155
   560
sv@2155
   561
    ^ ToolbarIconLibrary startImageEditorIcon
sv@2155
   562
!
sv@2155
   563
cg@2871
   564
fillGradientRectIcon
cg@2871
   565
    "This resource specification was automatically generated
cg@2871
   566
     by the ImageEditor of ST/X."
cg@2871
   567
cg@2871
   568
    "Do not manually edit this!! If it is corrupted,
cg@2871
   569
     the ImageEditor may not be able to read the specification."
cg@2871
   570
cg@2871
   571
    "
cg@2871
   572
     self fillGradientRectIcon inspect
cg@2871
   573
     ImageEditor openOnClass:self andSelector:#fillGradientRectIcon
cg@2871
   574
     Icon flushCachedIcons
cg@2871
   575
    "
cg@2871
   576
cg@2871
   577
    <resource: #image>
cg@2871
   578
cg@2871
   579
    ^Icon
cg@2871
   580
        constantNamed:'ImageEditor class fillGradientRectIcon'
cg@2871
   581
        ifAbsentPut:[(Depth4Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#[4]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADQDQDQ@@@QDQDQDP@@BH"H"H"@@@"H"H"H @@L3L3L3L@@CL3L3L3@@@QDQDQDP@@DQDQDQD@@@@@@@@@
cg@2871
   582
@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 127 0 0 191 0 0 63 0 0]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@C?0O?@?<C?0O?@?<C?0O?@?<C?0@@@@@@@a') ; yourself); yourself]
cg@2871
   583
!
cg@2871
   584
cg@2871
   585
fillHorizontalGradientRectIcon
cg@2871
   586
    "This resource specification was automatically generated
cg@2871
   587
     by the ImageEditor of ST/X."
cg@2871
   588
cg@2871
   589
    "Do not manually edit this!! If it is corrupted,
cg@2871
   590
     the ImageEditor may not be able to read the specification."
cg@2871
   591
cg@2871
   592
    "
cg@2871
   593
     self fillHorizontalGradientRectIcon inspect
cg@2871
   594
     ImageEditor openOnClass:self andSelector:#fillHorizontalGradientRectIcon
cg@2871
   595
     Icon flushCachedIcons
cg@2871
   596
    "
cg@2871
   597
cg@2871
   598
    <resource: #image>
cg@2871
   599
cg@2871
   600
    ^Icon
cg@2871
   601
        constantNamed:'ImageEditor class fillHorizontalGradientRectIcon'
cg@2871
   602
        ifAbsentPut:[(Depth4Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#[4]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@DP"L1D@@@ADH#LQ@@@@QBH3DP@@@DP"L1D@@@ADH#LQ@@@@QBH3DP@@@DP"L1D@@@ADH#LQ@@@@QBH3DP@@@DP"L1D@@@@@@@@@
cg@2871
   603
@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 127 0 0 191 0 0 63 0 0]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@C?0O?@?<C?0O?@?<C?0O?@?<C?0@@@@@@@a') ; yourself); yourself]
cg@2871
   604
!
cg@2871
   605
cg@1637
   606
fillIcon
cg@1637
   607
    "This resource specification was automatically generated
cg@1637
   608
     by the ImageEditor of ST/X."
cg@1637
   609
cg@1637
   610
    "Do not manually edit this!! If it is corrupted,
cg@1637
   611
     the ImageEditor may not be able to read the specification."
cg@1637
   612
cg@1637
   613
    "
cg@1637
   614
     self fillIcon inspect
cg@1637
   615
     ImageEditor openOnClass:self andSelector:#fillIcon
cg@1637
   616
     Icon flushCachedIcons
cg@1637
   617
    "
cg@1637
   618
cg@1637
   619
    <resource: #image>
cg@1637
   620
cg@1637
   621
    ^Icon
cg@2272
   622
        constantNamed:'ImageEditor class fillIcon'
cg@1975
   623
        ifAbsentPut:[(Depth2Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@ @@@@*H@@D*(@@DUUP@EAUU@AAEU@@@@U@@DDA@@@@@@@@PP@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C @Q@BN@I<@?8C?0[?!!G<@O P\@@ D@@@@@@@@@a') ; yourself); yourself]
cg@1637
   624
!
cg@1637
   625
cg@1637
   626
fillRectIcon
cg@1637
   627
    "This resource specification was automatically generated
cg@1637
   628
     by the ImageEditor of ST/X."
cg@1637
   629
cg@1637
   630
    "Do not manually edit this!! If it is corrupted,
cg@1637
   631
     the ImageEditor may not be able to read the specification."
cg@1637
   632
cg@1637
   633
    "
cg@1637
   634
     self fillRectIcon inspect
cg@1637
   635
     ImageEditor openOnClass:self andSelector:#fillRectIcon
cg@1637
   636
     Icon flushCachedIcons
cg@1637
   637
    "
cg@1637
   638
cg@1637
   639
    <resource: #image>
cg@1637
   640
cg@1637
   641
    ^Icon
cg@2272
   642
        constantNamed:'ImageEditor class fillRectIcon'
cg@2272
   643
        ifAbsentPut:[(Depth1Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@a') ; colorMapFromArray:#[0 0 0 255 0 0]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@C?0O?@?<C?0O?@?<C?0O?@?<C?0@@@@@@@a') ; yourself); yourself]
cg@1637
   644
!
cg@1637
   645
cg@2871
   646
fillVerticalGradientRectIcon
cg@2871
   647
    "This resource specification was automatically generated
cg@2871
   648
     by the ImageEditor of ST/X."
cg@2871
   649
cg@2871
   650
    "Do not manually edit this!! If it is corrupted,
cg@2871
   651
     the ImageEditor may not be able to read the specification."
cg@2871
   652
cg@2871
   653
    "
cg@2871
   654
     self fillGradientRectIcon inspect
cg@2871
   655
     ImageEditor openOnClass:self andSelector:#fillGradientRectIcon
cg@2871
   656
     Icon flushCachedIcons
cg@2871
   657
    "
cg@2871
   658
cg@2871
   659
    <resource: #image>
cg@2871
   660
cg@2871
   661
    ^Icon
cg@2871
   662
        constantNamed:'ImageEditor class fillGradientRectIcon'
cg@2871
   663
        ifAbsentPut:[(Depth4Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#[4]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADQDQDQ@@@QDQDQDP@@BH"H"H"@@@"H"H"H @@L3L3L3L@@CL3L3L3@@@QDQDQDP@@DQDQDQD@@@@@@@@@
cg@2871
   664
@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 127 0 0 191 0 0 63 0 0]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@C?0O?@?<C?0O?@?<C?0O?@?<C?0@@@@@@@a') ; yourself); yourself]
cg@2871
   665
cg@2871
   666
    "Created: / 19-01-2012 / 13:44:51 / cg"
cg@2871
   667
!
cg@2871
   668
cg@2837
   669
flipHorizontalIcon
cg@2837
   670
    "This resource specification was automatically generated
cg@2837
   671
     by the ImageEditor of ST/X."
cg@2837
   672
cg@2837
   673
    "Do not manually edit this!! If it is corrupted,
cg@2837
   674
     the ImageEditor may not be able to read the specification."
cg@2837
   675
cg@2837
   676
    "
cg@2837
   677
     self flipHorizontalIcon inspect
cg@2837
   678
     ImageEditor openOnClass:self andSelector:#flipHorizontalIcon
cg@2837
   679
     Icon flushCachedIcons
cg@2837
   680
    "
cg@2837
   681
cg@2837
   682
    <resource: #image>
cg@2837
   683
cg@2837
   684
    ^Icon
cg@2837
   685
        constantNamed:'ImageEditor class flipHorizontalIcon'
cg@2837
   686
        ifAbsentPut:[(Depth1Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@A@C?8HP )JC$8_?1??C$8JR !!BC?8@P@@@@@a') ; yourself); yourself]
cg@2837
   687
!
cg@2837
   688
cg@2837
   689
flipVerticalIcon
cg@2837
   690
    "This resource specification was automatically generated
cg@2837
   691
     by the ImageEditor of ST/X."
cg@2837
   692
cg@2837
   693
    "Do not manually edit this!! If it is corrupted,
cg@2837
   694
     the ImageEditor may not be able to read the specification."
cg@2837
   695
cg@2837
   696
    "
cg@2837
   697
     self flipVerticalIcon inspect
cg@2837
   698
     ImageEditor openOnClass:self andSelector:#flipVerticalIcon
cg@2837
   699
     Icon flushCachedIcons
cg@2837
   700
    "
cg@2837
   701
cg@2837
   702
    <resource: #image>
cg@2837
   703
cg@2837
   704
    ^Icon
cg@2837
   705
        constantNamed:'ImageEditor class flipVerticalIcon'
cg@2837
   706
        ifAbsentPut:[(Depth1Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@C@C?0I9@/4BLPH1A?>BLPH1@/4B^PO?@C@@@a') ; yourself); yourself]
cg@2837
   707
!
cg@2837
   708
tz@737
   709
leftMouseKeyIcon
tz@737
   710
    "This resource specification was automatically generated
tz@737
   711
     by the ImageEditor of ST/X."
tz@737
   712
tz@737
   713
    "Do not manually edit this!! If it is corrupted,
tz@737
   714
     the ImageEditor may not be able to read the specification."
tz@737
   715
tz@737
   716
    "
cg@1405
   717
     self leftMouseKeyIcon inspect
tz@737
   718
     ImageEditor openOnClass:self andSelector:#leftMouseKeyIcon
cg@2272
   719
     Icon flushCachedIcons
tz@737
   720
    "
tz@737
   721
tz@737
   722
    <resource: #image>
tz@737
   723
tz@737
   724
    ^Icon
cg@2272
   725
        constantNamed:'ImageEditor class leftMouseKeyIcon'
cg@2272
   726
        ifAbsentPut:[(Depth2Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@EJJ@@AR" @@T((@@@@@@@B** @@**(@@J**@@B** @@**(@@J**@@@**@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@?0G? _>A?8G? _>A?8G? _>A?8G? O<@_ @@@b') ; yourself); yourself]
martin@1433
   727
!
tz@737
   728
cg@1637
   729
pasteIcon
cg@1637
   730
    "This resource specification was automatically generated
cg@1637
   731
     by the ImageEditor of ST/X."
cg@1637
   732
cg@1637
   733
    "Do not manually edit this!! If it is corrupted,
cg@1637
   734
     the ImageEditor may not be able to read the specification."
cg@1637
   735
cg@1637
   736
    "
cg@1637
   737
     self pasteIcon inspect
cg@1637
   738
     ImageEditor openOnClass:self andSelector:#pasteIcon
cg@1637
   739
     Icon flushCachedIcons
cg@1637
   740
    "
cg@1637
   741
cg@1637
   742
    <resource: #image>
cg@1637
   743
cg@1637
   744
    ^Icon
cg@2272
   745
        constantNamed:'ImageEditor class pasteIcon'
cg@1975
   746
        ifAbsentPut:[(Depth4Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(4)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@AU@@@@@CHE@E@2@@@ QDQD@0@@L@@@@@H@@BL#H2L#@@@QDQDQL @@D3L@@@@@@AL3A&Y&X@@SL0Y A&@@D3LF@@A @AL3A&@FX@@QDPY&Y&
cg@1975
   747
@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 0 0 128 128 128 0 128 128 128 212 208 200 255 255 0 255 255 255]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C0A?8O?0??C?<O?0??C?>O?8??#?>O?8_? G>@@a') ; yourself); yourself]
cg@1637
   748
!
cg@1637
   749
cg@1637
   750
pasteUnderIcon
cg@1637
   751
    "This resource specification was automatically generated
cg@1637
   752
     by the ImageEditor of ST/X."
cg@1637
   753
cg@1637
   754
    "Do not manually edit this!! If it is corrupted,
cg@1637
   755
     the ImageEditor may not be able to read the specification."
cg@1637
   756
cg@1637
   757
    "
cg@1637
   758
     self pasteUnderIcon inspect
cg@1637
   759
     ImageEditor openOnClass:self andSelector:#pasteUnderIcon
cg@1637
   760
     Icon flushCachedIcons
cg@1637
   761
    "
cg@1637
   762
cg@1637
   763
    <resource: #image>
cg@1637
   764
cg@1637
   765
    ^Icon
cg@2272
   766
        constantNamed:'ImageEditor class pasteUnderIcon'
cg@1975
   767
        ifAbsentPut:[(Depth4Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(4)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@AU@@@@@CHE@E@2@@@ QDQD@0@@L@@@@@H@@BL#H2L#@@@QDQDQL @@D3L3LP@@@AL3L3E&X@@SL3L0A&@@D3L3@@A @AL3L3@FX@@QDQDQY&
cg@1975
   768
@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 0 0 128 128 128 0 128 128 128 212 208 200 255 255 0 255 255 255]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C0A?8O?0??C?<O?0??C?>O?8??#?>O?8_? G>@@a') ; yourself); yourself]
cg@1637
   769
!
cg@1637
   770
cg@1637
   771
pasteWithMaskIcon
cg@1637
   772
    "This resource specification was automatically generated
cg@1637
   773
     by the ImageEditor of ST/X."
cg@1637
   774
cg@1637
   775
    "Do not manually edit this!! If it is corrupted,
cg@1637
   776
     the ImageEditor may not be able to read the specification."
cg@1637
   777
cg@1637
   778
    "
cg@1637
   779
     self pasteWithMaskIcon inspect
cg@1637
   780
     ImageEditor openOnClass:self andSelector:#pasteWithMaskIcon
cg@1637
   781
     Icon flushCachedIcons
cg@1637
   782
    "
cg@1637
   783
cg@1637
   784
    <resource: #image>
cg@1637
   785
cg@1637
   786
    ^Icon
cg@2272
   787
        constantNamed:'ImageEditor class pasteWithMaskIcon'
cg@2272
   788
        ifAbsentPut:[(Depth4Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(4)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@AU@@@@@CHE@E@2@@@ QDQD@0@@L@@@@@H@@BL#H2L#@@@QDQDQL @@D3L@@@@@@AL3@3M&X@@SL0L3A&@@D3LCL0A @AL3@3LFX@@QDPY&Y&
cg@2272
   789
@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 0 0 128 128 128 0 128 128 128 212 208 200 255 255 0 255 255 255]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C0A?8O?0??C?<O?0??C?>O?8??#?>O?8_? G>@@a') ; yourself); yourself]
cg@1637
   790
!
cg@1637
   791
cg@1637
   792
pointIcon
cg@1637
   793
    "This resource specification was automatically generated
cg@1637
   794
     by the ImageEditor of ST/X."
cg@1637
   795
cg@1637
   796
    "Do not manually edit this!! If it is corrupted,
cg@1637
   797
     the ImageEditor may not be able to read the specification."
cg@1637
   798
cg@1637
   799
    "
cg@1637
   800
     self pointIcon inspect
cg@1637
   801
     ImageEditor openOnClass:self andSelector:#pointIcon
cg@1637
   802
     Icon flushCachedIcons
cg@1637
   803
    "
cg@1637
   804
cg@1637
   805
    <resource: #image>
cg@1637
   806
cg@1637
   807
    ^Icon
cg@2272
   808
        constantNamed:'ImageEditor class pointIcon'
cg@1975
   809
        ifAbsentPut:[(Depth1Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@A@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@0@G@@8@G@@8@G@@8@G@@X@@@@@@@@@@@a') ; yourself); yourself]
cg@1637
   810
!
cg@1637
   811
cg@1637
   812
rectIcon
cg@1637
   813
    "This resource specification was automatically generated
cg@1637
   814
     by the ImageEditor of ST/X."
cg@1637
   815
cg@1637
   816
    "Do not manually edit this!! If it is corrupted,
cg@1637
   817
     the ImageEditor may not be able to read the specification."
cg@1637
   818
cg@1637
   819
    "
cg@1637
   820
     self rectIcon inspect
cg@1637
   821
     ImageEditor openOnClass:self andSelector:#rectIcon
cg@1637
   822
     Icon flushCachedIcons
cg@1637
   823
    "
cg@1637
   824
cg@1637
   825
    <resource: #image>
cg@1637
   826
cg@1637
   827
    ^Icon
cg@2272
   828
        constantNamed:'ImageEditor class rectIcon'
cg@2272
   829
        ifAbsentPut:[(Depth1Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@A@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 0 0]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@C?0HA@ DB@PHA@ DB@PHA@ DC?0@@@@@@@a') ; yourself); yourself]
cg@1637
   830
!
cg@1637
   831
tz@737
   832
rightMouseKeyIcon
tz@737
   833
    "This resource specification was automatically generated
tz@737
   834
     by the ImageEditor of ST/X."
tz@737
   835
tz@737
   836
    "Do not manually edit this!! If it is corrupted,
tz@737
   837
     the ImageEditor may not be able to read the specification."
tz@737
   838
tz@737
   839
    "
cg@1405
   840
     self rightMouseKeyIcon inspect
tz@737
   841
     ImageEditor openOnClass:self andSelector:#rightMouseKeyIcon
cg@2272
   842
     Icon flushCachedIcons
tz@737
   843
    "
tz@737
   844
tz@737
   845
    <resource: #image>
tz@737
   846
tz@737
   847
    ^Icon
cg@2272
   848
        constantNamed:'ImageEditor class rightMouseKeyIcon'
cg@2272
   849
        ifAbsentPut:[(Depth2Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@JJE@@B"!!P@@((T@@@@@@@B** @@**(@@J**@@B** @@**(@@J**@@@**@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@?0G? _>A?8G? _>A?8G? _>A?8G? O<@_ @@@b') ; yourself); yourself]
cg@1637
   850
!
cg@1637
   851
cg@2881
   852
specialCircleIcon
cg@2881
   853
    "This resource specification was automatically generated
cg@2881
   854
     by the ImageEditor of ST/X."
cg@2881
   855
cg@2881
   856
    "Do not manually edit this!! If it is corrupted,
cg@2881
   857
     the ImageEditor may not be able to read the specification."
cg@2881
   858
cg@2881
   859
    "
cg@2881
   860
     self specialCircleIcon inspect
cg@2881
   861
     ImageEditor openOnClass:self andSelector:#specialCircleIcon
cg@2881
   862
     Icon flushCachedIcons
cg@2881
   863
    "
cg@2881
   864
cg@2881
   865
    <resource: #image>
cg@2881
   866
cg@2881
   867
    ^Icon
cg@2881
   868
        constantNamed:'ImageEditor class specialCircleIcon'
cg@2881
   869
        ifAbsentPut:[(Depth1Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@L@@@!!BDB@ D4@HP@!!@BD@HHA@PHP!!@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 0 0]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@-@D2@''$D^HQ8!!G"DLHH1@PH@-@@0@@@@@a') ; yourself); yourself]
cg@2881
   870
!
cg@2881
   871
cg@1637
   872
specialIcon
cg@1637
   873
    "This resource specification was automatically generated
cg@1637
   874
     by the ImageEditor of ST/X."
cg@1637
   875
cg@1637
   876
    "Do not manually edit this!! If it is corrupted,
cg@1637
   877
     the ImageEditor may not be able to read the specification."
cg@1637
   878
cg@1637
   879
    "
cg@1637
   880
     self specialIcon inspect
cg@1637
   881
     ImageEditor openOnClass:self andSelector:#specialIcon
cg@1637
   882
     Icon flushCachedIcons
cg@1637
   883
    "
cg@1637
   884
cg@1637
   885
    <resource: #image>
cg@1637
   886
cg@1637
   887
    ^Icon
cg@2272
   888
        constantNamed:'ImageEditor class specialIcon'
cg@2881
   889
        ifAbsentPut:[(Depth1Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@L@@G!!:P@!!@B4@HP@!!@BD@HP@!!@BW!!8@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 0 0]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@G-8P0!!G"D^HQ8!!G"DLHP0!!@BG-8@0@@@@@a') ; yourself); yourself]
cg@2375
   890
!
cg@2375
   891
cg@2375
   892
sprayIcon
cg@2375
   893
    "This resource specification was automatically generated
cg@2375
   894
     by the ImageEditor of ST/X."
cg@2375
   895
cg@2375
   896
    "Do not manually edit this!! If it is corrupted,
cg@2375
   897
     the ImageEditor may not be able to read the specification."
cg@2375
   898
cg@2375
   899
    "
cg@2375
   900
     self sprayIcon inspect
cg@2375
   901
     ImageEditor openOnClass:self andSelector:#sprayIcon
cg@2375
   902
     Icon flushCachedIcons
cg@2375
   903
    "
cg@2375
   904
cg@2375
   905
    <resource: #image>
cg@2375
   906
cg@2375
   907
    ^Icon
cg@2375
   908
        constantNamed:'ImageEditor class sprayIcon'
cg@2375
   909
        ifAbsentPut:[(Depth4Image new) width: 14; height: 14; photometric:(#palette); bitsPerSample:(#[4]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@D@@@@@@@DA@@@@@@D@D@@@@@@A@PD@@@@@@A@P@@@@@@@A@P@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
cg@2375
   910
@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 84 84 84 170 170 170 255 255 255 255 0 0]; mask:((Depth1Image new) width: 14; height: 14; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@B@@(A)@F*@IPA2 H$@"@BH@H @"@BH@O @@a') ; yourself); yourself]
martin@1433
   911
! !
tz@737
   912
tz@400
   913
!ImageEditor class methodsFor:'interface specs'!
tz@400
   914
cg@1650
   915
changeHLSDialogSpec
cg@1650
   916
    "This resource specification was automatically generated
cg@1650
   917
     by the UIPainter of ST/X."
cg@1650
   918
cg@1650
   919
    "Do not manually edit this!! If it is corrupted,
cg@1650
   920
     the UIPainter may not be able to read the specification."
cg@1650
   921
cg@1650
   922
    "
cg@1650
   923
     UIPainter new openOnClass:ImageEditor andSelector:#changeHLSDialogSpec
cg@1650
   924
     ImageEditor new openInterface:#changeHLSDialogSpec
cg@1650
   925
    "
cg@1650
   926
cg@1650
   927
    <resource: #canvas>
cg@1650
   928
cg@1650
   929
    ^ 
sv@1740
   930
     #(FullSpec
sv@1740
   931
        name: changeHLSDialogSpec
sv@1740
   932
        window: 
sv@1740
   933
       (WindowSpec
sv@1740
   934
          label: 'HLS Edit Dialog'
sv@1740
   935
          name: 'HLS Edit Dialog'
sv@1740
   936
          min: (Point 10 10)
cg@2438
   937
          bounds: (Rectangle 0 0 312 258)
cg@1650
   938
        )
sv@1740
   939
        component: 
sv@1740
   940
       (SpecCollection
sv@1740
   941
          collection: (
sv@1740
   942
           (LabelSpec
sv@1740
   943
              label: 'Hue-Shift:'
sv@1740
   944
              name: 'HueLabel'
sv@1740
   945
              layout: (LayoutFrame 20 0 21 0 120 0 43 0)
sv@1740
   946
              translateLabel: true
sv@1740
   947
              adjust: right
cg@1650
   948
            )
sv@1740
   949
           (InputFieldSpec
sv@1740
   950
              name: 'HueShiftEntryField'
sv@1740
   951
              layout: (LayoutFrame 123 0 21 0 166 0 43 0)
sv@1740
   952
              tabable: true
sv@1740
   953
              model: hueShiftAmount
sv@1740
   954
              type: numberInRange
sv@1740
   955
              minValue: 0
sv@1740
   956
              maxValue: 360
sv@1740
   957
              acceptChannel: acceptChannel
sv@1740
   958
              acceptOnPointerLeave: false
cg@1650
   959
            )
sv@1740
   960
           (ThumbWheelSpec
sv@1740
   961
              name: 'HueWheel'
sv@1740
   962
              layout: (LayoutFrame 180 0 22 0 297 0 42 0)
sv@1740
   963
              model: hueShiftAmount
sv@1740
   964
              orientation: horizontal
sv@1740
   965
              step: 1
sv@1740
   966
              endlessRotation: true
cg@1650
   967
            )
sv@1740
   968
           (LabelSpec
sv@1740
   969
              label: 'Light Factor:'
sv@1740
   970
              name: 'LightLabel'
sv@1740
   971
              layout: (LayoutFrame 18 0 50 0 120 0 72 0)
sv@1740
   972
              translateLabel: true
sv@1740
   973
              adjust: right
cg@1650
   974
            )
sv@1740
   975
           (InputFieldSpec
sv@1740
   976
              name: 'LightEntryField'
sv@1740
   977
              layout: (LayoutFrame 123 0 50 0 166 0 72 0)
sv@1740
   978
              tabable: true
sv@1740
   979
              model: lightAmount
sv@1740
   980
              type: numberInRange
sv@1740
   981
              minValue: 0
sv@1740
   982
              maxValue: 1000
sv@1740
   983
              acceptChannel: acceptChannel
sv@1740
   984
              acceptOnPointerLeave: false
cg@1650
   985
            )
sv@1740
   986
           (ThumbWheelSpec
sv@1740
   987
              name: 'LightWheel'
sv@1740
   988
              layout: (LayoutFrame 180 0 51 0 297 0 71 0)
sv@1740
   989
              model: lightAmount
sv@1740
   990
              orientation: horizontal
sv@1740
   991
              stop: 1000
sv@1740
   992
              step: 1
cg@1650
   993
            )
sv@1740
   994
           (LabelSpec
sv@1740
   995
              label: 'Saturation Factor:'
sv@1740
   996
              name: 'SaturationLabel'
sv@1740
   997
              layout: (LayoutFrame 9 0 79 0 120 0 101 0)
sv@1740
   998
              translateLabel: true
sv@1740
   999
              adjust: right
cg@1650
  1000
            )
sv@1740
  1001
           (InputFieldSpec
sv@1740
  1002
              name: 'SaturationEntryField'
sv@1740
  1003
              layout: (LayoutFrame 123 0 79 0 166 0 101 0)
sv@1740
  1004
              tabable: true
sv@1740
  1005
              model: saturationAmount
sv@1740
  1006
              type: numberInRange
sv@1740
  1007
              minValue: 0
sv@1740
  1008
              maxValue: 1000
sv@1740
  1009
              acceptChannel: acceptChannel
sv@1740
  1010
              acceptOnPointerLeave: false
cg@1650
  1011
            )
sv@1740
  1012
           (ThumbWheelSpec
sv@1740
  1013
              name: 'SaturationWheel'
sv@1740
  1014
              layout: (LayoutFrame 180 0 80 0 297 0 100 0)
sv@1740
  1015
              model: saturationAmount
sv@1740
  1016
              orientation: horizontal
sv@1740
  1017
              stop: 1000
sv@1740
  1018
              step: 1
cg@1650
  1019
            )
sv@1740
  1020
           (LabelSpec
cg@2438
  1021
              label: 'Color Shift'
cg@2438
  1022
              name: 'Label2'
cg@2438
  1023
              layout: (LayoutFrame 5 0 110 0 -15 0.5 132 0)
cg@2438
  1024
              translateLabel: true
cg@2438
  1025
            )
cg@2438
  1026
           (LabelSpec
sv@1740
  1027
              name: 'HueColorLabel'
cg@2438
  1028
              layout: (LayoutFrame 18 0.0 133 0 -41 0.5 217 0)
cg@2438
  1029
              level: -1
cg@1975
  1030
              backgroundChannel: hlsColor
sv@1740
  1031
              translateLabel: true
cg@1650
  1032
            )
cg@2438
  1033
           (LabelSpec
cg@2438
  1034
              label: 'Preview'
cg@2438
  1035
              name: 'Label3'
cg@2438
  1036
              layout: (LayoutFrame 5 0.5 110 0 -5 1 132 0)
cg@2438
  1037
              translateLabel: true
cg@2438
  1038
            )
cg@2438
  1039
           (LabelSpec
cg@2438
  1040
              name: 'PreviewLabel'
cg@2438
  1041
              layout: (LayoutFrame 36 0.5 133 0 -23 1.0 217 0)
cg@2438
  1042
              level: -1
cg@2438
  1043
              translateLabel: true
cg@2438
  1044
              labelChannel: previewImageHolder
cg@2438
  1045
            )
sv@1740
  1046
           (HorizontalPanelViewSpec
sv@1740
  1047
              name: 'HorizontalPanel1'
sv@1740
  1048
              layout: (LayoutFrame 0 0.0 -30 1 0 1.0 0 1)
sv@1740
  1049
              horizontalLayout: fitSpace
sv@1740
  1050
              verticalLayout: center
sv@1740
  1051
              horizontalSpace: 3
sv@1740
  1052
              verticalSpace: 3
sv@1740
  1053
              reverseOrderIfOKAtLeft: true
sv@1740
  1054
              component: 
sv@1740
  1055
             (SpecCollection
sv@1740
  1056
                collection: (
sv@1740
  1057
                 (ActionButtonSpec
sv@1740
  1058
                    label: 'Cancel'
sv@1740
  1059
                    name: 'Button1'
sv@1740
  1060
                    translateLabel: true
sv@1740
  1061
                    tabable: true
sv@1740
  1062
                    model: cancel
sv@1740
  1063
                    extent: (Point 151 22)
cg@1650
  1064
                  )
sv@1740
  1065
                 (ActionButtonSpec
sv@1740
  1066
                    label: 'OK'
sv@1740
  1067
                    name: 'Button2'
sv@1740
  1068
                    translateLabel: true
sv@1740
  1069
                    tabable: true
sv@1740
  1070
                    model: accept
sv@1740
  1071
                    extent: (Point 152 22)
cg@1650
  1072
                  )
cg@1650
  1073
                 )
cg@1650
  1074
               
cg@1650
  1075
              )
cg@1650
  1076
            )
cg@1650
  1077
           )
cg@1650
  1078
         
cg@1650
  1079
        )
cg@1650
  1080
      )
cg@1650
  1081
!
cg@1650
  1082
sv@1740
  1083
cropDialogSpec
tz@737
  1084
    "This resource specification was automatically generated
tz@737
  1085
     by the UIPainter of ST/X."
tz@519
  1086
tz@737
  1087
    "Do not manually edit this!! If it is corrupted,
tz@737
  1088
     the UIPainter may not be able to read the specification."
tz@519
  1089
tz@519
  1090
    "
sv@1740
  1091
     UIPainter new openOnClass:ImageEditor andSelector:#cropDialogSpec
sv@1740
  1092
     ImageEditor new openInterface:#cropDialogSpec
tz@519
  1093
    "
tz@519
  1094
tz@519
  1095
    <resource: #canvas>
tz@519
  1096
cg@1457
  1097
    ^ 
sv@1740
  1098
     #(FullSpec
sv@1740
  1099
        name: cropDialogSpec
sv@1740
  1100
        window: 
sv@1740
  1101
       (WindowSpec
sv@1740
  1102
          label: 'Crop Border(s)'
sv@1740
  1103
          name: 'Crop Border(s)'
sv@1740
  1104
          min: (Point 10 10)
sv@1740
  1105
          bounds: (Rectangle 14 46 259 229)
cg@1457
  1106
        )
sv@1740
  1107
        component: 
sv@1740
  1108
       (SpecCollection
sv@1740
  1109
          collection: (
sv@1740
  1110
           (LabelSpec
sv@1740
  1111
              label: 'Left:'
sv@1740
  1112
              name: 'GropLeftLabel'
sv@1740
  1113
              layout: (LayoutFrame 14 0 21 0 90 0 43 0)
sv@1740
  1114
              translateLabel: true
sv@1740
  1115
              adjust: right
cg@1457
  1116
            )
sv@1740
  1117
           (InputFieldSpec
sv@1740
  1118
              name: 'GropLeftEntryField'
sv@1740
  1119
              layout: (LayoutFrame 95 0 21 0 132 0 43 0)
sv@1740
  1120
              tabable: true
sv@1740
  1121
              model: left
sv@1740
  1122
              type: number
sv@1740
  1123
              acceptChannel: acceptChannel
sv@1740
  1124
              acceptOnPointerLeave: false
cg@1502
  1125
            )
sv@1740
  1126
           (ActionButtonSpec
sv@1740
  1127
              label: 'Now'
sv@1740
  1128
              name: 'GropLeftNowButton'
sv@1740
  1129
              layout: (LayoutFrame 148 0 21 0 221 0 43 0)
sv@1740
  1130
              translateLabel: true
sv@1740
  1131
              tabable: true
sv@1740
  1132
              model: gropLeftNow
sv@1740
  1133
              autoRepeat: true
cg@1457
  1134
            )
sv@1740
  1135
           (LabelSpec
sv@1740
  1136
              label: 'Right:'
sv@1740
  1137
              name: 'GropRightLabel'
sv@1740
  1138
              layout: (LayoutFrame 14 0 51 0 90 0 73 0)
sv@1740
  1139
              translateLabel: true
sv@1740
  1140
              adjust: right
cg@1457
  1141
            )
sv@1740
  1142
           (InputFieldSpec
sv@1740
  1143
              name: 'GropRightEntryField'
sv@1740
  1144
              layout: (LayoutFrame 95 0 51 0 132 0 73 0)
sv@1740
  1145
              tabable: true
sv@1740
  1146
              model: right
sv@1740
  1147
              type: number
sv@1740
  1148
              acceptChannel: acceptChannel
sv@1740
  1149
              acceptOnPointerLeave: false
cg@1502
  1150
            )
sv@1740
  1151
           (ActionButtonSpec
sv@1740
  1152
              label: 'Now'
sv@1740
  1153
              name: 'GropRightButton'
sv@1740
  1154
              layout: (LayoutFrame 148 0 51 0 221 0 73 0)
sv@1740
  1155
              translateLabel: true
sv@1740
  1156
              tabable: true
sv@1740
  1157
              model: gropRightNow
sv@1740
  1158
              autoRepeat: true
cg@1457
  1159
            )
sv@1740
  1160
           (LabelSpec
sv@1740
  1161
              label: 'Top:'
sv@1740
  1162
              name: 'GropTopLabel'
sv@1740
  1163
              layout: (LayoutFrame 14 0 81 0 90 0 103 0)
sv@1740
  1164
              translateLabel: true
sv@1740
  1165
              adjust: right
cg@1457
  1166
            )
sv@1740
  1167
           (InputFieldSpec
sv@1740
  1168
              name: 'GropTopEntryField'
sv@1740
  1169
              layout: (LayoutFrame 95 0 81 0 132 0 103 0)
sv@1740
  1170
              tabable: true
sv@1740
  1171
              model: top
sv@1740
  1172
              type: number
sv@1740
  1173
              acceptChannel: acceptChannel
sv@1740
  1174
              acceptOnPointerLeave: false
cg@1502
  1175
            )
sv@1740
  1176
           (ActionButtonSpec
sv@1740
  1177
              label: 'Now'
sv@1740
  1178
              name: 'GropTopButton'
sv@1740
  1179
              layout: (LayoutFrame 148 0 81 0 221 0 103 0)
sv@1740
  1180
              translateLabel: true
sv@1740
  1181
              tabable: true
sv@1740
  1182
              model: gropTopNow
sv@1740
  1183
              autoRepeat: true
cg@1457
  1184
            )
sv@1740
  1185
           (LabelSpec
sv@1740
  1186
              label: 'Bottom:'
sv@1740
  1187
              name: 'GropBottomLabel'
sv@1740
  1188
              layout: (LayoutFrame 14 0 111 0 90 0 133 0)
sv@1740
  1189
              translateLabel: true
sv@1740
  1190
              adjust: right
cg@1457
  1191
            )
sv@1740
  1192
           (InputFieldSpec
sv@1740
  1193
              name: 'GropBottomEntryField'
sv@1740
  1194
              layout: (LayoutFrame 95 0 111 0 132 0 133 0)
sv@1740
  1195
              tabable: true
sv@1740
  1196
              model: bottom
sv@1740
  1197
              type: number
sv@1740
  1198
              acceptChannel: acceptChannel
sv@1740
  1199
              acceptOnPointerLeave: false
cg@1502
  1200
            )
sv@1740
  1201
           (ActionButtonSpec
sv@1740
  1202
              label: 'Now'
sv@1740
  1203
              name: 'GropBottomButton'
sv@1740
  1204
              layout: (LayoutFrame 148 0 111 0 221 0 133 0)
sv@1740
  1205
              translateLabel: true
sv@1740
  1206
              tabable: true
sv@1740
  1207
              model: gropBottomNow
sv@1740
  1208
              autoRepeat: true
cg@1457
  1209
            )
sv@1740
  1210
           (HorizontalPanelViewSpec
sv@1740
  1211
              name: 'HorizontalPanel1'
sv@1740
  1212
              layout: (LayoutFrame 0 0.0 -30 1 0 1.0 0 1)
sv@1740
  1213
              horizontalLayout: fitSpace
sv@1740
  1214
              verticalLayout: center
sv@1740
  1215
              horizontalSpace: 3
sv@1740
  1216
              verticalSpace: 3
sv@1740
  1217
              reverseOrderIfOKAtLeft: true
sv@1740
  1218
              component: 
sv@1740
  1219
             (SpecCollection
sv@1740
  1220
                collection: (
sv@1740
  1221
                 (ActionButtonSpec
sv@1740
  1222
                    label: 'Cancel'
sv@1740
  1223
                    name: 'Button1'
sv@1740
  1224
                    translateLabel: true
sv@1740
  1225
                    tabable: true
sv@1740
  1226
                    model: cancel
sv@1740
  1227
                    extent: (Point 77 22)
cg@1490
  1228
                  )
sv@1740
  1229
                 (ActionButtonSpec
sv@1740
  1230
                    label: 'Apply'
sv@1740
  1231
                    name: 'Button3'
sv@1740
  1232
                    translateLabel: true
sv@1740
  1233
                    tabable: true
sv@1740
  1234
                    model: applyAction
sv@1740
  1235
                    extent: (Point 78 22)
cg@1457
  1236
                  )
sv@1740
  1237
                 (ActionButtonSpec
sv@1740
  1238
                    label: 'OK'
sv@1740
  1239
                    name: 'Button2'
sv@1740
  1240
                    translateLabel: true
sv@1740
  1241
                    tabable: true
sv@1740
  1242
                    model: accept
sv@1740
  1243
                    extent: (Point 78 22)
cg@1457
  1244
                  )
cg@1457
  1245
                 )
cg@1457
  1246
               
cg@986
  1247
              )
cg@1457
  1248
            )
cg@1457
  1249
           )
cg@1457
  1250
         
cg@1457
  1251
        )
cg@986
  1252
      )
cg@986
  1253
!
cg@986
  1254
sv@1740
  1255
dialogSpecForNewImage
cg@1557
  1256
    "This resource specification was automatically generated
cg@1557
  1257
     by the UIPainter of ST/X."
cg@1557
  1258
cg@1557
  1259
    "Do not manually edit this!! If it is corrupted,
cg@1557
  1260
     the UIPainter may not be able to read the specification."
cg@1557
  1261
cg@1557
  1262
    "
sv@1740
  1263
     UIPainter new openOnClass:ImageEditor andSelector:#dialogSpecForNewImage
sv@1740
  1264
     ImageEditor new openInterface:#dialogSpecForNewImage
cg@1557
  1265
    "
cg@1557
  1266
cg@1557
  1267
    <resource: #canvas>
cg@1557
  1268
cg@1557
  1269
    ^ 
sv@1740
  1270
     #(FullSpec
sv@1740
  1271
        name: dialogSpecForNewImage
sv@1740
  1272
        window: 
sv@1740
  1273
       (WindowSpec
sv@1740
  1274
          label: 'New Image'
sv@1740
  1275
          name: 'New Image'
sv@1740
  1276
          min: (Point 10 10)
cg@1806
  1277
          bounds: (Rectangle 0 0 301 119)
cg@1557
  1278
        )
sv@1740
  1279
        component: 
sv@1740
  1280
       (SpecCollection
sv@1740
  1281
          collection: (
sv@1740
  1282
           (ViewSpec
sv@1740
  1283
              name: 'View'
sv@1740
  1284
              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -35 1.0)
sv@1740
  1285
              level: 1
sv@1740
  1286
              component: 
sv@1740
  1287
             (SpecCollection
sv@1740
  1288
                collection: (
sv@1740
  1289
                 (FramedBoxSpec
sv@1740
  1290
                    label: 'Size'
sv@1740
  1291
                    name: 'framedBox1'
sv@1740
  1292
                    layout: (LayoutFrame 1 0.0 7 0.0 0 0.4 76 0)
cg@1806
  1293
                    style: (FontDescription helvetica medium roman 12)
sv@1740
  1294
                    labelPosition: topLeft
cg@1806
  1295
                    translateLabel: true
sv@1740
  1296
                    component: 
sv@1740
  1297
                   (SpecCollection
sv@1740
  1298
                      collection: (
sv@1740
  1299
                       (ComboBoxSpec
sv@1740
  1300
                          name: 'defaultSizesComboBox'
sv@1740
  1301
                          layout: (LayoutFrame 0 0.0 10 0.0 0 1 35 0.0)
sv@1740
  1302
                          model: selectionOfSize
sv@1740
  1303
                          type: string
sv@1740
  1304
                          acceptOnPointerLeave: false
sv@1740
  1305
                          comboList: listOfDefaultSizes
sv@1740
  1306
                          isFilenameBox: false
sv@1740
  1307
                        )
sv@1740
  1308
                       )
sv@1740
  1309
                     
sv@1740
  1310
                    )
cg@1557
  1311
                  )
sv@1740
  1312
                 (FramedBoxSpec
sv@1740
  1313
                    label: 'Color Map'
sv@1740
  1314
                    name: 'framedBox2'
sv@1740
  1315
                    layout: (LayoutFrame 0 0.4 7 0.0 -1 1.0 76 0)
cg@1806
  1316
                    style: (FontDescription helvetica medium roman 12)
sv@1740
  1317
                    labelPosition: topLeft
cg@1806
  1318
                    translateLabel: true
sv@1740
  1319
                    component: 
sv@1740
  1320
                   (SpecCollection
sv@1740
  1321
                      collection: (
sv@1740
  1322
                       (ComboListSpec
sv@1740
  1323
                          name: 'colorMapComboBox'
sv@1740
  1324
                          layout: (LayoutFrame 0 0.0 10 0.0 0 1 35 0.0)
sv@1740
  1325
                          model: selectionOfColorMap
sv@1740
  1326
                          comboList: listOfColorMaps
sv@1740
  1327
                          useIndex: false
cg@1847
  1328
                          hidePullDownMenuButton: false
sv@1740
  1329
                        )
sv@1740
  1330
                       )
sv@1740
  1331
                     
sv@1740
  1332
                    )
cg@1557
  1333
                  )
cg@1557
  1334
                 )
cg@1557
  1335
               
cg@1557
  1336
              )
cg@1557
  1337
            )
sv@1740
  1338
           (UISubSpecification
sv@1740
  1339
              name: 'windowSpecForCommitWithoutChannels'
sv@1740
  1340
              layout: (LayoutFrame 2 0.0 -26 1 -2 1.0 -2 1.0)
sv@1740
  1341
              minorKey: windowSpecForCommitWithoutChannels
cg@1713
  1342
            )
cg@1557
  1343
           )
cg@1557
  1344
         
cg@1557
  1345
        )
cg@1557
  1346
      )
cg@1557
  1347
!
cg@1557
  1348
sv@1740
  1349
shiftDialogSpec
cg@1480
  1350
    "This resource specification was automatically generated
cg@1480
  1351
     by the UIPainter of ST/X."
cg@1480
  1352
cg@1480
  1353
    "Do not manually edit this!! If it is corrupted,
cg@1480
  1354
     the UIPainter may not be able to read the specification."
cg@1480
  1355
cg@1480
  1356
    "
sv@1740
  1357
     UIPainter new openOnClass:ImageEditor andSelector:#shiftDialogSpec
sv@1740
  1358
     ImageEditor new openInterface:#shiftDialogSpec
cg@1480
  1359
    "
cg@1480
  1360
cg@1480
  1361
    <resource: #canvas>
cg@1480
  1362
cg@1480
  1363
    ^ 
sv@1740
  1364
     #(FullSpec
sv@1740
  1365
        name: shiftDialogSpec
sv@1740
  1366
        window: 
sv@1740
  1367
       (WindowSpec
sv@1740
  1368
          label: 'Shift'
sv@1740
  1369
          name: 'Shift'
sv@1740
  1370
          min: (Point 10 10)
sv@1740
  1371
          bounds: (Rectangle 14 46 259 229)
cg@1480
  1372
        )
sv@1740
  1373
        component: 
sv@1740
  1374
       (SpecCollection
sv@1740
  1375
          collection: (
sv@1740
  1376
           (LabelSpec
sv@1740
  1377
              label: 'Amount:'
sv@1740
  1378
              name: 'AmountLabel'
sv@1740
  1379
              layout: (LayoutFrame 14 0 21 0 90 0 43 0)
sv@1740
  1380
              translateLabel: true
sv@1740
  1381
              adjust: right
cg@1480
  1382
            )
sv@1740
  1383
           (InputFieldSpec
sv@1740
  1384
              name: 'AmountEntryField'
sv@1740
  1385
              layout: (LayoutFrame 95 0 21 0 139 0 43 0)
sv@1740
  1386
              tabable: true
sv@1740
  1387
              model: shiftAmount
sv@1740
  1388
              type: number
sv@1740
  1389
              acceptChannel: acceptChannel
sv@1740
  1390
              acceptOnPointerLeave: false
cg@1480
  1391
            )
sv@1740
  1392
           (HorizontalPanelViewSpec
sv@1740
  1393
              name: 'HorizontalPanel1'
sv@1740
  1394
              layout: (LayoutFrame 0 0.0 -30 1 0 1.0 0 1)
sv@1740
  1395
              horizontalLayout: fitSpace
sv@1740
  1396
              verticalLayout: center
sv@1740
  1397
              horizontalSpace: 3
sv@1740
  1398
              verticalSpace: 3
sv@1740
  1399
              reverseOrderIfOKAtLeft: true
sv@1740
  1400
              component: 
sv@1740
  1401
             (SpecCollection
sv@1740
  1402
                collection: (
sv@1740
  1403
                 (ActionButtonSpec
sv@1740
  1404
                    label: 'Cancel'
sv@1740
  1405
                    name: 'Button1'
sv@1740
  1406
                    translateLabel: true
sv@1740
  1407
                    tabable: true
sv@1740
  1408
                    model: cancel
sv@1740
  1409
                    extent: (Point 118 22)
cg@1480
  1410
                  )
sv@1740
  1411
                 (ActionButtonSpec
sv@1740
  1412
                    label: 'OK'
sv@1740
  1413
                    name: 'Button2'
sv@1740
  1414
                    translateLabel: true
sv@1740
  1415
                    tabable: true
sv@1740
  1416
                    model: accept
sv@1740
  1417
                    extent: (Point 118 22)
cg@1480
  1418
                  )
cg@1480
  1419
                 )
cg@1480
  1420
               
cg@1480
  1421
              )
cg@1480
  1422
            )
sv@1740
  1423
           (ArrowButtonSpec
sv@1740
  1424
              name: 'upArrowButton'
sv@1740
  1425
              layout: (LayoutFrame 105 0 63 0 127 0 85 0)
sv@1740
  1426
              model: shiftUpNow
sv@1740
  1427
              isTriggerOnDown: true
sv@1740
  1428
              autoRepeat: true
sv@1740
  1429
              actionValue: ''
sv@1740
  1430
              direction: up
sv@1740
  1431
            )
sv@1740
  1432
           (ArrowButtonSpec
sv@1740
  1433
              name: 'leftArrowButton'
sv@1740
  1434
              layout: (LayoutFrame 84 0 86 0 106 0 108 0)
sv@1740
  1435
              model: shiftLeftNow
sv@1740
  1436
              isTriggerOnDown: true
sv@1740
  1437
              autoRepeat: true
sv@1740
  1438
              actionValue: ''
sv@1740
  1439
              direction: left
sv@1740
  1440
            )
sv@1740
  1441
           (ArrowButtonSpec
sv@1740
  1442
              name: 'rightArrowButton'
sv@1740
  1443
              layout: (LayoutFrame 126 0 86 0 148 0 108 0)
sv@1740
  1444
              model: shiftRightNow
sv@1740
  1445
              isTriggerOnDown: true
sv@1740
  1446
              autoRepeat: true
sv@1740
  1447
              actionValue: ''
sv@1740
  1448
              direction: right
sv@1740
  1449
            )
sv@1740
  1450
           (ArrowButtonSpec
sv@1740
  1451
              name: 'downArrowButton'
sv@1740
  1452
              layout: (LayoutFrame 105 0 107 0 127 0 129 0)
sv@1740
  1453
              model: shiftDownNow
sv@1740
  1454
              isTriggerOnDown: true
sv@1740
  1455
              autoRepeat: true
sv@1740
  1456
              actionValue: ''
sv@1740
  1457
              direction: down
sv@1740
  1458
            )
sv@1740
  1459
           (CheckBoxSpec
sv@1740
  1460
              label: 'Wrap'
sv@1740
  1461
              name: 'CheckBox1'
sv@1740
  1462
              layout: (LayoutFrame 153 0 22 0 289 0 44 0)
sv@1740
  1463
              model: wrap
sv@1740
  1464
              translateLabel: true
sv@1740
  1465
            )
cg@1480
  1466
           )
cg@1480
  1467
         
cg@1480
  1468
        )
cg@1480
  1469
      )
cg@1480
  1470
!
cg@1480
  1471
sv@1740
  1472
uncropDialogSpec
sv@1740
  1473
    "This resource specification was automatically generated
sv@1740
  1474
     by the UIPainter of ST/X."
cg@1796
  1475
sv@1740
  1476
    "Do not manually edit this!! If it is corrupted,
sv@1740
  1477
     the UIPainter may not be able to read the specification."
cg@1796
  1478
sv@1740
  1479
    "
cg@1796
  1480
     UIPainter new openOnClass:ImageEditor andSelector:#uncropDialogSpec
cg@1796
  1481
     ImageEditor new openInterface:#uncropDialogSpec
sv@1740
  1482
    "
cg@1796
  1483
cg@1796
  1484
    <resource: #canvas>
cg@1796
  1485
cg@1796
  1486
    ^ 
cg@1796
  1487
     #(FullSpec
cg@1796
  1488
        name: uncropDialogSpec
cg@1796
  1489
        window: 
cg@1796
  1490
       (WindowSpec
cg@1796
  1491
          label: 'Add Border(s)'
cg@1796
  1492
          name: 'Add Border(s)'
cg@1796
  1493
          min: (Point 10 10)
cg@1796
  1494
          max: (Point 800 478)
cg@1796
  1495
          bounds: (Rectangle 0 0 261 228)
cg@1796
  1496
        )
cg@1796
  1497
        component: 
cg@1796
  1498
       (SpecCollection
cg@1796
  1499
          collection: (
cg@1796
  1500
           (LabelSpec
cg@1796
  1501
              label: 'Left:'
cg@1796
  1502
              name: 'Label1'
cg@1796
  1503
              layout: (LayoutFrame 14 0 21 0 90 0 43 0)
cg@1796
  1504
              translateLabel: true
cg@1796
  1505
              adjust: right
cg@1796
  1506
            )
cg@1796
  1507
           (InputFieldSpec
cg@1796
  1508
              name: 'EntryField1'
cg@1796
  1509
              layout: (LayoutFrame 95 0 21 0 132 0 43 0)
cg@1796
  1510
              model: left
cg@1796
  1511
              type: number
cg@1796
  1512
              acceptOnPointerLeave: false
cg@1796
  1513
            )
cg@1796
  1514
           (LabelSpec
cg@1796
  1515
              label: 'Right:'
cg@1796
  1516
              name: 'Label2'
cg@1796
  1517
              layout: (LayoutFrame 14 0 51 0 90 0 73 0)
cg@1796
  1518
              translateLabel: true
cg@1796
  1519
              adjust: right
cg@1796
  1520
            )
cg@1796
  1521
           (InputFieldSpec
cg@1796
  1522
              name: 'EntryField2'
cg@1796
  1523
              layout: (LayoutFrame 95 0 51 0 132 0 73 0)
cg@1796
  1524
              model: right
cg@1796
  1525
              type: number
cg@1796
  1526
              acceptOnPointerLeave: false
cg@1796
  1527
            )
cg@1796
  1528
           (LabelSpec
cg@1796
  1529
              label: 'Top:'
cg@1796
  1530
              name: 'Label3'
cg@1796
  1531
              layout: (LayoutFrame 14 0 81 0 90 0 103 0)
cg@1796
  1532
              translateLabel: true
cg@1796
  1533
              adjust: right
cg@1796
  1534
            )
cg@1796
  1535
           (InputFieldSpec
cg@1796
  1536
              name: 'EntryField3'
cg@1796
  1537
              layout: (LayoutFrame 95 0 81 0 132 0 103 0)
cg@1796
  1538
              model: top
cg@1796
  1539
              type: number
cg@1796
  1540
              acceptOnPointerLeave: false
cg@1796
  1541
            )
cg@1796
  1542
           (LabelSpec
cg@1796
  1543
              label: 'Bottom:'
cg@1796
  1544
              name: 'Label4'
cg@1796
  1545
              layout: (LayoutFrame 14 0 111 0 90 0 133 0)
cg@1796
  1546
              translateLabel: true
cg@1796
  1547
              adjust: right
cg@1796
  1548
            )
cg@1796
  1549
           (InputFieldSpec
cg@1796
  1550
              name: 'EntryField4'
cg@1796
  1551
              layout: (LayoutFrame 95 0 111 0 132 0 133 0)
cg@1796
  1552
              model: bottom
cg@1796
  1553
              type: number
cg@1796
  1554
              acceptOnPointerLeave: false
cg@1796
  1555
            )
cg@1796
  1556
           (HorizontalPanelViewSpec
cg@1796
  1557
              name: 'HorizontalPanel1'
cg@1796
  1558
              layout: (LayoutFrame 0 0.0 -30 1 0 1.0 0 1)
cg@1796
  1559
              horizontalLayout: fitSpace
cg@1796
  1560
              verticalLayout: center
cg@1796
  1561
              horizontalSpace: 3
cg@1796
  1562
              verticalSpace: 3
cg@1796
  1563
              reverseOrderIfOKAtLeft: true
cg@1796
  1564
              component: 
cg@1796
  1565
             (SpecCollection
cg@1796
  1566
                collection: (
cg@1796
  1567
                 (ActionButtonSpec
cg@1796
  1568
                    label: 'Cancel'
cg@1796
  1569
                    name: 'Button1'
cg@1796
  1570
                    translateLabel: true
cg@1796
  1571
                    model: cancel
cg@1796
  1572
                    extent: (Point 118 22)
cg@1796
  1573
                  )
cg@1796
  1574
                 (ActionButtonSpec
cg@1796
  1575
                    label: 'OK'
cg@1796
  1576
                    name: 'Button2'
cg@1796
  1577
                    translateLabel: true
cg@1796
  1578
                    model: accept
cg@1796
  1579
                    extent: (Point 118 22)
cg@1796
  1580
                  )
cg@1796
  1581
                 )
cg@1796
  1582
               
cg@1796
  1583
              )
cg@1796
  1584
            )
cg@1796
  1585
           )
cg@1796
  1586
         
cg@1796
  1587
        )
cg@1796
  1588
      )
sv@1740
  1589
!
sv@1740
  1590
tz@767
  1591
windowSpec
tz@767
  1592
    "This resource specification was automatically generated
tz@767
  1593
     by the UIPainter of ST/X."
tz@767
  1594
tz@767
  1595
    "Do not manually edit this!! If it is corrupted,
tz@767
  1596
     the UIPainter may not be able to read the specification."
tz@767
  1597
tz@767
  1598
    "
tz@767
  1599
     UIPainter new openOnClass:ImageEditor andSelector:#windowSpec
tz@767
  1600
     ImageEditor new openInterface:#windowSpec
tz@767
  1601
     ImageEditor open
tz@767
  1602
    "
tz@767
  1603
tz@767
  1604
    <resource: #canvas>
tz@767
  1605
cg@1558
  1606
    ^ 
cg@1820
  1607
     #(FullSpec
cg@1820
  1608
        name: windowSpec
cg@1820
  1609
        window: 
cg@1820
  1610
       (WindowSpec
cg@1820
  1611
          label: 'Image Editor'
cg@1820
  1612
          name: 'Image Editor'
cg@1820
  1613
          min: (Point 400 320)
cg@1820
  1614
          bounds: (Rectangle 0 0 450 350)
cg@1820
  1615
          menu: menu
sv@2155
  1616
          icon: defaultIcon
cg@1558
  1617
        )
cg@1820
  1618
        component: 
cg@1820
  1619
       (SpecCollection
cg@1820
  1620
          collection: (
cg@1820
  1621
           (MenuPanelSpec
cg@1820
  1622
              name: 'menuToolbarView'
cg@1820
  1623
              layout: (LayoutFrame 0 0.0 0 0 0 1.0 32 0)
cg@1820
  1624
              style: (FontDescription helvetica medium roman 10)
cg@1820
  1625
              menu: menuToolbar
cg@1820
  1626
              showSeparatingLines: true
cg@1558
  1627
            )
cg@1820
  1628
           (VariableHorizontalPanelSpec
cg@1998
  1629
              name: 'mainPanel'
cg@1820
  1630
              layout: (LayoutFrame 0 0.0 34 0.0 0 1.0 -26 1.0)
cg@1820
  1631
              snapMode: both
cg@1843
  1632
              barLevel: 0
cg@1820
  1633
              component: 
cg@1820
  1634
             (SpecCollection
cg@1820
  1635
                collection: (
cg@1820
  1636
                 (ViewSpec
cg@1820
  1637
                    name: 'leftView'
cg@1820
  1638
                    level: 1
cg@1820
  1639
                    component: 
cg@1820
  1640
                   (SpecCollection
cg@1820
  1641
                      collection: (
cg@1820
  1642
                       (VariableVerticalPanelSpec
cg@1820
  1643
                          name: 'verticalPanel'
cg@1820
  1644
                          layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
cg@1820
  1645
                          level: 0
cg@1820
  1646
                          snapMode: both
cg@1820
  1647
                          component: 
cg@1820
  1648
                         (SpecCollection
cg@1820
  1649
                            collection: (
cg@1820
  1650
                             (ViewSpec
cg@1820
  1651
                                name: 'View1'
cg@1820
  1652
                                component: 
cg@1820
  1653
                               (SpecCollection
cg@1820
  1654
                                  collection: (
cg@1820
  1655
                                   (MenuPanelSpec
cg@1820
  1656
                                      name: 'MouseButtonColorToolBar'
cg@1820
  1657
                                      layout: (LayoutFrame 0 0.0 0 0 0 1.0 24 0)
cg@1820
  1658
                                      level: 0
cg@1820
  1659
                                      menu: menuMouseButtonColors
cg@1558
  1660
                                    )
cg@1820
  1661
                                   (DataSetSpec
cg@1820
  1662
                                      name: 'colorDataSetView'
cg@1820
  1663
                                      layout: (LayoutFrame 0 0.0 26 0.0 0 1.0 0 1.0)
cg@1820
  1664
                                      activeHelpKey: colorMapTable
cg@1820
  1665
                                      style: (FontDescription helvetica medium roman 10)
cg@1820
  1666
                                      model: selectionOfColor
cg@1820
  1667
                                      menu: colorMapMenu
cg@1820
  1668
                                      hasHorizontalScrollBar: true
cg@1820
  1669
                                      hasVerticalScrollBar: true
cg@1820
  1670
                                      miniScrollerHorizontal: true
cg@1820
  1671
                                      miniScrollerVertical: true
cg@1820
  1672
                                      dataList: listOfColors
cg@1820
  1673
                                      has3Dseparators: true
cg@2174
  1674
                                      doubleClickSelector: doubleClickOnColor:
cg@1900
  1675
                                      columnHolder: colorTableColumns
cg@1820
  1676
                                      verticalSpacing: 1
cg@1820
  1677
                                      columnAdaptor: colorColumnAdaptor
tz@767
  1678
                                    )
cg@1558
  1679
                                   )
cg@1558
  1680
                                 
cg@1558
  1681
                                )
tz@767
  1682
                              )
cg@1820
  1683
                             (ArbitraryComponentSpec
cg@1820
  1684
                                name: 'imagePreView'
cg@1820
  1685
                                activeHelpKey: previewView
cg@1820
  1686
                                menu: previewMenu
cg@1820
  1687
                                hasHorizontalScrollBar: true
cg@1820
  1688
                                hasVerticalScrollBar: true
cg@2728
  1689
                                miniScrollerHorizontal: false
cg@2728
  1690
                                miniScrollerVertical: false
cg@1820
  1691
                                hasBorder: false
cg@1820
  1692
                                component: ImageView
cg@1558
  1693
                              )
cg@1558
  1694
                             )
cg@1558
  1695
                           
tz@767
  1696
                          )
cg@1820
  1697
                          handles: (Any 0.5 1.0)
tz@767
  1698
                        )
cg@1558
  1699
                       )
cg@1558
  1700
                     
tz@767
  1701
                    )
cg@1558
  1702
                  )
cg@1820
  1703
                 (ViewSpec
cg@1820
  1704
                    name: 'rightView'
cg@1820
  1705
                    component: 
cg@1820
  1706
                   (SpecCollection
cg@1820
  1707
                      collection: (
cg@1820
  1708
                       (MenuPanelSpec
cg@1820
  1709
                          name: 'ToolBar1'
cg@1820
  1710
                          layout: (LayoutFrame 0 0 0 0.0 28 0 0 1.0)
cg@1820
  1711
                          level: 1
cg@1820
  1712
                          menu: toolsMenuToolbar
cg@1820
  1713
                          verticalLayout: true
cg@1820
  1714
                          centerItems: true
cg@1820
  1715
                          textDefault: true
cg@1558
  1716
                        )
cg@1820
  1717
                       (ViewSpec
cg@1820
  1718
                          name: 'editingView'
cg@1820
  1719
                          layout: (LayoutFrame 28 0.0 0 0.0 0 1.0 0 1.0)
cg@1820
  1720
                          level: 1
cg@1820
  1721
                          component: 
cg@1820
  1722
                         (SpecCollection
cg@1820
  1723
                            collection: (
cg@1820
  1724
                             (ArbitraryComponentSpec
cg@1820
  1725
                                name: 'imageEditView'
cg@1820
  1726
                                layout: (LayoutFrame 2 0.0 2 0.0 -2 1.0 -24 1.0)
cg@1820
  1727
                                hasHorizontalScrollBar: true
cg@1820
  1728
                                hasVerticalScrollBar: true
cg@1820
  1729
                                hasBorder: false
cg@1820
  1730
                                component: ImageEditView
cg@1637
  1731
                              )
cg@1820
  1732
                             (LabelSpec
cg@1820
  1733
                                name: 'coordLabel'
cg@1820
  1734
                                layout: (LayoutFrame 2 0.0 -22 1 -83 1.0 0 1.0)
cg@1820
  1735
                                level: -1
cg@1820
  1736
                                labelChannel: imageInfoHolder
cg@1820
  1737
                                resizeForLabel: false
cg@1820
  1738
                                adjust: left
cg@1637
  1739
                              )
cg@1820
  1740
                             (ArrowButtonSpec
cg@1820
  1741
                                name: 'magnifyDownButton'
cg@1820
  1742
                                layout: (LayoutFrame -80 1 -22 1 -58 1 0 1)
cg@1820
  1743
                                activeHelpKey: magnifyImageDown
cg@1820
  1744
                                model: doMagnifyDown
cg@2792
  1745
                                enableChannel: imageIsLoadedHolder
cg@1820
  1746
                                isTriggerOnDown: true
cg@1820
  1747
                                direction: left
cg@1637
  1748
                              )
cg@1820
  1749
                             (ArrowButtonSpec
cg@1820
  1750
                                name: 'magnifyUpButton'
cg@1820
  1751
                                layout: (LayoutFrame -24 1 -22 1 -2 1 0 1)
cg@1820
  1752
                                activeHelpKey: magnifyImageUp
cg@1820
  1753
                                model: doMagnifyUp
cg@2792
  1754
                                enableChannel: imageIsLoadedHolder
cg@1820
  1755
                                isTriggerOnDown: true
cg@1820
  1756
                                direction: right
cg@1637
  1757
                              )
cg@1820
  1758
                             (InputFieldSpec
cg@1820
  1759
                                name: 'magnificationInputField'
cg@1820
  1760
                                layout: (LayoutFrame -57 1 -22 1 -26 1 0 1)
cg@1820
  1761
                                activeHelpKey: magnificationNumber
cg@2792
  1762
                                enableChannel: imageIsLoadedHolder
cg@1987
  1763
                                model: magnificationHolder
cg@1820
  1764
                                type: numberInRange
cg@1975
  1765
                                acceptOnReturn: true
cg@1975
  1766
                                acceptOnTab: true
cg@1820
  1767
                                numChars: 2
cg@1820
  1768
                                minValue: 1
cg@1820
  1769
                                maxValue: 99
cg@1975
  1770
                                acceptOnPointerLeave: true
cg@1637
  1771
                              )
cg@1637
  1772
                             )
cg@1637
  1773
                           
cg@1637
  1774
                          )
cg@1558
  1775
                        )
cg@1558
  1776
                       )
cg@1558
  1777
                     
cg@1558
  1778
                    )
cg@1558
  1779
                  )
cg@1558
  1780
                 )
cg@1558
  1781
               
tz@767
  1782
              )
cg@1843
  1783
              handles: (Any 0.288889 1.0)
cg@1558
  1784
            )
cg@1820
  1785
           (UISubSpecification
cg@1820
  1786
              name: 'infoBarSubSpec'
cg@1820
  1787
              layout: (LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
cg@1820
  1788
              majorKey: ToolApplicationModel
cg@1820
  1789
              minorKey: windowSpecForInfoBar
cg@1558
  1790
            )
cg@1558
  1791
           )
cg@1558
  1792
         
cg@1558
  1793
        )
tz@767
  1794
      )
cg@2792
  1795
cg@2792
  1796
    "Modified: / 04-07-2010 / 10:18:33 / cg"
tz@519
  1797
! !
tz@519
  1798
tz@519
  1799
!ImageEditor class methodsFor:'menu specs'!
tz@519
  1800
cg@1053
  1801
colorMapMenu
cg@1053
  1802
    "This resource specification was automatically generated
cg@1053
  1803
     by the MenuEditor of ST/X."
cg@1053
  1804
cg@1053
  1805
    "Do not manually edit this!! If it is corrupted,
cg@1053
  1806
     the MenuEditor may not be able to read the specification."
cg@1053
  1807
cg@1053
  1808
    "
cg@1847
  1809
     MenuEditor new openOnClass:ImageEditor andSelector:#colorMapMenu
cg@1847
  1810
     (Menu new fromLiteralArrayEncoding:(ImageEditor colorMapMenu)) startUp
cg@1053
  1811
    "
cg@1053
  1812
cg@1053
  1813
    <resource: #menu>
cg@1053
  1814
cg@1847
  1815
    ^ 
cg@1847
  1816
     #(Menu
cg@1847
  1817
        (
cg@1847
  1818
         (MenuItem
cg@2792
  1819
            enabled: hasColormapHolder
cg@1847
  1820
            label: 'Add Color'
cg@1847
  1821
            itemValue: addColorToColormap
cg@1847
  1822
            translateLabel: true
cg@1847
  1823
          )
cg@1847
  1824
         (MenuItem
cg@2792
  1825
            enabled: hasColormapHolder
cg@2539
  1826
            label: 'Pick and Add Color...'
cg@1847
  1827
            itemValue: pickAndAddColorToColormap
cg@1847
  1828
            translateLabel: true
cg@1847
  1829
          )
cg@1847
  1830
         (MenuItem
cg@1847
  1831
            label: '-'
cg@1847
  1832
          )
cg@1847
  1833
         (MenuItem
cg@2651
  1834
            enabled: hasColormapAndColorSelected
cg@1852
  1835
            label: 'Cut Color'
cg@1852
  1836
            itemValue: cutColorFromColormap
cg@1852
  1837
            translateLabel: true
cg@1852
  1838
            isVisible: false
cg@1852
  1839
          )
cg@1852
  1840
         (MenuItem
cg@2792
  1841
            enabled: hasColorSelectedHolder
cg@1852
  1842
            label: 'Copy Color'
cg@1852
  1843
            itemValue: copyColorFromColormap
cg@1852
  1844
            translateLabel: true
cg@2841
  1845
            shortcutKey: Copy
cg@1852
  1846
          )
cg@1852
  1847
         (MenuItem
cg@2651
  1848
            enabled: hasColormapAndColorSelected
cg@2539
  1849
            label: 'Pick and Paste Color...'
cg@1933
  1850
            itemValue: pickAndPasteColor
cg@1852
  1851
            translateLabel: true
cg@1852
  1852
          )
cg@1852
  1853
         (MenuItem
cg@1852
  1854
            label: 'Paste Color'
cg@1852
  1855
            itemValue: pasteColorIntoColormap
cg@1852
  1856
            translateLabel: true
cg@2841
  1857
            shortcutKey: Paste
cg@1852
  1858
          )
cg@1852
  1859
         (MenuItem
cg@1852
  1860
            label: '-'
cg@1852
  1861
          )
cg@1852
  1862
         (MenuItem
cg@2651
  1863
            enabled: hasColormapAndColorSelected
cg@2539
  1864
            label: 'Edit Color...'
cg@1931
  1865
            itemValue: editSelectedColor
cg@1931
  1866
            translateLabel: true
cg@1931
  1867
          )
cg@1931
  1868
         (MenuItem
cg@2651
  1869
            enabled: hasColormapAndColorSelected
cg@1847
  1870
            label: 'Brighter'
cg@1847
  1871
            itemValue: makeSelectedColorBrighter
cg@1847
  1872
            translateLabel: true
cg@1847
  1873
          )
cg@1847
  1874
         (MenuItem
cg@2651
  1875
            enabled: hasColormapAndColorSelected
cg@1847
  1876
            label: 'Darker'
cg@1847
  1877
            itemValue: makeSelectedColorDarker
cg@1847
  1878
            translateLabel: true
cg@1847
  1879
          )
cg@1847
  1880
         (MenuItem
cg@2651
  1881
            enabled: hasColormapAndColorSelected
cg@1884
  1882
            label: 'Make Gray'
cg@1884
  1883
            itemValue: makeSelectedColorGray
cg@1884
  1884
            translateLabel: true
cg@1884
  1885
          )
cg@1884
  1886
         (MenuItem
cg@1847
  1887
            label: '-'
cg@1847
  1888
          )
cg@1847
  1889
         (MenuItem
cg@2841
  1890
            enabled: hasColorSelectedHolder
cg@1847
  1891
            label: 'Inspect Color'
cg@1847
  1892
            itemValue: inspectColor
cg@1847
  1893
            translateLabel: true
cg@2651
  1894
          )
cg@2651
  1895
         (MenuItem
cg@2792
  1896
            enabled: hasColormapHolder
cg@2651
  1897
            label: 'Inspect Colormap'
cg@2651
  1898
            itemValue: inspectColormap
cg@2651
  1899
            translateLabel: true
cg@1847
  1900
          )
cg@1847
  1901
         )
cg@1847
  1902
        nil
cg@1847
  1903
        nil
cg@1053
  1904
      )
cg@1053
  1905
!
cg@1053
  1906
tz@400
  1907
menu
tz@737
  1908
    "This resource specification was automatically generated
tz@737
  1909
     by the MenuEditor of ST/X."
tz@400
  1910
tz@737
  1911
    "Do not manually edit this!! If it is corrupted,
tz@737
  1912
     the MenuEditor may not be able to read the specification."
tz@400
  1913
tz@400
  1914
    "
tz@400
  1915
     MenuEditor new openOnClass:ImageEditor andSelector:#menu
tz@400
  1916
     (Menu new fromLiteralArrayEncoding:(ImageEditor menu)) startUp
tz@400
  1917
    "
tz@400
  1918
tz@400
  1919
    <resource: #menu>
tz@400
  1920
cg@1124
  1921
    ^ 
cg@1882
  1922
     #(Menu
cg@1882
  1923
        (
cg@1882
  1924
         (MenuItem
cg@1882
  1925
            label: '&File'
cg@1882
  1926
            translateLabel: true
cg@2196
  1927
            submenuChannel: menuFile
cg@2585
  1928
            "/ keepLinkedMenu: true
cg@1124
  1929
          )
cg@1882
  1930
         (MenuItem
cg@1882
  1931
            label: 'Edit'
cg@1882
  1932
            translateLabel: true
cg@2196
  1933
            submenuChannel: menuEdit
cg@2585
  1934
            "/ keepLinkedMenu: true
cg@1124
  1935
          )
cg@1882
  1936
         (MenuItem
cg@1882
  1937
            label: 'Mode'
cg@1882
  1938
            translateLabel: true
cg@1882
  1939
            submenuChannel: modeMenu
cg@1637
  1940
          )
cg@1882
  1941
         (MenuItem
cg@1924
  1942
            label: 'Colors'
cg@1882
  1943
            translateLabel: true
cg@2585
  1944
            submenuChannel: menuColors
cg@1124
  1945
          )
cg@1882
  1946
         (MenuItem
cg@1882
  1947
            label: 'Settings'
cg@1882
  1948
            translateLabel: true
cg@2585
  1949
            submenuChannel: menuSettings
cg@1124
  1950
          )
cg@1882
  1951
         (MenuItem
cg@1882
  1952
            label: 'History'
cg@1882
  1953
            translateLabel: true
cg@1975
  1954
            isVisible: isStandAlone
cg@1882
  1955
            submenuChannel: menuHistory
cg@1124
  1956
          )
cg@1882
  1957
         (MenuItem
cg@2136
  1958
            label: 'MENU_Help'
cg@1882
  1959
            translateLabel: true
cg@2125
  1960
            startGroup: conditionalRight
cg@1882
  1961
            submenuChannel: menuHelp
cg@1124
  1962
          )
cg@1124
  1963
         )
cg@1124
  1964
        nil
cg@1124
  1965
        nil
tz@400
  1966
      )
tz@400
  1967
!
tz@400
  1968
cg@2585
  1969
menuColors
cg@2585
  1970
    "This resource specification was automatically generated
cg@2585
  1971
     by the MenuEditor of ST/X."
cg@2585
  1972
cg@2585
  1973
    "Do not manually edit this!! If it is corrupted,
cg@2585
  1974
     the MenuEditor may not be able to read the specification."
cg@2585
  1975
cg@2585
  1976
    "
cg@2585
  1977
     MenuEditor new openOnClass:ImageEditor andSelector:#menuColors
cg@2585
  1978
     (Menu new fromLiteralArrayEncoding:(ImageEditor menuColors)) startUp
cg@2585
  1979
    "
cg@2585
  1980
cg@2585
  1981
    <resource: #menu>
cg@2585
  1982
cg@2585
  1983
    ^ 
cg@2585
  1984
     #(Menu
cg@2585
  1985
        (
cg@2585
  1986
         (MenuItem
cg@2767
  1987
            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
cg@2585
  1988
            label: 'Depth'
cg@2585
  1989
            translateLabel: true
cg@2585
  1990
            submenu: 
cg@2585
  1991
           (Menu
cg@2585
  1992
              (
cg@2585
  1993
               (MenuItem
cg@2585
  1994
                  activeHelpKey: colorMap1
cg@2585
  1995
                  label: '1-Plane'
cg@2585
  1996
                  itemValue: colorMapMode:
cg@2585
  1997
                  translateLabel: true
cg@2585
  1998
                  argument: depth1
cg@2585
  1999
                  choice: colorMapMode
cg@2585
  2000
                  choiceValue: depth1
cg@2585
  2001
                )
cg@2585
  2002
               (MenuItem
cg@2585
  2003
                  activeHelpKey: colorMap1M
cg@2585
  2004
                  label: '1-Plane + Mask'
cg@2585
  2005
                  itemValue: colorMapMode:
cg@2585
  2006
                  translateLabel: true
cg@2585
  2007
                  argument: masked1
cg@2585
  2008
                  choice: colorMapMode
cg@2585
  2009
                  choiceValue: masked1
cg@2585
  2010
                )
cg@2585
  2011
               (MenuItem
cg@2585
  2012
                  label: '-'
cg@2585
  2013
                )
cg@2585
  2014
               (MenuItem
cg@2585
  2015
                  activeHelpKey: colorMap2
cg@2585
  2016
                  label: '2-Plane'
cg@2585
  2017
                  itemValue: colorMapMode:
cg@2585
  2018
                  translateLabel: true
cg@2585
  2019
                  argument: depth2
cg@2585
  2020
                  choice: colorMapMode
cg@2585
  2021
                  choiceValue: depth2
cg@2585
  2022
                )
cg@2585
  2023
               (MenuItem
cg@2585
  2024
                  activeHelpKey: colorMap2M
cg@2585
  2025
                  label: '2-Plane + Mask'
cg@2585
  2026
                  itemValue: colorMapMode:
cg@2585
  2027
                  translateLabel: true
cg@2585
  2028
                  argument: masked2
cg@2585
  2029
                  choice: colorMapMode
cg@2585
  2030
                  choiceValue: masked2
cg@2585
  2031
                )
cg@2585
  2032
               (MenuItem
cg@2585
  2033
                  label: '-'
cg@2585
  2034
                )
cg@2585
  2035
               (MenuItem
cg@2585
  2036
                  activeHelpKey: colorMap4
cg@2585
  2037
                  label: '4-Plane'
cg@2585
  2038
                  itemValue: colorMapMode:
cg@2585
  2039
                  translateLabel: true
cg@2585
  2040
                  argument: depth4
cg@2585
  2041
                  choice: colorMapMode
cg@2585
  2042
                  choiceValue: depth4
cg@2585
  2043
                )
cg@2585
  2044
               (MenuItem
cg@2585
  2045
                  activeHelpKey: colorMap4M
cg@2585
  2046
                  label: '4-Plane + Mask'
cg@2585
  2047
                  itemValue: colorMapMode:
cg@2585
  2048
                  translateLabel: true
cg@2585
  2049
                  argument: masked4
cg@2585
  2050
                  choice: colorMapMode
cg@2585
  2051
                  choiceValue: masked4
cg@2585
  2052
                )
cg@2585
  2053
               (MenuItem
cg@2585
  2054
                  label: '-'
cg@2585
  2055
                )
cg@2585
  2056
               (MenuItem
cg@2585
  2057
                  activeHelpKey: colorMap8
cg@2585
  2058
                  label: '8-Plane'
cg@2585
  2059
                  itemValue: colorMapMode:
cg@2585
  2060
                  translateLabel: true
cg@2585
  2061
                  argument: depth8
cg@2585
  2062
                  choice: colorMapMode
cg@2585
  2063
                  choiceValue: depth8
cg@2585
  2064
                )
cg@2585
  2065
               (MenuItem
cg@2585
  2066
                  activeHelpKey: colorMap8M
cg@2585
  2067
                  label: '8-Plane + Mask'
cg@2585
  2068
                  itemValue: colorMapMode:
cg@2585
  2069
                  translateLabel: true
cg@2585
  2070
                  argument: masked8
cg@2585
  2071
                  choice: colorMapMode
cg@2585
  2072
                  choiceValue: masked8
cg@2585
  2073
                )
cg@2585
  2074
               (MenuItem
cg@2585
  2075
                  label: '-'
cg@2585
  2076
                )
cg@2585
  2077
               (MenuItem
cg@2585
  2078
                  activeHelpKey: colorMap16
cg@2585
  2079
                  label: '16-Plane'
cg@2585
  2080
                  itemValue: colorMapMode:
cg@2585
  2081
                  translateLabel: true
cg@2585
  2082
                  argument: depth16
cg@2585
  2083
                  choice: colorMapMode
cg@2585
  2084
                  choiceValue: depth16
cg@2585
  2085
                )
cg@2585
  2086
               (MenuItem
cg@2585
  2087
                  activeHelpKey: colorMap16M
cg@2585
  2088
                  label: '16-Plane + Mask'
cg@2585
  2089
                  itemValue: colorMapMode:
cg@2585
  2090
                  translateLabel: true
cg@2585
  2091
                  argument: masked16
cg@2585
  2092
                  choice: colorMapMode
cg@2585
  2093
                  choiceValue: masked16
cg@2585
  2094
                )
cg@2585
  2095
               (MenuItem
cg@2585
  2096
                  label: '-'
cg@2585
  2097
                )
cg@2585
  2098
               (MenuItem
cg@2585
  2099
                  activeHelpKey: colorMap24
cg@2585
  2100
                  label: '24-Plane'
cg@2585
  2101
                  itemValue: colorMapMode:
cg@2585
  2102
                  translateLabel: true
cg@2585
  2103
                  argument: depth24
cg@2585
  2104
                  choice: colorMapMode
cg@2585
  2105
                  choiceValue: depth24
cg@2585
  2106
                )
cg@2585
  2107
               (MenuItem
cg@2585
  2108
                  activeHelpKey: colorMap24M
cg@2585
  2109
                  label: '24-Plane + Mask'
cg@2585
  2110
                  itemValue: colorMapMode:
cg@2585
  2111
                  translateLabel: true
cg@2585
  2112
                  argument: masked24
cg@2585
  2113
                  choice: colorMapMode
cg@2585
  2114
                  choiceValue: masked24
cg@2585
  2115
                )
cg@2585
  2116
               (MenuItem
cg@2585
  2117
                  label: '-'
cg@2585
  2118
                )
cg@2585
  2119
               (MenuItem
cg@2585
  2120
                  activeHelpKey: colorMap32
cg@2585
  2121
                  label: '32-Plane (rgba)'
cg@2585
  2122
                  itemValue: colorMapMode:
cg@2585
  2123
                  translateLabel: true
cg@2585
  2124
                  argument: depth32
cg@2585
  2125
                  choice: colorMapMode
cg@2585
  2126
                  choiceValue: depth32
cg@2585
  2127
                )
cg@2585
  2128
               )
cg@2585
  2129
              nil
cg@2585
  2130
              nil
cg@2585
  2131
            )
cg@2585
  2132
          )
cg@2585
  2133
         (MenuItem
cg@2792
  2134
            enabled: imageIsLoadedHolder
cg@2585
  2135
            label: 'ColorMap'
cg@2585
  2136
            translateLabel: true
cg@2585
  2137
            submenu: 
cg@2585
  2138
           (Menu
cg@2585
  2139
              (
cg@2585
  2140
               (MenuItem
cg@2585
  2141
                  activeHelpKey: compressColormap
cg@2792
  2142
                  enabled: hasColormapHolder
cg@2585
  2143
                  label: 'Compress Colormap'
cg@2826
  2144
                  itemValue: #'menu_compressColorMap'
cg@2585
  2145
                  translateLabel: true
cg@2585
  2146
                )
cg@2585
  2147
               (MenuItem
cg@2792
  2148
                  enabled: hasColormapHolder
cg@2585
  2149
                  label: 'Sort Colormap'
cg@2826
  2150
                  itemValue: #'menu_sortColorMap'
cg@2585
  2151
                  translateLabel: true
cg@2585
  2152
                )
cg@2585
  2153
               (MenuItem
cg@2585
  2154
                  label: 'Reduce Number of Colors by Rounding...'
cg@2585
  2155
                  itemValue: reduceNumberOfColors2
cg@2585
  2156
                  translateLabel: true
cg@2585
  2157
                )
cg@2585
  2158
               (MenuItem
cg@2585
  2159
                  label: 'Reduce Number of Colors by Masking Bits...'
cg@2585
  2160
                  itemValue: reduceNumberOfColors
cg@2585
  2161
                  translateLabel: true
cg@2585
  2162
                )
cg@2585
  2163
               (MenuItem
cg@2585
  2164
                  label: 'Dither to Depth...'
cg@2585
  2165
                  itemValue: ditherToDepth
cg@2585
  2166
                  translateLabel: true
cg@2585
  2167
                )
cg@2585
  2168
               (MenuItem
cg@2585
  2169
                  label: '-'
cg@2585
  2170
                )
cg@2585
  2171
               (MenuItem
cg@2792
  2172
                  enabled: imageIsLoadedHolder
cg@2585
  2173
                  label: 'Brighten'
cg@2585
  2174
                  itemValue: doBrightenImage
cg@2585
  2175
                  translateLabel: true
cg@2585
  2176
                )
cg@2585
  2177
               (MenuItem
cg@2792
  2178
                  enabled: imageIsLoadedHolder
cg@2585
  2179
                  label: 'Darken'
cg@2585
  2180
                  itemValue: doDarkenImage
cg@2585
  2181
                  translateLabel: true
cg@2585
  2182
                )
cg@2652
  2183
               (MenuItem
cg@2792
  2184
                  enabled: imageIsLoadedHolder
cg@2652
  2185
                  label: 'Invert'
cg@2652
  2186
                  itemValue: doNegativeImage
cg@2652
  2187
                  translateLabel: true
cg@2652
  2188
                )
cg@2585
  2189
               )
cg@2585
  2190
              nil
cg@2585
  2191
              nil
cg@2585
  2192
            )
cg@2585
  2193
          )
cg@2585
  2194
         (MenuItem
cg@2792
  2195
            enabled: imageIsLoadedHolder
cg@2585
  2196
            label: 'Process'
cg@2585
  2197
            translateLabel: true
cg@2585
  2198
            submenu: 
cg@2585
  2199
           (Menu
cg@2585
  2200
              (
cg@2585
  2201
               (MenuItem
cg@2585
  2202
                  label: 'Make GrayScale'
cg@2585
  2203
                  itemValue: makeGrayScaleImage
cg@2585
  2204
                  translateLabel: true
cg@2585
  2205
                )
cg@2585
  2206
               (MenuItem
cg@2826
  2207
                  enabled: allowedToChangeImageDimensionAndDepth
cg@2585
  2208
                  label: 'Make dithered 8Bit Palette'
cg@2585
  2209
                  itemValue: makeDitheredPaletteImage
cg@2585
  2210
                  translateLabel: true
cg@2585
  2211
                  isVisible: false
cg@2585
  2212
                )
cg@2585
  2213
               (MenuItem
cg@2826
  2214
                  label: 'Make Inverse'
cg@2826
  2215
                  itemValue: makeInverse
cg@2826
  2216
                  translateLabel: true
cg@2826
  2217
                )
cg@2826
  2218
               (MenuItem
cg@2826
  2219
                  label: '-'
cg@2826
  2220
                )
cg@2826
  2221
               (MenuItem
cg@2826
  2222
                  label: 'Make Slightly Brighter'
cg@2826
  2223
                  itemValue: makeSlightlyBrighter
cg@2826
  2224
                  translateLabel: true
cg@2826
  2225
                )
cg@2826
  2226
               (MenuItem
cg@2826
  2227
                  label: 'Make Slightly Darker'
cg@2826
  2228
                  itemValue: makeSlightlyDarker
cg@2826
  2229
                  translateLabel: true
cg@2826
  2230
                )
cg@2826
  2231
               (MenuItem
cg@2826
  2232
                  label: '-'
cg@2826
  2233
                )
cg@2826
  2234
               (MenuItem
cg@2585
  2235
                  label: 'Make Brighter'
cg@2585
  2236
                  itemValue: makeBrighter
cg@2585
  2237
                  translateLabel: true
cg@2585
  2238
                )
cg@2585
  2239
               (MenuItem
cg@2585
  2240
                  label: 'Make Darker'
cg@2585
  2241
                  itemValue: makeDarker
cg@2585
  2242
                  translateLabel: true
cg@2585
  2243
                )
cg@2585
  2244
               (MenuItem
cg@2585
  2245
                  label: '-'
cg@2585
  2246
                )
cg@2585
  2247
               (MenuItem
cg@2585
  2248
                  label: 'Change HLS...'
cg@2585
  2249
                  itemValue: changeHLS
cg@2585
  2250
                  translateLabel: true
cg@2585
  2251
                )
cg@2585
  2252
               (MenuItem
cg@2585
  2253
                  label: 'Colorize...'
cg@2585
  2254
                  itemValue: colorize
cg@2585
  2255
                  translateLabel: true
cg@2585
  2256
                )
cg@2585
  2257
               )
cg@2585
  2258
              nil
cg@2585
  2259
              nil
cg@2585
  2260
            )
cg@2585
  2261
          )
cg@2585
  2262
         (MenuItem
cg@2792
  2263
            enabled: imageIsLoadedHolder
cg@2585
  2264
            label: 'Mask'
cg@2585
  2265
            translateLabel: true
cg@2585
  2266
            submenu: 
cg@2585
  2267
           (Menu
cg@2585
  2268
              (
cg@2585
  2269
               (MenuItem
cg@2585
  2270
                  activeHelpKey: copyMask
cg@2585
  2271
                  enabled: hasMask
cg@2585
  2272
                  label: 'Copy Mask'
cg@2826
  2273
                  itemValue: #'menu_copyMask'
cg@2585
  2274
                  translateLabel: true
cg@2585
  2275
                )
cg@2585
  2276
               (MenuItem
cg@2585
  2277
                  activeHelpKey: pasteMask
cg@2585
  2278
                  enabled: hasMask
cg@2585
  2279
                  label: 'Paste Mask'
cg@2826
  2280
                  itemValue: #'menu_pasteMask'
cg@2585
  2281
                  translateLabel: true
cg@2585
  2282
                )
cg@2585
  2283
               (MenuItem
cg@2585
  2284
                  enabled: hasMask
cg@2585
  2285
                  label: 'Clear Masked Pixels'
cg@2826
  2286
                  itemValue: #'menu_clearMaskedPixels'
cg@2652
  2287
                  translateLabel: true
cg@2652
  2288
                )
cg@2652
  2289
               (MenuItem
cg@2652
  2290
                  enabled: hasMask
cg@2653
  2291
                  label: 'Clear Colormap Entry for Masked Pixels'
cg@2826
  2292
                  itemValue: #'menu_clearColormapEntry0AndMaskedPixels'
cg@2585
  2293
                  translateLabel: true
cg@2585
  2294
                )
cg@2585
  2295
               )
cg@2585
  2296
              nil
cg@2585
  2297
              nil
cg@2585
  2298
            )
cg@2585
  2299
          )
cg@2585
  2300
         )
cg@2585
  2301
        nil
cg@2585
  2302
        nil
cg@2585
  2303
      )
cg@2585
  2304
!
cg@2585
  2305
cg@2196
  2306
menuEdit
cg@2196
  2307
    "This resource specification was automatically generated
cg@2196
  2308
     by the MenuEditor of ST/X."
cg@2196
  2309
cg@2196
  2310
    "Do not manually edit this!! If it is corrupted,
cg@2196
  2311
     the MenuEditor may not be able to read the specification."
cg@2196
  2312
cg@2196
  2313
    "
cg@2196
  2314
     MenuEditor new openOnClass:ImageEditor andSelector:#menuEdit
cg@2196
  2315
     (Menu new fromLiteralArrayEncoding:(ImageEditor menuEdit)) startUp
cg@2196
  2316
    "
cg@2196
  2317
cg@2196
  2318
    <resource: #menu>
cg@2196
  2319
cg@2196
  2320
    ^ 
cg@2196
  2321
     #(Menu
cg@2196
  2322
        (
cg@2196
  2323
         (MenuItem
cg@2196
  2324
            activeHelpKey: editUndo
cg@2196
  2325
            enabled: canUndoHolder
cg@2196
  2326
            label: 'Undo'
cg@2196
  2327
            itemValue: doUndo
cg@2196
  2328
            translateLabel: true
cg@2196
  2329
          )
cg@2196
  2330
         (MenuItem
cg@2196
  2331
            label: '-'
cg@2196
  2332
          )
cg@2196
  2333
         (MenuItem
cg@2812
  2334
            enabled: imageIsLoadedHolder
cg@2812
  2335
            label: 'Copy to Clipboard'
cg@2812
  2336
            itemValue: doCopyImageToClipboard
cg@2812
  2337
            translateLabel: true
cg@2812
  2338
          )
cg@2812
  2339
         (MenuItem
cg@2812
  2340
            label: '-'
cg@2812
  2341
          )
cg@2812
  2342
         (MenuItem
cg@2812
  2343
            activeHelpKey: editResize
cg@2767
  2344
            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
cg@2196
  2345
            label: 'Resize...'
cg@2196
  2346
            itemValue: doResizeImage
cg@2196
  2347
            translateLabel: true
cg@2196
  2348
          )
cg@2196
  2349
         (MenuItem
cg@2812
  2350
            activeHelpKey: editMagnifyImage
cg@2767
  2351
            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
cg@2196
  2352
            label: 'Magnify...'
cg@2196
  2353
            itemValue: doMagnifyImage
cg@2196
  2354
            translateLabel: true
cg@2196
  2355
          )
cg@2196
  2356
         (MenuItem
cg@2812
  2357
            activeHelpKey: editMagnifyImage
cg@2767
  2358
            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
cg@2196
  2359
            label: 'Magnify By...'
cg@2196
  2360
            itemValue: doMagnifyImageBy
cg@2196
  2361
            translateLabel: true
cg@2196
  2362
          )
cg@2196
  2363
         (MenuItem
cg@2812
  2364
            activeHelpKey: editRotate
cg@2767
  2365
            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
cg@2196
  2366
            label: 'Rotate...'
cg@2196
  2367
            itemValue: doRotateImage
cg@2196
  2368
            translateLabel: true
cg@2196
  2369
          )
cg@2196
  2370
         (MenuItem
cg@2812
  2371
            activeHelpKey: edit3DProjection
cg@2767
  2372
            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
cg@2354
  2373
            label: '3D Projection...'
cg@2354
  2374
            itemValue: do3DProjection
cg@2354
  2375
            translateLabel: true
cg@2354
  2376
          )
cg@2354
  2377
         (MenuItem
cg@2792
  2378
            enabled: imageIsLoadedHolder
cg@2196
  2379
            label: 'Flip'
cg@2196
  2380
            translateLabel: true
cg@2196
  2381
            submenu: 
cg@2196
  2382
           (Menu
cg@2196
  2383
              (
cg@2196
  2384
               (MenuItem
cg@2196
  2385
                  activeHelpKey: editFlipVertical
cg@2812
  2386
                  enabled: imageIsLoadedHolder
cg@2196
  2387
                  label: 'Flip - Vertical'
cg@2196
  2388
                  itemValue: doFlipVertical
cg@2196
  2389
                  translateLabel: true
cg@2837
  2390
                  labelImage: (ResourceRetriever ImageEditor flipVerticalIcon 'Flip - Vertical')
cg@2196
  2391
                )
cg@2196
  2392
               (MenuItem
cg@2196
  2393
                  activeHelpKey: editFlipHorizontal
cg@2812
  2394
                  enabled: imageIsLoadedHolder
cg@2196
  2395
                  label: 'Flip - Horizontal'
cg@2196
  2396
                  itemValue: doFlipHorizontal
cg@2196
  2397
                  translateLabel: true
cg@2837
  2398
                  labelImage: (ResourceRetriever ImageEditor flipHorizontalIcon 'Flip - Horizontal')
cg@2196
  2399
                )
cg@2196
  2400
               )
cg@2196
  2401
              nil
cg@2196
  2402
              nil
cg@2196
  2403
            )
cg@2196
  2404
          )
cg@2196
  2405
         (MenuItem
cg@2196
  2406
            label: '-'
cg@2196
  2407
          )
cg@2196
  2408
         (MenuItem
cg@2767
  2409
            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
cg@2196
  2410
            label: 'Crop'
cg@2196
  2411
            translateLabel: true
cg@2196
  2412
            submenu: 
cg@2196
  2413
           (Menu
cg@2196
  2414
              (
cg@2196
  2415
               (MenuItem
cg@2196
  2416
                  activeHelpKey: cropManual
cg@2196
  2417
                  label: 'Manual...'
cg@2196
  2418
                  itemValue: doCropManual
cg@2196
  2419
                  translateLabel: true
cg@2196
  2420
                )
cg@2196
  2421
               (MenuItem
cg@2196
  2422
                  label: '-'
cg@2196
  2423
                )
cg@2196
  2424
               (MenuItem
cg@2196
  2425
                  activeHelpKey: cropAll
cg@2196
  2426
                  label: 'All'
cg@2196
  2427
                  itemValue: doCropAll
cg@2196
  2428
                  translateLabel: true
cg@2196
  2429
                )
cg@2196
  2430
               (MenuItem
cg@2196
  2431
                  label: '-'
cg@2196
  2432
                )
cg@2196
  2433
               (MenuItem
cg@2196
  2434
                  activeHelpKey: cropLeft
cg@2196
  2435
                  label: 'Left'
cg@2196
  2436
                  itemValue: doCropLeft
cg@2196
  2437
                  translateLabel: true
cg@2196
  2438
                )
cg@2196
  2439
               (MenuItem
cg@2196
  2440
                  activeHelpKey: cropRight
cg@2196
  2441
                  label: 'Right'
cg@2196
  2442
                  itemValue: doCropRight
cg@2196
  2443
                  translateLabel: true
cg@2196
  2444
                )
cg@2196
  2445
               (MenuItem
cg@2196
  2446
                  activeHelpKey: cropTop
cg@2196
  2447
                  label: 'Top'
cg@2196
  2448
                  itemValue: doCropTop
cg@2196
  2449
                  translateLabel: true
cg@2196
  2450
                )
cg@2196
  2451
               (MenuItem
cg@2196
  2452
                  activeHelpKey: cropBottom
cg@2196
  2453
                  label: 'Bottom'
cg@2196
  2454
                  itemValue: doCropBottom
cg@2196
  2455
                  translateLabel: true
cg@2196
  2456
                )
cg@2196
  2457
               )
cg@2196
  2458
              nil
cg@2196
  2459
              nil
cg@2196
  2460
            )
cg@2196
  2461
          )
cg@2196
  2462
         (MenuItem
cg@2812
  2463
            activeHelpKey: uncropManual
cg@2767
  2464
            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
cg@2196
  2465
            label: 'Uncrop (Add Border)...'
cg@2196
  2466
            itemValue: doUnCropManual
cg@2196
  2467
            translateLabel: true
cg@2196
  2468
          )
cg@2196
  2469
         (MenuItem
cg@2812
  2470
            activeHelpKey: shiftManual
cg@2792
  2471
            enabled: imageIsLoadedHolder
cg@2196
  2472
            label: 'Shift...'
cg@2196
  2473
            itemValue: doShiftManual
cg@2196
  2474
            translateLabel: true
cg@2196
  2475
          )
cg@2196
  2476
         (MenuItem
cg@2196
  2477
            label: '-'
cg@2196
  2478
          )
cg@2196
  2479
         (MenuItem
cg@2585
  2480
            activeHelpKey: fileEditMask
cg@2792
  2481
            enabled: imageIsLoadedHolder
cg@2585
  2482
            label: 'Edit Mask'
cg@2585
  2483
            itemValue: doEditMask
cg@2585
  2484
            translateLabel: true
cg@2585
  2485
          )
cg@2585
  2486
         (MenuItem
cg@2792
  2487
            enabled: imageIsLoadedHolder
cg@2196
  2488
            label: 'Text...'
cg@2196
  2489
            itemValue: doInsertTextFromUser
cg@2196
  2490
            translateLabel: true
cg@2196
  2491
          )
cg@2812
  2492
         (MenuItem
cg@2812
  2493
            label: '-'
cg@2812
  2494
          )
cg@2812
  2495
         (MenuItem
cg@2814
  2496
            label: 'Animation Sequence'
cg@2812
  2497
            translateLabel: true
cg@2812
  2498
            submenu: 
cg@2812
  2499
           (Menu
cg@2812
  2500
              (
cg@2812
  2501
               (MenuItem
cg@2812
  2502
                  enabled: imageHasNextImageHolder
cg@2812
  2503
                  label: 'Next in Sequence'
cg@2812
  2504
                  itemValue: nextImageInSequence
cg@2812
  2505
                  translateLabel: true
cg@2812
  2506
                )
cg@2812
  2507
               (MenuItem
cg@2812
  2508
                  enabled: imageHasPreviousImageHolder
cg@2813
  2509
                  label: 'Previous in Sequence'
cg@2812
  2510
                  itemValue: previousImageInSequence
cg@2812
  2511
                  translateLabel: true
cg@2812
  2512
                )
cg@2812
  2513
               (MenuItem
cg@2812
  2514
                  label: '-'
cg@2812
  2515
                )
cg@2812
  2516
               (MenuItem
cg@2812
  2517
                  enabled: imageHasImageSequenceHolder
cg@2812
  2518
                  label: 'Edit each from Sequence'
cg@2812
  2519
                  itemValue: editEachImageFromSequence
cg@2812
  2520
                  translateLabel: true
cg@2812
  2521
                )
cg@2812
  2522
               )
cg@2812
  2523
              nil
cg@2812
  2524
              nil
cg@2812
  2525
            )
cg@2812
  2526
          )
cg@2196
  2527
         )
cg@2196
  2528
        nil
cg@2196
  2529
        nil
cg@2196
  2530
      )
cg@2196
  2531
!
cg@2196
  2532
cg@2196
  2533
menuFile
cg@2196
  2534
    "This resource specification was automatically generated
cg@2196
  2535
     by the MenuEditor of ST/X."
cg@2196
  2536
cg@2196
  2537
    "Do not manually edit this!! If it is corrupted,
cg@2196
  2538
     the MenuEditor may not be able to read the specification."
cg@2196
  2539
cg@2196
  2540
    "
cg@2196
  2541
     MenuEditor new openOnClass:ImageEditor andSelector:#menuFile
cg@2196
  2542
     (Menu new fromLiteralArrayEncoding:(ImageEditor menuFile)) startUp
cg@2196
  2543
    "
cg@2196
  2544
cg@2196
  2545
    <resource: #menu>
cg@2196
  2546
cg@2196
  2547
    ^ 
cg@2196
  2548
     #(Menu
cg@2196
  2549
        (
cg@2196
  2550
         (MenuItem
cg@2196
  2551
            activeHelpKey: fileNewImageEditor
cg@2196
  2552
            label: 'New ImageEditor'
cg@2196
  2553
            itemValue: doNewImageEditor
cg@2196
  2554
            translateLabel: true
cg@2196
  2555
          )
cg@2196
  2556
         (MenuItem
cg@2876
  2557
            label: '-'
cg@2876
  2558
          )
cg@2876
  2559
         (MenuItem
cg@2196
  2560
            activeHelpKey: fileNewImage
cg@2196
  2561
            label: 'New...'
cg@2196
  2562
            itemValue: doNewImage
cg@2196
  2563
            translateLabel: true
cg@2196
  2564
          )
cg@2196
  2565
         (MenuItem
cg@2196
  2566
            activeHelpKey: fileNewImage
cg@2196
  2567
            label: 'New from ClipBoard'
cg@2196
  2568
            itemValue: doNewImageFromClipboard
cg@2196
  2569
            translateLabel: true
cg@2196
  2570
          )
cg@2196
  2571
         (MenuItem
cg@2196
  2572
            label: '-'
cg@2196
  2573
          )
cg@2196
  2574
         (MenuItem
cg@2196
  2575
            activeHelpKey: fileLoadFromClass
cg@2196
  2576
            label: 'Load...'
cg@2196
  2577
            itemValue: doLoadFromClass
cg@2196
  2578
            translateLabel: true
cg@2196
  2579
          )
cg@2196
  2580
         (MenuItem
cg@2196
  2581
            activeHelpKey: fileLoadFromFile
cg@2196
  2582
            label: 'Load from File...'
cg@2196
  2583
            itemValue: doLoadFromFile
cg@2196
  2584
            translateLabel: true
cg@2196
  2585
          )
cg@2196
  2586
         (MenuItem
cg@2796
  2587
            activeHelpKey: fileLoadFromURL
cg@2796
  2588
            label: 'Load from URL...'
cg@2796
  2589
            itemValue: doLoadFromURL
cg@2796
  2590
            translateLabel: true
cg@2796
  2591
          )
cg@2796
  2592
         (MenuItem
cg@2707
  2593
            label: 'Grab'
cg@2196
  2594
            translateLabel: true
cg@2707
  2595
            submenu: 
cg@2707
  2596
           (Menu
cg@2707
  2597
              (
cg@2707
  2598
               (MenuItem
cg@2707
  2599
                  activeHelpKey: fileGrabImageFromScreen
cg@2717
  2600
                  label: 'Grab from Screen Area...'
cg@2707
  2601
                  itemValue: grabScreenImage
cg@2707
  2602
                  translateLabel: true
cg@2707
  2603
                )
cg@2707
  2604
               (MenuItem
cg@2707
  2605
                  activeHelpKey: fileGrabImageFromScreen
cg@2707
  2606
                  enabled: hasLastGrabScreenArea
cg@2711
  2607
                  label: 'Grab again from same Screen Area'
cg@2707
  2608
                  itemValue: grabScreenImageFromLastArea
cg@2707
  2609
                  translateLabel: true
cg@2707
  2610
                )
cg@2771
  2611
               (MenuItem
cg@2771
  2612
                  label: '-'
cg@2771
  2613
                )
cg@2771
  2614
               (MenuItem
cg@2771
  2615
                  activeHelpKey: fileGrabImageFromWindow
cg@2771
  2616
                  label: 'Grab from Window...'
cg@2771
  2617
                  itemValue: grabWindowImage
cg@2771
  2618
                  translateLabel: true
cg@2771
  2619
                )
cg@2707
  2620
               )
cg@2707
  2621
              nil
cg@2707
  2622
              nil
cg@2707
  2623
            )
cg@2701
  2624
          )
cg@2701
  2625
         (MenuItem
cg@2196
  2626
            label: '-'
cg@2196
  2627
          )
cg@2196
  2628
         (MenuItem
cg@2196
  2629
            activeHelpKey: fileSaveMethod
cg@2196
  2630
            enabled: imageIsLoadedAndClassDefined
cg@2196
  2631
            label: 'Save'
cg@2196
  2632
            itemValue: doSaveMethod
cg@2196
  2633
            translateLabel: true
cg@2196
  2634
          )
cg@2196
  2635
         (MenuItem
cg@2196
  2636
            activeHelpKey: fileSaveMethodAs
cg@2792
  2637
            enabled: imageIsLoadedHolder
cg@2196
  2638
            label: 'Save As...'
cg@2196
  2639
            itemValue: doSaveMethodAs
cg@2196
  2640
            translateLabel: true
cg@2196
  2641
          )
cg@2196
  2642
         (MenuItem
cg@2196
  2643
            activeHelpKey: fileSaveAs
cg@2792
  2644
            enabled: imageIsLoadedHolder
cg@2196
  2645
            label: 'Save to File...'
cg@2196
  2646
            itemValue: doSaveImageFileAs
cg@2196
  2647
            translateLabel: true
cg@2196
  2648
          )
cg@2196
  2649
         (MenuItem
cg@2196
  2650
            activeHelpKey: fileSaveMaskAs
cg@2792
  2651
            enabled: imageIsLoadedHolder
cg@2196
  2652
            label: 'Save Mask to File...'
cg@2196
  2653
            itemValue: doSaveImageMaskFileAs
cg@2196
  2654
            translateLabel: true
cg@2196
  2655
          )
cg@2196
  2656
         (MenuItem
cg@2196
  2657
            activeHelpKey: fileSaveButtonImageAs
cg@2792
  2658
            enabled: imageIsLoadedHolder
cg@2196
  2659
            label: 'Save as Button to File...'
cg@2196
  2660
            itemValue: doSaveButtonImageToFileAs
cg@2196
  2661
            translateLabel: true
cg@2196
  2662
          )
cg@2196
  2663
         (MenuItem
cg@2196
  2664
            label: '-'
cg@2196
  2665
          )
cg@2196
  2666
         (MenuItem
cg@2196
  2667
            activeHelpKey: filePrint
cg@2792
  2668
            enabled: imageIsLoadedHolder
cg@2196
  2669
            label: 'Print'
cg@2196
  2670
            itemValue: doPrint
cg@2196
  2671
            translateLabel: true
cg@2196
  2672
          )
cg@2196
  2673
         (MenuItem
cg@2196
  2674
            label: '-'
cg@2196
  2675
            isVisible: isStandAlone
cg@2196
  2676
          )
cg@2196
  2677
         (MenuItem
cg@2196
  2678
            activeHelpKey: fileBrowseClass
cg@2792
  2679
            enabled: hasClassDefinedHolder
cg@2196
  2680
            label: 'Browse Class'
cg@2196
  2681
            itemValue: doBrowseClass
cg@2196
  2682
            translateLabel: true
cg@2196
  2683
            isVisible: isStandAlone
cg@2196
  2684
          )
cg@2196
  2685
         (MenuItem
cg@2792
  2686
            enabled: imageIsLoadedHolder
cg@2196
  2687
            label: 'Inspect Image'
cg@2196
  2688
            itemValue: doInspectImage
cg@2196
  2689
            translateLabel: true
cg@2196
  2690
            isVisible: isStandAlone
cg@2196
  2691
          )
cg@2196
  2692
         (MenuItem
cg@2585
  2693
            activeHelpKey: fileShowStoreString
cg@2792
  2694
            enabled: imageIsLoadedHolder
cg@2585
  2695
            label: 'Show storeString'
cg@2585
  2696
            itemValue: doShowStoreString
cg@2585
  2697
            translateLabel: true
cg@2585
  2698
          )
cg@2585
  2699
         (MenuItem
cg@2196
  2700
            label: '-'
cg@2196
  2701
            isVisible: isStandAlone
cg@2196
  2702
          )
cg@2196
  2703
         (MenuItem
cg@2196
  2704
            activeHelpKey: fileExit
cg@2196
  2705
            label: 'Exit'
cg@2196
  2706
            itemValue: closeRequest
cg@2196
  2707
            translateLabel: true
cg@2196
  2708
            isVisible: isStandAlone
cg@2196
  2709
          )
cg@2196
  2710
         )
cg@2196
  2711
        nil
cg@2196
  2712
        nil
cg@2196
  2713
      )
cg@2812
  2714
cg@2876
  2715
    "Modified: / 01-02-2012 / 15:00:50 / cg"
cg@2196
  2716
!
cg@2196
  2717
tz@679
  2718
menuMouseButtonColors
tz@737
  2719
    "This resource specification was automatically generated
tz@737
  2720
     by the MenuEditor of ST/X."
tz@679
  2721
tz@737
  2722
    "Do not manually edit this!! If it is corrupted,
tz@737
  2723
     the MenuEditor may not be able to read the specification."
tz@679
  2724
tz@679
  2725
    "
tz@679
  2726
     MenuEditor new openOnClass:ImageEditor andSelector:#menuMouseButtonColors
tz@679
  2727
     (Menu new fromLiteralArrayEncoding:(ImageEditor menuMouseButtonColors)) startUp
tz@679
  2728
    "
tz@679
  2729
tz@679
  2730
    <resource: #menu>
tz@679
  2731
tz@679
  2732
    ^
tz@679
  2733
     
tz@679
  2734
       #(#Menu
tz@679
  2735
          
tz@679
  2736
           #(
tz@679
  2737
             #(#MenuItem
tz@679
  2738
                #label: 'Left Mouse Button'
tz@679
  2739
                #nameKey: #leftMouseKeyButton
tz@679
  2740
                #activeHelpKey: #mouseKeyColorMode
cg@2792
  2741
                #enabled: #imageIsLoadedHolder
tz@679
  2742
                #labelImage: #(#ResourceRetriever nil #leftMouseKeyIcon)
tz@975
  2743
                #choice: #mouseKeyColorMode
tz@975
  2744
                #choiceValue: 1
tz@679
  2745
            )
tz@679
  2746
             #(#MenuItem
tz@679
  2747
                #label: 'Right Mouse Button'
tz@679
  2748
                #nameKey: #rightMouseKeyButton
tz@679
  2749
                #activeHelpKey: #mouseKeyColorMode
cg@2792
  2750
                #enabled: #imageIsLoadedHolder
tz@679
  2751
                #labelImage: #(#ResourceRetriever nil #rightMouseKeyIcon)
tz@975
  2752
                #choice: #mouseKeyColorMode
tz@975
  2753
                #choiceValue: 2
tz@679
  2754
            )
tz@679
  2755
          ) nil
tz@679
  2756
          nil
tz@679
  2757
      )
cg@2792
  2758
cg@2792
  2759
    "Modified: / 04-07-2010 / 10:17:37 / cg"
tz@679
  2760
!
tz@679
  2761
cg@2585
  2762
menuSettings
cg@2585
  2763
    "This resource specification was automatically generated
cg@2585
  2764
     by the MenuEditor of ST/X."
cg@2585
  2765
cg@2585
  2766
    "Do not manually edit this!! If it is corrupted,
cg@2585
  2767
     the MenuEditor may not be able to read the specification."
cg@2585
  2768
cg@2881
  2769
cg@2585
  2770
    "
cg@2585
  2771
     MenuEditor new openOnClass:ImageEditor andSelector:#menuSettings
cg@2585
  2772
     (Menu new fromLiteralArrayEncoding:(ImageEditor menuSettings)) startUp
cg@2585
  2773
    "
cg@2585
  2774
cg@2585
  2775
    <resource: #menu>
cg@2585
  2776
cg@2585
  2777
    ^ 
cg@2585
  2778
     #(Menu
cg@2585
  2779
        (
cg@2585
  2780
         (MenuItem
cg@2585
  2781
            activeHelpKey: settingsGridMagnification
cg@2585
  2782
            label: 'Grid Magnification Limit...'
cg@2585
  2783
            itemValue: doChangeGridMagnification
cg@2585
  2784
            translateLabel: true
cg@2585
  2785
          )
cg@2585
  2786
         (MenuItem
cg@2585
  2787
            label: 'Pen'
cg@2585
  2788
            translateLabel: true
cg@2585
  2789
            submenu: 
cg@2585
  2790
           (Menu
cg@2585
  2791
              (
cg@2585
  2792
               (MenuItem
cg@2585
  2793
                  label: '1'
cg@2585
  2794
                  translateLabel: true
cg@2881
  2795
                  choice: penWidthHolder
cg@2881
  2796
                  choiceValue: 1
cg@2585
  2797
                )
cg@2585
  2798
               (MenuItem
cg@2585
  2799
                  label: '5'
cg@2585
  2800
                  translateLabel: true
cg@2881
  2801
                  choice: penWidthHolder
cg@2881
  2802
                  choiceValue: 5
cg@2585
  2803
                )
cg@2585
  2804
               (MenuItem
cg@2585
  2805
                  label: '10'
cg@2585
  2806
                  translateLabel: true
cg@2881
  2807
                  choice: penWidthHolder
cg@2881
  2808
                  choiceValue: 10
cg@2585
  2809
                )
cg@2585
  2810
               )
cg@2585
  2811
              nil
cg@2585
  2812
              nil
cg@2585
  2813
            )
cg@2585
  2814
          )
cg@2585
  2815
         (MenuItem
cg@2585
  2816
            label: 'Spray'
cg@2585
  2817
            translateLabel: true
cg@2585
  2818
            submenu: 
cg@2585
  2819
           (Menu
cg@2585
  2820
              (
cg@2585
  2821
               (MenuItem
cg@2585
  2822
                  label: '4'
cg@2585
  2823
                  translateLabel: true
cg@2881
  2824
                  choice: spraySpotHolder
cg@2881
  2825
                  choiceValue: 4
cg@2585
  2826
                )
cg@2585
  2827
               (MenuItem
cg@2585
  2828
                  label: '8'
cg@2585
  2829
                  translateLabel: true
cg@2881
  2830
                  choice: spraySpotHolder
cg@2881
  2831
                  choiceValue: 8
cg@2585
  2832
                )
cg@2585
  2833
               (MenuItem
cg@2585
  2834
                  label: '16'
cg@2585
  2835
                  translateLabel: true
cg@2881
  2836
                  choice: spraySpotHolder
cg@2881
  2837
                  choiceValue: 16
cg@2585
  2838
                )
cg@2585
  2839
               (MenuItem
cg@2585
  2840
                  label: '32'
cg@2585
  2841
                  translateLabel: true
cg@2881
  2842
                  choice: spraySpotHolder
cg@2881
  2843
                  choiceValue: 32
cg@2585
  2844
                )
cg@2585
  2845
               )
cg@2585
  2846
              nil
cg@2585
  2847
              nil
cg@2585
  2848
            )
cg@2585
  2849
          )
cg@2585
  2850
         )
cg@2585
  2851
        nil
cg@2585
  2852
        nil
cg@2585
  2853
      )
cg@2585
  2854
!
cg@2585
  2855
tz@400
  2856
menuToolbar
tz@737
  2857
    "This resource specification was automatically generated
tz@737
  2858
     by the MenuEditor of ST/X."
tz@400
  2859
tz@737
  2860
    "Do not manually edit this!! If it is corrupted,
tz@737
  2861
     the MenuEditor may not be able to read the specification."
tz@400
  2862
cg@2876
  2863
tz@400
  2864
    "
tz@400
  2865
     MenuEditor new openOnClass:ImageEditor andSelector:#menuToolbar
tz@400
  2866
     (Menu new fromLiteralArrayEncoding:(ImageEditor menuToolbar)) startUp
tz@400
  2867
    "
tz@400
  2868
tz@400
  2869