ImageEditor.st
changeset 672 738210a2fa06
parent 651 4f3bbe0e547c
child 673 6039e1d88048
equal deleted inserted replaced
671:3e3d7f168024 672:738210a2fa06
   214 'Print the image on a postscript printer.'
   214 'Print the image on a postscript printer.'
   215 
   215 
   216 #fileSaveAs
   216 #fileSaveAs
   217 'Opens dialog to save the image on a file.'
   217 'Opens dialog to save the image on a file.'
   218 
   218 
   219 #fileSaveFile
       
   220 'Saves current image on current file name.'
       
   221 
       
   222 #fileSaveMaskAs
   219 #fileSaveMaskAs
   223 'Opens dialog to save the mask of the image on a file.'
   220 'Opens dialog to save the mask of the image on a file.'
   224 
   221 
   225 #fileSaveMethod
   222 #fileSaveMethod
   226 'Saves current image into selected class and selector.'
   223 'Saves current image into selected class and selector.'
   227 
   224 
   228 #fileSaveMethodAs
   225 #fileSaveMethodAs
   229 'Opens dialog to save the image on a class and a selector.'
   226 'Opens dialog to save the image on a class and a selector.'
   230 
       
   231 #inputFieldFileName
       
   232 'File name of the image.'
       
   233 
       
   234 #inputFieldOfClass
       
   235 'Class implementing the image method.'
       
   236 
       
   237 #inputFieldOfSelector
       
   238 'Selector of the class returning the image.'
       
   239 
   227 
   240 #magnificationNumber
   228 #magnificationNumber
   241 'Shows current number of magnification.'
   229 'Shows current number of magnification.'
   242 
   230 
   243 #magnifyImageDown
   231 #magnifyImageDown
   272     <resource: #canvas>
   260     <resource: #canvas>
   273 
   261 
   274     ^
   262     ^
   275      
   263      
   276        #(#FullSpec
   264        #(#FullSpec
   277           #'window:' 
   265           #window: 
   278            #(#WindowSpec
   266            #(#WindowSpec
   279               #'name:' 'Image Editor'
   267               #name: 'Image Editor'
   280               #'layout:' #(#LayoutFrame 69 0 265 0 568 0 610 0)
   268               #layout: #(#LayoutFrame 197 0 172 0 696 0 517 0)
   281               #'label:' 'Image Editor'
   269               #label: 'Image Editor'
   282               #'min:' #(#Point 400 320)
   270               #min: #(#Point 400 320)
   283               #'max:' #(#Point 1152 900)
   271               #max: #(#Point 1152 900)
   284               #'bounds:' #(#Rectangle 69 265 569 611)
   272               #bounds: #(#Rectangle 197 172 697 518)
   285               #'menu:' #menu
   273               #menu: #menu
   286               #'usePreferredExtent:' false
   274               #usePreferredExtent: false
   287           )
   275           )
   288           #'component:' 
   276           #component: 
   289            #(#SpecCollection
   277            #(#SpecCollection
   290               #'collection:' 
   278               #collection: 
   291                #(
   279                #(
   292                  #(#MenuPanelSpec
   280                  #(#MenuPanelSpec
   293                     #'name:' 'menuToolbarView'
   281                     #name: 'menuToolbarView'
   294                     #'layout:' #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
   282                     #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
   295                     #'menu:' #menuToolbar
   283                     #menu: #menuToolbar
   296                     #'style:' #(#FontDescription #helvetica #medium #roman 10)
   284                     #style: #(#FontDescription #helvetica #medium #roman 10)
   297                     #'showSeparatingLines:' true
   285                     #showSeparatingLines: true
   298                 )
   286                 )
   299                  #(#VariableHorizontalPanelSpec
   287                  #(#VariableHorizontalPanelSpec
   300                     #'name:' 'variableHorizontalPanel1'
   288                     #name: 'variableHorizontalPanel1'
   301                     #'layout:' #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -26 1.0)
   289                     #layout: #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -26 1.0)
   302                     #'component:' 
   290                     #component: 
   303                      #(#SpecCollection
   291                      #(#SpecCollection
   304                         #'collection:' 
   292                         #collection: 
   305                          #(
   293                          #(
   306                            #(#ViewSpec
   294                            #(#ViewSpec
   307                               #'name:' 'view1'
   295                               #name: 'view1'
   308                               #'component:' 
   296                               #component: 
   309                                #(#SpecCollection
   297                                #(#SpecCollection
   310                                   #'collection:' 
   298                                   #collection: 
   311                                    #(
   299                                    #(
   312                                      #(#FramedBoxSpec
   300                                      #(#VariableVerticalPanelSpec
   313                                         #'name:' 'framedBox1'
   301                                         #name: 'VariableVerticalPanel1'
   314                                         #'layout:' #(#LayoutFrame 1 0.0 3 0.0 110 0 65 0)
   302                                         #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
   315                                         #'component:' 
   303                                         #component: 
   316                                          #(#SpecCollection
   304                                          #(#SpecCollection
   317                                             #'collection:' 
   305                                             #collection: 
   318                                              #(
   306                                              #(
   319                                                #(#ArrowButtonSpec
   307                                                #(#ArbitraryComponentSpec
   320                                                   #'name:' 'magnifyDownButton'
   308                                                   #name: 'imagePreView'
   321                                                   #'layout:' #(#LayoutFrame 13 0 20 0 35 0 42 0)
   309                                                   #activeHelpKey: #previewView
   322                                                   #'activeHelpKey:' #magnifyImageDown
   310                                                   #hasHorizontalScrollBar: true
   323                                                   #'model:' #magnifyDown
   311                                                   #hasVerticalScrollBar: true
   324                                                   #'enableChannel:' #imageIsLoaded
   312                                                   #miniScrollerHorizontal: true
   325                                                   #'isTriggerOnDown:' true
   313                                                   #miniScrollerVertical: true
   326                                                   #'direction:' #left
   314                                                   #component: #ImageView
       
   315                                                   #hasBorder: true
   327                                               )
   316                                               )
   328                                                #(#ArrowButtonSpec
   317                                                #(#DataSetSpec
   329                                                   #'name:' 'magnifyUpButton'
   318                                                   #name: 'colorDataSetView'
   330                                                   #'layout:' #(#LayoutFrame 73 0 20 0 95 0 42 0)
   319                                                   #activeHelpKey: #colorMapTable
   331                                                   #'activeHelpKey:' #magnifyImageUp
   320                                                   #model: #selectionOfColor
   332                                                   #'model:' #magnifyUp
   321                                                   #style: #(#FontDescription #helvetica #medium #roman 10)
   333                                                   #'enableChannel:' #imageIsLoaded
   322                                                   #hasHorizontalScrollBar: true
   334                                                   #'isTriggerOnDown:' true
   323                                                   #hasVerticalScrollBar: true
   335                                                   #'direction:' #right
   324                                                   #miniScrollerHorizontal: true
   336                                               )
   325                                                   #miniScrollerVertical: true
   337                                                #(#InputFieldSpec
   326                                                   #dataList: #listOfColors
   338                                                   #'name:' 'magnificationInputField'
   327                                                   #level: -1
   339                                                   #'layout:' #(#LayoutFrame 36 0 20 0.0 72 0 42 0)
   328                                                   #has3Dsepartors: true
   340                                                   #'activeHelpKey:' #magnificationNumber
   329                                                   #verticalSpacing: 1
   341                                                   #'enableChannel:' #imageIsLoaded
   330                                                   #columns: 
   342                                                   #'model:' #valueOfMagnification
   331                                                    #(
   343                                                   #'type:' #number
   332                                                      #(#DataSetColumnSpec
   344                                                   #'acceptOnReturn:' false
   333                                                         #rendererType: #rowSelector
   345                                                   #'acceptOnTab:' false
   334                                                         #backgroundSelector: #yourself
   346                                                   #'numChars:' 2
   335                                                     )
       
   336                                                      #(#DataSetColumnSpec
       
   337                                                         #label: 'R'
       
   338                                                         #model: #rowRedByte
       
   339                                                         #canSelect: false
       
   340                                                     )
       
   341                                                      #(#DataSetColumnSpec
       
   342                                                         #label: 'G'
       
   343                                                         #model: #rowGreenByte
       
   344                                                         #canSelect: false
       
   345                                                     )
       
   346                                                      #(#DataSetColumnSpec
       
   347                                                         #label: 'B'
       
   348                                                         #model: #rowBlueByte
       
   349                                                         #canSelect: false
       
   350                                                     )
       
   351                                                   )
   347                                               )
   352                                               )
   348                                             )
   353                                             )
   349                                         )
   354                                         )
   350                                         #'label:' 'Magnification'
   355                                         #handles: #(#Any 0.285211 1.0)
   351                                         #'labelPosition:' #topLeft
       
   352                                         #'style:' #(#FontDescription #helvetica #medium #roman 12)
       
   353                                     )
       
   354                                      #(#ArbitraryComponentSpec
       
   355                                         #'name:' 'imagePreView'
       
   356                                         #'layout:' #(#LayoutFrame 111 0.0 9 0.0 -6 1 60 0)
       
   357                                         #'activeHelpKey:' #previewView
       
   358                                         #'hasHorizontalScrollBar:' true
       
   359                                         #'hasVerticalScrollBar:' true
       
   360                                         #'miniScrollerHorizontal:' true
       
   361                                         #'miniScrollerVertical:' true
       
   362                                         #'component:' #ImageView
       
   363                                         #'hasBorder:' true
       
   364                                     )
       
   365                                      #(#FramedBoxSpec
       
   366                                         #'name:' 'framedBox2'
       
   367                                         #'layout:' #(#LayoutFrame 1 0.0 68 0 0 1.0 -66 1)
       
   368                                         #'component:' 
       
   369                                          #(#SpecCollection
       
   370                                             #'collection:' 
       
   371                                              #(
       
   372                                                #(#DataSetSpec
       
   373                                                   #'name:' 'colorDataSetView'
       
   374                                                   #'layout:' #(#LayoutFrame 11 0.0 19 0.0 20 1.0 -10 1.0)
       
   375                                                   #'activeHelpKey:' #colorMapTable
       
   376                                                   #'model:' #selectionOfColor
       
   377                                                   #'style:' #(#FontDescription #helvetica #medium #roman 12)
       
   378                                                   #'hasHorizontalScrollBar:' true
       
   379                                                   #'hasVerticalScrollBar:' true
       
   380                                                   #'miniScrollerHorizontal:' true
       
   381                                                   #'miniScrollerVertical:' true
       
   382                                                   #'dataList:' #listOfColors
       
   383                                                   #'level:' -1
       
   384                                                   #'has3Dsepartors:' true
       
   385                                                   #'verticalSpacing:' 1
       
   386                                                   #'columns:' 
       
   387                                                    #(
       
   388                                                      #(#DataSetColumnSpec
       
   389                                                         #'rendererType:' #rowSelector
       
   390                                                         #'backgroundSelector:' #yourself
       
   391                                                     )
       
   392                                                      #(#DataSetColumnSpec
       
   393                                                         #'label:' 'Red'
       
   394                                                         #'model:' #rowRedByte
       
   395                                                         #'canSelect:' false
       
   396                                                     )
       
   397                                                      #(#DataSetColumnSpec
       
   398                                                         #'label:' 'Green'
       
   399                                                         #'model:' #rowGreenByte
       
   400                                                         #'canSelect:' false
       
   401                                                     )
       
   402                                                      #(#DataSetColumnSpec
       
   403                                                         #'label:' 'Blue'
       
   404                                                         #'model:' #rowBlueByte
       
   405                                                         #'canSelect:' false
       
   406                                                     )
       
   407                                                   )
       
   408                                               )
       
   409                                                #(#MenuPanelSpec
       
   410                                                   #'name:' 'menuColorAssignmentPanel'
       
   411                                                   #'layout:' #(#LayoutFrame 11 0 -10 1 18 1 17 1)
       
   412                                                   #'activeHelpKey:' #mouseKeyColorMode
       
   413                                                   #'enableChannel:' #imageIsLoaded
       
   414                                                   #'menu:' #menuColorAssignment
       
   415                                                   #'style:' #(#FontDescription #helvetica #medium #roman 10)
       
   416                                               )
       
   417                                             )
       
   418                                         )
       
   419                                         #'label:' 'Color Map'
       
   420                                         #'labelPosition:' #topLeft
       
   421                                         #'style:' #(#FontDescription #helvetica #medium #roman 12)
       
   422                                     )
       
   423                                      #(#VerticalPanelViewSpec
       
   424                                         #'name:' 'verticalPanelView1'
       
   425                                         #'layout:' #(#LayoutFrame 1 0.0 -68 1 83 0 0 1.0)
       
   426                                         #'component:' 
       
   427                                          #(#SpecCollection
       
   428                                             #'collection:' 
       
   429                                              #(
       
   430                                                #(#LabelSpec
       
   431                                                   #'name:' 'classNameLabel'
       
   432                                                   #'label:' 'Class:'
       
   433                                                   #'adjust:' #right
       
   434                                                   #'extent:' #(#Point 82 21)
       
   435                                               )
       
   436                                                #(#LabelSpec
       
   437                                                   #'name:' 'selectorLabel'
       
   438                                                   #'label:' 'Selector:'
       
   439                                                   #'adjust:' #right
       
   440                                                   #'extent:' #(#Point 82 20)
       
   441                                               )
       
   442                                                #(#LabelSpec
       
   443                                                   #'name:' 'fileNameLabel'
       
   444                                                   #'label:' 'File Name:'
       
   445                                                   #'adjust:' #right
       
   446                                                   #'extent:' #(#Point 82 21)
       
   447                                               )
       
   448                                             )
       
   449                                         )
       
   450                                         #'horizontalLayout:' #fit
       
   451                                         #'verticalLayout:' #fit
       
   452                                         #'horizontalSpace:' 3
       
   453                                         #'verticalSpace:' 3
       
   454                                     )
       
   455                                      #(#VerticalPanelViewSpec
       
   456                                         #'name:' 'verticalPanelView2'
       
   457                                         #'layout:' #(#LayoutFrame 85 0.0 -68 1 -6 1 0 1.0)
       
   458                                         #'component:' 
       
   459                                          #(#SpecCollection
       
   460                                             #'collection:' 
       
   461                                              #(
       
   462                                                #(#InputFieldSpec
       
   463                                                   #'name:' 'resourceClassInputField'
       
   464                                                   #'activeHelpKey:' #inputFieldOfClass
       
   465                                                   #'model:' #valueOfResourceClass
       
   466                                                   #'immediateAccept:' false
       
   467                                                   #'extent:' #(#Point 107 21)
       
   468                                               )
       
   469                                                #(#InputFieldSpec
       
   470                                                   #'name:' 'resourceSelectorInputField'
       
   471                                                   #'activeHelpKey:' #inputFieldOfSelector
       
   472                                                   #'model:' #valueOfResourceSelector
       
   473                                                   #'immediateAccept:' false
       
   474                                                   #'acceptOnTab:' false
       
   475                                                   #'extent:' #(#Point 107 20)
       
   476                                               )
       
   477                                                #(#InputFieldSpec
       
   478                                                   #'name:' 'fileNameInputField'
       
   479                                                   #'activeHelpKey:' #inputFieldFileName
       
   480                                                   #'model:' #valueOfFileName
       
   481                                                   #'immediateAccept:' false
       
   482                                                   #'acceptOnTab:' false
       
   483                                                   #'extent:' #(#Point 107 21)
       
   484                                               )
       
   485                                             )
       
   486                                         )
       
   487                                         #'horizontalLayout:' #fit
       
   488                                         #'verticalLayout:' #fit
       
   489                                         #'horizontalSpace:' 3
       
   490                                         #'verticalSpace:' 3
       
   491                                     )
   356                                     )
   492                                   )
   357                                   )
   493                               )
   358                               )
   494                               #'level:' -1
       
   495                           )
   359                           )
   496                            #(#ViewSpec
   360                            #(#ViewSpec
   497                               #'name:' 'view2'
   361                               #name: 'view2'
   498                               #'component:' 
   362                               #component: 
   499                                #(#SpecCollection
   363                                #(#SpecCollection
   500                                   #'collection:' 
   364                                   #collection: 
   501                                    #(
   365                                    #(
   502                                      #(#ArbitraryComponentSpec
   366                                      #(#ArbitraryComponentSpec
   503                                         #'name:' 'imageEditView'
   367                                         #name: 'imageEditView'
   504                                         #'layout:' #(#LayoutFrame 2 0.0 2 0.0 -2 1.0 -24 1.0)
   368                                         #layout: #(#LayoutFrame 2 0.0 2 0.0 -2 1.0 -24 1.0)
   505                                         #'hasHorizontalScrollBar:' true
   369                                         #hasHorizontalScrollBar: true
   506                                         #'hasVerticalScrollBar:' true
   370                                         #hasVerticalScrollBar: true
   507                                         #'component:' #ImageEditView
   371                                         #component: #ImageEditView
   508                                         #'hasBorder:' false
   372                                         #hasBorder: false
   509                                     )
   373                                     )
   510                                      #(#LabelSpec
   374                                      #(#LabelSpec
   511                                         #'name:' 'coordLabel'
   375                                         #name: 'coordLabel'
   512                                         #'layout:' #(#LayoutFrame 2 0.0 -22 1 -4 1.0 0 1.0)
   376                                         #layout: #(#LayoutFrame 2 0.0 -22 1 -83 1.0 0 1.0)
   513                                         #'level:' -1
   377                                         #level: -1
   514                                         #'adjust:' #left
   378                                         #adjust: #left
       
   379                                     )
       
   380                                      #(#ArrowButtonSpec
       
   381                                         #name: 'magnifyDownButton'
       
   382                                         #layout: #(#LayoutFrame -80 1 -22 1 -58 1 0 1)
       
   383                                         #activeHelpKey: #magnifyImageDown
       
   384                                         #model: #magnifyDown
       
   385                                         #enableChannel: #imageIsLoaded
       
   386                                         #isTriggerOnDown: true
       
   387                                         #direction: #left
       
   388                                     )
       
   389                                      #(#ArrowButtonSpec
       
   390                                         #name: 'magnifyUpButton'
       
   391                                         #layout: #(#LayoutFrame -24 1 -22 1 -2 1 0 1)
       
   392                                         #activeHelpKey: #magnifyImageUp
       
   393                                         #model: #magnifyUp
       
   394                                         #enableChannel: #imageIsLoaded
       
   395                                         #isTriggerOnDown: true
       
   396                                         #direction: #right
       
   397                                     )
       
   398                                      #(#InputFieldSpec
       
   399                                         #name: 'magnificationInputField'
       
   400                                         #layout: #(#LayoutFrame -57 1 -22 1 -26 1 0 1)
       
   401                                         #activeHelpKey: #magnificationNumber
       
   402                                         #enableChannel: #imageIsLoaded
       
   403                                         #model: #valueOfMagnification
       
   404                                         #type: #number
       
   405                                         #acceptOnReturn: false
       
   406                                         #acceptOnTab: false
       
   407                                         #numChars: 2
   515                                     )
   408                                     )
   516                                   )
   409                                   )
   517                               )
   410                               )
   518                               #'level:' -1
   411                               #level: -1
   519                           )
   412                           )
   520                         )
   413                         )
   521                     )
   414                     )
   522                     #'handles:' #(#Any 0.404 1.0)
   415                     #handles: #(#Any 0.286 1.0)
   523                 )
   416                 )
   524                  #(#UISubSpecification
   417                  #(#UISubSpecification
   525                     #'name:' 'infoBarSubSpec'
   418                     #name: 'infoBarSubSpec'
   526                     #'layout:' #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
   419                     #layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
   527                     #'majorKey:' #ToolApplicationModel
   420                     #majorKey: #ToolApplicationModel
   528                     #'minorKey:' #windowSpecForInfoBarWithClock
   421                     #minorKey: #windowSpecForInfoBarWithClock
   529                 )
   422                 )
   530               )
   423               )
   531           )
   424           )
   532       )
   425       )
   533 !
   426 !
   546     <resource: #canvas>
   439     <resource: #canvas>
   547 
   440 
   548     ^
   441     ^
   549      
   442      
   550        #(#FullSpec
   443        #(#FullSpec
   551           #'window:' 
   444           #window: 
   552            #(#WindowSpec
   445            #(#WindowSpec
   553               #'name:' 'New Image'
   446               #name: 'New Image'
   554               #'layout:' #(#LayoutFrame 194 0 152 0 461 0 248 0)
   447               #layout: #(#LayoutFrame 197 0 172 0 497 0 276 0)
   555               #'label:' 'New Image'
   448               #label: 'New Image'
   556               #'min:' #(#Point 10 10)
   449               #min: #(#Point 10 10)
   557               #'max:' #(#Point 1152 900)
   450               #max: #(#Point 1152 900)
   558               #'bounds:' #(#Rectangle 194 152 462 249)
   451               #bounds: #(#Rectangle 197 172 498 277)
   559               #'usePreferredExtent:' false
   452               #usePreferredExtent: false
   560           )
   453           )
   561           #'component:' 
   454           #component: 
   562            #(#SpecCollection
   455            #(#SpecCollection
   563               #'collection:' 
   456               #collection: 
   564                #(
   457                #(
   565                  #(#ViewSpec
   458                  #(#ViewSpec
   566                     #'name:' 'View'
   459                     #name: 'View'
   567                     #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -38 1.0)
   460                     #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -37 1.0)
   568                     #'component:' 
   461                     #component: 
   569                      #(#SpecCollection
   462                      #(#SpecCollection
   570                         #'collection:' 
   463                         #collection: 
   571                          #(
   464                          #(
   572                            #(#FramedBoxSpec
   465                            #(#FramedBoxSpec
   573                               #'name:' 'framedBox1'
   466                               #name: 'framedBox1'
   574                               #'layout:' #(#LayoutFrame 1 0.0 1 0.0 0 0.4 55 0)
   467                               #layout: #(#LayoutFrame 1 0.0 1 0.0 0 0.4 60 0)
   575                               #'component:' 
   468                               #component: 
   576                                #(#SpecCollection
   469                                #(#SpecCollection
   577                                   #'collection:' 
   470                                   #collection: 
   578                                    #(
   471                                    #(
   579                                      #(#ComboBoxSpec
   472                                      #(#ComboBoxSpec
   580                                         #'name:' 'defaultSizesComboBox'
   473                                         #name: 'defaultSizesComboBox'
   581                                         #'layout:' #(#LayoutFrame 15 0.0 16 0.0 15 1.0 16 1.0)
   474                                         #layout: #(#LayoutFrame 15 0.0 20 0.0 17 1.0 16 1.0)
   582                                         #'model:' #selectionOfSize
   475                                         #model: #selectionOfSize
   583                                         #'type:' #string
   476                                         #type: #string
   584                                         #'comboList:' #listOfDefaultSizes
   477                                         #comboList: #listOfDefaultSizes
   585                                     )
   478                                     )
   586                                   )
   479                                   )
   587                               )
   480                               )
   588                               #'label:' 'Size'
   481                               #label: 'Size'
   589                               #'labelPosition:' #topLeft
   482                               #labelPosition: #topLeft
   590                               #'style:' #(#FontDescription #helvetica #medium #roman 12)
   483                               #style: #(#FontDescription #helvetica #medium #roman 12)
   591                           )
   484                           )
   592                            #(#FramedBoxSpec
   485                            #(#FramedBoxSpec
   593                               #'name:' 'framedBox2'
   486                               #name: 'framedBox2'
   594                               #'layout:' #(#LayoutFrame 0 0.4 1 0.0 -1 1.0 55 0)
   487                               #layout: #(#LayoutFrame 0 0.4 1 0.0 -1 1.0 60 0)
   595                               #'component:' 
   488                               #component: 
   596                                #(#SpecCollection
   489                                #(#SpecCollection
   597                                   #'collection:' 
   490                                   #collection: 
   598                                    #(
   491                                    #(
   599                                      #(#ComboListSpec
   492                                      #(#ComboListSpec
   600                                         #'name:' 'colorMapComboBox'
   493                                         #name: 'colorMapComboBox'
   601                                         #'layout:' #(#LayoutFrame 15 0.0 16 0.0 15 1.0 16 1.0)
   494                                         #layout: #(#LayoutFrame 15 0.0 20 0.0 18 1.0 16 1.0)
   602                                         #'model:' #selectionOfColorMap
   495                                         #model: #selectionOfColorMap
   603                                         #'comboList:' #listOfColorMaps
   496                                         #comboList: #listOfColorMaps
   604                                         #'useIndex:' false
   497                                         #useIndex: false
   605                                     )
   498                                     )
   606                                   )
   499                                   )
   607                               )
   500                               )
   608                               #'label:' 'Color Map'
   501                               #label: 'Color Map'
   609                               #'labelPosition:' #topLeft
   502                               #labelPosition: #topLeft
   610                               #'style:' #(#FontDescription #helvetica #medium #roman 12)
   503                               #style: #(#FontDescription #helvetica #medium #roman 12)
   611                           )
   504                           )
   612                         )
   505                         )
   613                     )
   506                     )
   614                     #'level:' 1
   507                     #level: 1
   615                 )
   508                 )
   616                  #(#HorizontalPanelViewSpec
   509                  #(#UISubSpecification
   617                     #'name:' 'horizontalPanelView1'
   510                     #name: 'UISubSpecification1'
   618                     #'layout:' #(#LayoutFrame 0 0.0 -38 1 0 1.0 0 1.0)
   511                     #layout: #(#LayoutFrame 0 0.0 -30 1 0 1.0 -6 1.0)
   619                     #'component:' 
   512                     #majorKey: #ToolApplicationModel
   620                      #(#SpecCollection
   513                     #minorKey: #windowSpecForCommitWithoutChannels
   621                         #'collection:' 
       
   622                          #(
       
   623                            #(#ActionButtonSpec
       
   624                               #'name:' 'actionButton2'
       
   625                               #'label:' 'Cancel'
       
   626                               #'model:' #cancel
       
   627                               #'extent:' #(#Point 100 22)
       
   628                           )
       
   629                            #(#ActionButtonSpec
       
   630                               #'name:' 'actionButton1'
       
   631                               #'label:' 'OK'
       
   632                               #'model:' #accept
       
   633                               #'isDefault:' true
       
   634                               #'extent:' #(#Point 100 22)
       
   635                           )
       
   636                         )
       
   637                     )
       
   638                     #'horizontalLayout:' #center
       
   639                     #'verticalLayout:' #center
       
   640                     #'horizontalSpace:' 2
       
   641                     #'verticalSpace:' 1
       
   642                 )
   514                 )
   643               )
   515               )
   644           )
   516           )
   645       )
   517       )
   646 ! !
   518 ! !
   664      
   536      
   665        #(#Menu
   537        #(#Menu
   666           
   538           
   667            #(
   539            #(
   668              #(#MenuItem
   540              #(#MenuItem
   669                 #'label:' 'About'
   541                 #label: 'About'
   670                 #'activeHelpKey:' #about
   542                 #activeHelpKey: #about
   671                 #'labelImage:' #(#ResourceRetriever nil #menuIcon)
   543                 #labelImage: #(#ResourceRetriever nil #menuIcon)
   672                 #'submenuChannel:' #menuAbout
   544                 #submenuChannel: #menuAbout
   673             )
   545             )
   674              #(#MenuItem
   546              #(#MenuItem
   675                 #'label:' 'File'
   547                 #label: 'File'
   676                 #'translateLabel:' true
   548                 #translateLabel: true
   677                 #'activeHelpKey:' #file
   549                 #activeHelpKey: #file
   678                 #'submenu:' 
   550                 #submenu: 
   679                  #(#Menu
   551                  #(#Menu
   680                     
   552                     
   681                      #(
   553                      #(
   682                        #(#MenuItem
   554                        #(#MenuItem
   683                           #'label:' 'New...'
   555                           #label: 'New...'
   684                           #'value:' #newImage
   556                           #value: #newImage
   685                           #'activeHelpKey:' #fileNewImage
   557                           #activeHelpKey: #fileNewImage
   686                       )
   558                       )
   687                        #(#MenuItem
   559                        #(#MenuItem
   688                           #'label:' '-'
   560                           #label: '-'
   689                       )
   561                       )
   690                        #(#MenuItem
   562                        #(#MenuItem
   691                           #'label:' 'Load From File...'
   563                           #label: 'Load...'
   692                           #'value:' #loadFromFile
   564                           #value: #loadFromClass
   693                           #'activeHelpKey:' #fileLoadFromFile
   565                           #activeHelpKey: #fileLoadFromClass
   694                       )
   566                       )
   695                        #(#MenuItem
   567                        #(#MenuItem
   696                           #'label:' 'Load From Class...'
   568                           #label: 'Load From File...'
   697                           #'value:' #loadFromClass
   569                           #value: #loadFromFile
   698                           #'activeHelpKey:' #fileLoadFromClass
   570                           #activeHelpKey: #fileLoadFromFile
   699                       )
   571                       )
   700                        #(#MenuItem
   572                        #(#MenuItem
   701                           #'label:' '-'
   573                           #label: '-'
   702                       )
   574                       )
   703                        #(#MenuItem
   575                        #(#MenuItem
   704                           #'label:' 'Save'
   576                           #label: 'Save'
   705                           #'value:' #saveImageFile
   577                           #value: #saveMethod
   706                           #'activeHelpKey:' #fileSaveFile
   578                           #activeHelpKey: #fileSaveMethod
   707                           #'enabled:' #imageIsLoaded
   579                           #enabled: #imageIsLoaded
   708                       )
   580                       )
   709                        #(#MenuItem
   581                        #(#MenuItem
   710                           #'label:' 'Save As...'
   582                           #label: 'Save As...'
   711                           #'value:' #saveImageFileAs
   583                           #value: #saveMethodAs
   712                           #'activeHelpKey:' #fileSaveAs
   584                           #activeHelpKey: #fileSaveMethodAs
   713                           #'enabled:' #imageIsLoaded
   585                           #enabled: #imageIsLoaded
   714                       )
   586                       )
   715                        #(#MenuItem
   587                        #(#MenuItem
   716                           #'label:' 'Save Mask As...'
   588                           #label: '-'
   717                           #'value:' #saveImageMaskFileAs
   589                       )
   718                           #'activeHelpKey:' #fileSaveMaskAs
   590                        #(#MenuItem
   719                           #'enabled:' #imageIsLoaded
   591                           #label: 'Save To File...'
   720                       )
   592                           #value: #saveImageFileAs
   721                        #(#MenuItem
   593                           #activeHelpKey: #fileSaveAs
   722                           #'label:' '-'
   594                           #enabled: #imageIsLoaded
   723                       )
   595                       )
   724                        #(#MenuItem
   596                        #(#MenuItem
   725                           #'label:' 'Save Method'
   597                           #label: 'Save Mask To File...'
   726                           #'value:' #saveMethod
   598                           #value: #saveImageMaskFileAs
   727                           #'activeHelpKey:' #fileSaveMethod
   599                           #activeHelpKey: #fileSaveMaskAs
   728                           #'enabled:' #imageIsLoaded
   600                           #enabled: #imageIsLoaded
   729                       )
   601                       )
   730                        #(#MenuItem
   602                        #(#MenuItem
   731                           #'label:' 'Save Method As...'
   603                           #label: '-'
   732                           #'value:' #saveMethodAs
   604                       )
   733                           #'activeHelpKey:' #fileSaveMethodAs
   605                        #(#MenuItem
   734                           #'enabled:' #imageIsLoaded
   606                           #label: 'Print'
   735                       )
   607                           #value: #print
   736                        #(#MenuItem
   608                           #activeHelpKey: #filePrint
   737                           #'label:' '-'
   609                           #enabled: #imageIsLoaded
   738                       )
   610                       )
   739                        #(#MenuItem
   611                        #(#MenuItem
   740                           #'label:' 'Print'
   612                           #label: '-'
   741                           #'value:' #print
   613                       )
   742                           #'activeHelpKey:' #filePrint
   614                        #(#MenuItem
   743                           #'enabled:' #imageIsLoaded
   615                           #label: 'Browse Class'
   744                       )
   616                           #value: #browseClass
   745                        #(#MenuItem
   617                           #activeHelpKey: #fileBrowseClass
   746                           #'label:' '-'
   618                           #enabled: #imageIsLoaded
   747                       )
   619                       )
   748                        #(#MenuItem
   620                        #(#MenuItem
   749                           #'label:' 'Browse Image Class'
   621                           #label: '-'
   750                           #'value:' #browseClass
   622                       )
   751                           #'activeHelpKey:' #fileBrowseClass
   623                        #(#MenuItem
   752                           #'enabled:' #imageIsLoaded
   624                           #label: 'Exit'
   753                       )
   625                           #translateLabel: true
   754                        #(#MenuItem
   626                           #value: #closeRequest
   755                           #'label:' '-'
   627                           #activeHelpKey: #fileExit
   756                       )
       
   757                        #(#MenuItem
       
   758                           #'label:' 'Exit'
       
   759                           #'translateLabel:' true
       
   760                           #'value:' #closeRequest
       
   761                           #'activeHelpKey:' #fileExit
       
   762                       )
   628                       )
   763                     ) nil
   629                     ) nil
   764                     nil
   630                     nil
   765                 )
   631                 )
   766             )
   632             )
   767              #(#MenuItem
   633              #(#MenuItem
   768                 #'label:' 'Edit'
   634                 #label: 'Edit'
   769                 #'activeHelpKey:' #edit
   635                 #activeHelpKey: #edit
   770                 #'enabled:' #imageIsLoaded
   636                 #enabled: #imageIsLoaded
   771                 #'submenu:' 
   637                 #submenu: 
   772                  #(#Menu
   638                  #(#Menu
   773                     
   639                     
   774                      #(
   640                      #(
   775                        #(#MenuItem
   641                        #(#MenuItem
   776                           #'label:' 'Undo'
   642                           #label: 'Undo'
   777                           #'value:' #undo
   643                           #value: #undo
   778                           #'activeHelpKey:' #editUndo
   644                           #activeHelpKey: #editUndo
   779                           #'enabled:' #valueOfCanUndo
   645                           #enabled: #valueOfCanUndo
   780                       )
   646                       )
   781                        #(#MenuItem
   647                        #(#MenuItem
   782                           #'label:' '-'
   648                           #label: '-'
   783                       )
   649                       )
   784                        #(#MenuItem
   650                        #(#MenuItem
   785                           #'label:' 'Flip - Vertical'
   651                           #label: 'Flip - Vertical'
   786                           #'value:' #flipVertical
   652                           #value: #flipVertical
   787                           #'activeHelpKey:' #editFlipVertical
   653                           #activeHelpKey: #editFlipVertical
   788                       )
   654                       )
   789                        #(#MenuItem
   655                        #(#MenuItem
   790                           #'label:' 'Flip - Horizontal'
   656                           #label: 'Flip - Horizontal'
   791                           #'value:' #flipHorizontal
   657                           #value: #flipHorizontal
   792                           #'activeHelpKey:' #editFlipHorizontal
   658                           #activeHelpKey: #editFlipHorizontal
   793                       )
   659                       )
   794                        #(#MenuItem
   660                        #(#MenuItem
   795                           #'label:' '-'
   661                           #label: '-'
   796                       )
   662                       )
   797                        #(#MenuItem
   663                        #(#MenuItem
   798                           #'label:' 'Resize...'
   664                           #label: 'Resize...'
   799                           #'value:' #resizeImage
   665                           #value: #resizeImage
   800                           #'activeHelpKey:' #editResize
   666                           #activeHelpKey: #editResize
   801                       )
   667                       )
   802                        #(#MenuItem
   668                        #(#MenuItem
   803                           #'label:' 'Magnify...'
   669                           #label: 'Magnify...'
   804                           #'value:' #magnifyImage
   670                           #value: #magnifyImage
   805                           #'activeHelpKey:' #editMagnifyImage
   671                           #activeHelpKey: #editMagnifyImage
   806                       )
   672                       )
   807                        #(#MenuItem
   673                        #(#MenuItem
   808                           #'label:' 'Rotate...'
   674                           #label: 'Rotate...'
   809                           #'value:' #rotateImage
   675                           #value: #rotateImage
   810                           #'activeHelpKey:' #editRotate
   676                           #activeHelpKey: #editRotate
   811                       )
   677                       )
   812                        #(#MenuItem
   678                        #(#MenuItem
   813                           #'label:' '-'
   679                           #label: '-'
   814                       )
   680                       )
   815                        #(#MenuItem
   681                        #(#MenuItem
   816                           #'label:' 'Negative'
   682                           #label: 'Negative'
   817                           #'value:' #negativeImage
   683                           #value: #negativeImage
   818                           #'activeHelpKey:' #editNegate
   684                           #activeHelpKey: #editNegate
   819                       )
   685                       )
   820                     ) nil
   686                     ) nil
   821                     nil
   687                     nil
   822                 )
   688                 )
   823             )
   689             )
   824              #(#MenuItem
   690              #(#MenuItem
   825                 #'label:' 'Color Map'
   691                 #label: 'Color Map'
   826                 #'activeHelpKey:' #colorMap
   692                 #activeHelpKey: #colorMap
   827                 #'enabled:' #imageIsLoaded
   693                 #enabled: #imageIsLoaded
   828                 #'submenu:' 
   694                 #submenu: 
   829                  #(#Menu
   695                  #(#Menu
   830                     
   696                     
   831                      #(
   697                      #(
   832                        #(#MenuItem
   698                        #(#MenuItem
   833                           #'label:' '8-Plane'
   699                           #label: '8-Plane'
   834                           #'activeHelpKey:' #colorMap
   700                           #activeHelpKey: #colorMap
   835                           #'argument:' '8-plane'
   701                           #argument: '8-plane'
   836                           #'indication:' #'colorMapMode:value:'
   702                           #indication: #colorMapMode:value:
   837                       )
   703                       )
   838                        #(#MenuItem
   704                        #(#MenuItem
   839                           #'label:' '4-Plane'
   705                           #label: '4-Plane'
   840                           #'activeHelpKey:' #colorMap
   706                           #activeHelpKey: #colorMap
   841                           #'argument:' '4-plane'
   707                           #argument: '4-plane'
   842                           #'indication:' #'colorMapMode:value:'
   708                           #indication: #colorMapMode:value:
   843                       )
   709                       )
   844                        #(#MenuItem
   710                        #(#MenuItem
   845                           #'label:' '2-Plane'
   711                           #label: '2-Plane'
   846                           #'activeHelpKey:' #colorMap
   712                           #activeHelpKey: #colorMap
   847                           #'argument:' '2-plane'
   713                           #argument: '2-plane'
   848                           #'indication:' #'colorMapMode:value:'
   714                           #indication: #colorMapMode:value:
   849                       )
   715                       )
   850                        #(#MenuItem
   716                        #(#MenuItem
   851                           #'label:' '1-Plane'
   717                           #label: '1-Plane'
   852                           #'activeHelpKey:' #colorMap
   718                           #activeHelpKey: #colorMap
   853                           #'argument:' '1-plane'
   719                           #argument: '1-plane'
   854                           #'indication:' #'colorMapMode:value:'
   720                           #indication: #colorMapMode:value:
   855                       )
   721                       )
   856                        #(#MenuItem
   722                        #(#MenuItem
   857                           #'label:' '-'
   723                           #label: '-'
   858                       )
   724                       )
   859                        #(#MenuItem
   725                        #(#MenuItem
   860                           #'label:' '8-Plane + Mask'
   726                           #label: '8-Plane + Mask'
   861                           #'activeHelpKey:' #colorMap
   727                           #activeHelpKey: #colorMap
   862                           #'argument:' '8-plane + mask'
   728                           #argument: '8-plane + mask'
   863                           #'indication:' #'colorMapMode:value:'
   729                           #indication: #colorMapMode:value:
   864                       )
   730                       )
   865                        #(#MenuItem
   731                        #(#MenuItem
   866                           #'label:' '4-Plane + Mask'
   732                           #label: '4-Plane + Mask'
   867                           #'activeHelpKey:' #colorMap
   733                           #activeHelpKey: #colorMap
   868                           #'argument:' '4-plane + mask'
   734                           #argument: '4-plane + mask'
   869                           #'indication:' #'colorMapMode:value:'
   735                           #indication: #colorMapMode:value:
   870                       )
   736                       )
   871                        #(#MenuItem
   737                        #(#MenuItem
   872                           #'label:' '2-Plane + Mask'
   738                           #label: '2-Plane + Mask'
   873                           #'activeHelpKey:' #colorMap
   739                           #activeHelpKey: #colorMap
   874                           #'argument:' '2-plane + mask'
   740                           #argument: '2-plane + mask'
   875                           #'indication:' #'colorMapMode:value:'
   741                           #indication: #colorMapMode:value:
   876                       )
   742                       )
   877                        #(#MenuItem
   743                        #(#MenuItem
   878                           #'label:' '1-Plane + Mask'
   744                           #label: '1-Plane + Mask'
   879                           #'activeHelpKey:' #colorMap
   745                           #activeHelpKey: #colorMap
   880                           #'argument:' '1-plane + mask'
   746                           #argument: '1-plane + mask'
   881                           #'indication:' #'colorMapMode:value:'
   747                           #indication: #colorMapMode:value:
       
   748                       )
       
   749                        #(#MenuItem
       
   750                           #label: '-'
       
   751                       )
       
   752                        #(#MenuItem
       
   753                           #label: 'Left Mouse Button'
       
   754                           #nameKey: #leftMouseKeyButton
       
   755                           #value: #'Left Mouse Button'
       
   756                           #activeHelpKey: #mouseKeyColorMode
       
   757                           #argument: '1'
       
   758                           #labelImage: #(#ResourceRetriever nil #leftMouseKeyIcon 'Left Mouse Button')
       
   759                           #indication: #mouseKeyColorMode:value:
       
   760                       )
       
   761                        #(#MenuItem
       
   762                           #label: 'Right Mouse Button'
       
   763                           #nameKey: #rightMouseKeyButton
       
   764                           #value: #'Right Mouse Button'
       
   765                           #activeHelpKey: #mouseKeyColorMode
       
   766                           #argument: '2'
       
   767                           #labelImage: #(#ResourceRetriever nil #rightMouseKeyIcon 'Right Mouse Button')
       
   768                           #indication: #mouseKeyColorMode:value:
   882                       )
   769                       )
   883                     ) nil
   770                     ) nil
   884                     nil
   771                     nil
   885                 )
   772                 )
   886             )
   773             )
   887              #(#MenuItem
   774              #(#MenuItem
   888                 #'label:' 'History'
   775                 #label: 'History'
   889                 #'activeHelpKey:' #history
   776                 #activeHelpKey: #history
   890                 #'submenuChannel:' #menuHistory
   777                 #submenuChannel: #menuHistory
   891             )
   778             )
   892              #(#MenuItem
   779              #(#MenuItem
   893                 #'label:' 'Help'
   780                 #label: 'Help'
   894                 #'startGroup:' #right
   781                 #startGroup: #right
   895                 #'activeHelpKey:' #help
   782                 #activeHelpKey: #help
   896                 #'submenuChannel:' #menuHelp
   783                 #submenuChannel: #menuHelp
   897             )
   784             )
   898           ) nil
   785           ) nil
   899           nil
   786           nil
   900       )
   787       )
   901 !
   788 !
   954      
   841      
   955        #(#Menu
   842        #(#Menu
   956           
   843           
   957            #(
   844            #(
   958              #(#MenuItem
   845              #(#MenuItem
   959                 #'label:' 'newImage'
   846                 #label: 'newImage'
   960                 #'isButton:' true
   847                 #isButton: true
   961                 #'value:' #newImage
   848                 #value: #newImage
   962                 #'activeHelpKey:' #fileNewImage
   849                 #activeHelpKey: #fileNewImage
   963                 #'labelImage:' #(#ResourceRetriever nil #newImageIcon)
   850                 #labelImage: #(#ResourceRetriever nil #newIcon)
   964             )
   851             )
   965              #(#MenuItem
   852              #(#MenuItem
   966                 #'label:' 'loadFromClass'
   853                 #label: 'loadFromClass'
   967                 #'isButton:' true
   854                 #isButton: true
   968                 #'value:' #loadFromClass
   855                 #value: #loadFromClass
   969                 #'activeHelpKey:' #fileLoadFromClass
   856                 #activeHelpKey: #fileLoadFromClass
   970                 #'labelImage:' #(#ResourceRetriever nil #loadFromClassIcon)
   857                 #labelImage: #(#ResourceRetriever nil #loadIcon)
   971             )
   858             )
   972              #(#MenuItem
   859              #(#MenuItem
   973                 #'label:' 'loadFromFile'
   860                 #label: ''
   974                 #'isButton:' true
   861             )
   975                 #'value:' #loadFromFile
   862              #(#MenuItem
   976                 #'activeHelpKey:' #fileLoadFromFile
   863                 #label: 'saveMethod'
   977                 #'labelImage:' #(#ResourceRetriever nil #loadFromFileIcon)
   864                 #isButton: true
   978             )
   865                 #value: #saveMethod
   979              #(#MenuItem
   866                 #activeHelpKey: #fileSaveMethod
   980                 #'label:' ''
   867                 #enabled: #imageIsLoaded
   981             )
   868                 #labelImage: #(#ResourceRetriever nil #saveIcon)
   982              #(#MenuItem
   869             )
   983                 #'label:' 'saveMethod'
   870              #(#MenuItem
   984                 #'isButton:' true
   871                 #label: ''
   985                 #'value:' #saveMethod
   872             )
   986                 #'activeHelpKey:' #fileSaveMethod
   873              #(#MenuItem
   987                 #'enabled:' #imageIsLoaded
   874                 #label: ''
   988                 #'labelImage:' #(#ResourceRetriever nil #saveAsMethodIcon)
   875             )
   989             )
   876              #(#MenuItem
   990              #(#MenuItem
   877                 #label: ''
   991                 #'label:' 'saveFile'
   878             )
   992                 #'isButton:' true
   879              #(#MenuItem
   993                 #'value:' #saveImageFile
   880                 #label: ''
   994                 #'activeHelpKey:' #fileSaveFile
   881             )
   995                 #'enabled:' #imageIsLoaded
   882              #(#MenuItem
   996                 #'labelImage:' #(#ResourceRetriever nil #saveIcon)
   883                 #label: 'Point'
   997             )
   884                 #activeHelpKey: #drawModePoint
   998              #(#MenuItem
   885                 #enabled: #imageIsLoaded
   999                 #'label:' ''
   886                 #argument: 'point'
  1000             )
   887                 #indication: #editMode:value:
  1001              #(#MenuItem
   888             )
  1002                 #'label:' 'Point'
   889              #(#MenuItem
  1003                 #'activeHelpKey:' #drawModePoint
   890                 #label: 'Box'
  1004                 #'enabled:' #imageIsLoaded
   891                 #activeHelpKey: #drawModeBox
  1005                 #'argument:' 'point'
   892                 #enabled: #imageIsLoaded
  1006                 #'indication:' #'editMode:value:'
   893                 #argument: 'box'
  1007             )
   894                 #indication: #editMode:value:
  1008              #(#MenuItem
   895             )
  1009                 #'label:' 'Box'
   896              #(#MenuItem
  1010                 #'activeHelpKey:' #drawModeBox
   897                 #label: 'Filled Box'
  1011                 #'enabled:' #imageIsLoaded
   898                 #activeHelpKey: #drawModeFilledBox
  1012                 #'argument:' 'box'
   899                 #enabled: #imageIsLoaded
  1013                 #'indication:' #'editMode:value:'
   900                 #argument: 'filledBox'
  1014             )
   901                 #indication: #editMode:value:
  1015              #(#MenuItem
   902             )
  1016                 #'label:' 'Filled Box'
   903              #(#MenuItem
  1017                 #'activeHelpKey:' #drawModeFilledBox
   904                 #label: 'Fill'
  1018                 #'enabled:' #imageIsLoaded
   905                 #activeHelpKey: #drawModeFill
  1019                 #'argument:' 'filledBox'
   906                 #enabled: #imageIsLoaded
  1020                 #'indication:' #'editMode:value:'
   907                 #argument: 'fill'
  1021             )
   908                 #indication: #editMode:value:
  1022              #(#MenuItem
   909             )
  1023                 #'label:' 'Fill'
   910              #(#MenuItem
  1024                 #'activeHelpKey:' #drawModeFill
   911                 #label: 'Copy'
  1025                 #'enabled:' #imageIsLoaded
   912                 #activeHelpKey: #drawModeCopy
  1026                 #'argument:' 'fill'
   913                 #enabled: #imageIsLoaded
  1027                 #'indication:' #'editMode:value:'
   914                 #argument: 'copy'
  1028             )
   915                 #indication: #editMode:value:
  1029              #(#MenuItem
   916             )
  1030                 #'label:' 'Copy'
   917              #(#MenuItem
  1031                 #'activeHelpKey:' #drawModeCopy
   918                 #label: 'Paste'
  1032                 #'enabled:' #imageIsLoaded
   919                 #activeHelpKey: #drawModePaste
  1033                 #'argument:' 'copy'
   920                 #enabled: #imageIsLoaded
  1034                 #'indication:' #'editMode:value:'
   921                 #argument: 'paste'
  1035             )
   922                 #indication: #editMode:value:
  1036              #(#MenuItem
       
  1037                 #'label:' 'Paste'
       
  1038                 #'activeHelpKey:' #drawModePaste
       
  1039                 #'enabled:' #imageIsLoaded
       
  1040                 #'argument:' 'paste'
       
  1041                 #'indication:' #'editMode:value:'
       
  1042             )
   923             )
  1043           ) nil
   924           ) nil
  1044           nil
   925           nil
  1045       )
   926       )
  1046 ! !
   927 ! !
  1055 
   936 
  1056     <resource: #image>
   937     <resource: #image>
  1057 
   938 
  1058     ^Icon
   939     ^Icon
  1059         constantNamed:#'ImageEditor leftMouseKeyIcon'
   940         constantNamed:#'ImageEditor leftMouseKeyIcon'
  1060         ifAbsentPut:[(Depth2Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@JEE@@B!!QP@@(TT@@@@@@@AUUP@@UUT@@EUU@@AUUP@@UUT@@EUU@@@UU@@@@@@@@@@@@@@a'); colorMap:((OrderedCollection new add:(Color black); add:(Color white); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); yourself)); 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]!
   941         ifAbsentPut:[(Depth2Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@JEE@@B!!QP@@(TT@@@@@@@AUUP@@UUT@@EUU@@AUUP@@UUT@@EUU@@@UU@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 0 255 0]; 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]!
  1061 
       
  1062 loadFromClassIcon
       
  1063     "Generated by the Image Editor"
       
  1064     "
       
  1065     ImageEditor openOnClass:self andSelector:#loadFromClassIcon
       
  1066     "
       
  1067 
       
  1068     <resource: #image>
       
  1069 
       
  1070     ^Icon
       
  1071         constantNamed:#'ImageEditor loadFromClassIcon'
       
  1072         ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'DQDQDQDQDQDQDQDQ@@@@@@@@@ADQDQDO????????G!!DQDP????????<^8QDQC4QG]4)G51DQDQDOQD]7)J5=??8QDP=DQ7]JQ=_??!!DQC3L6Y#$61/?>DQDOL3Y&$91,??8QDP<3M&X9M,[??!!DQC2H%UR %-_?>DQDOH"UU (-[??8QDP<"IUT(I[W??!!DQC??????????>DQDOD_G?G?D_D_8QDP<_<_G1<_<_?!!DQC1?1<QG1G1G>DQDOG?G1<_<_<_8QDP<Q<QG1<Q<Q?!!DQC??????????>DQG>;.;.;.;.;.8QDQDQDQDQDQDQDQDb'); colorMap:((OrderedCollection new add:(Color white); add:(Color black); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); add:(Color red:0.0 green:0.0 blue:100.0); add:(Color red:0.0 green:100.0 blue:100.0); add:(Color red:100.0 green:100.0 blue:0.0); add:(Color red:100.0 green:0.0 blue:100.0); add:(Color red:49.9962 green:0.0 blue:0.0); add:(Color red:0.0 green:49.9962 blue:0.0); add:(Color red:0.0 green:0.0 blue:49.9962); add:(Color red:0.0 green:49.9962 blue:49.9962); add:(Color red:49.9962 green:49.9962 blue:0.0); add:(Color red:49.9962 green:0.0 blue:49.9962); add:(Color grey:49.9962); add:(Color grey:66.9978); add:(Color black); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'_?>@_??@_?? _??0_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8'); yourself); yourself]!
       
  1073 
       
  1074 loadFromFileIcon
       
  1075     "Generated by the Image Editor"
       
  1076     "
       
  1077     ImageEditor openOnClass:self andSelector:#loadFromFileIcon
       
  1078     "
       
  1079 
       
  1080     <resource: #image>
       
  1081 
       
  1082     ^Icon
       
  1083         constantNamed:#'ImageEditor loadFromFileIcon'
       
  1084         ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'DQDQDQDQDQDQDQDQ@@@@@@@@@ADQDQDO????????G!!DQDP????????<^8QDQC4QG]4)G51DQDQDOQD]7)J5=??8QDP=DQ7]JQ=_??!!DQC3L6Y#$61/?>DQDOL3Y&$91,??8QDP<3M&X9M,[??!!DQC2H%UR %-_?>DQDOH"UU (-[??8QDP<"IUT(I[W??!!DQC??????????>DQDODQ<_<_?1D_8QDP<_?1?1??G??!!DQC1G?G?G?<Q?>DQDOG?<_<_?1??8QDP<_?1?1D_DQ?!!DQC??????????>DQG>;.;.;.;.;.8QDQDQDQDQDQDQDQDb'); colorMap:((OrderedCollection new add:(Color white); add:(Color black); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); add:(Color red:0.0 green:0.0 blue:100.0); add:(Color red:0.0 green:100.0 blue:100.0); add:(Color red:100.0 green:100.0 blue:0.0); add:(Color red:100.0 green:0.0 blue:100.0); add:(Color red:49.9962 green:0.0 blue:0.0); add:(Color red:0.0 green:49.9962 blue:0.0); add:(Color red:0.0 green:0.0 blue:49.9962); add:(Color red:0.0 green:49.9962 blue:49.9962); add:(Color red:49.9962 green:49.9962 blue:0.0); add:(Color red:49.9962 green:0.0 blue:49.9962); add:(Color grey:49.9962); add:(Color grey:66.9978); add:(Color black); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'_?>@_??@_?? _??0_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8'); yourself); yourself]!
       
  1085 
       
  1086 newImageIcon
       
  1087     "Generated by the Image Editor"
       
  1088     "
       
  1089     ImageEditor openOnClass:self andSelector:#newImageIcon
       
  1090     "
       
  1091 
       
  1092     <resource: #image>
       
  1093 
       
  1094     ^Icon
       
  1095         constantNamed:#'ImageEditor newImageIcon'
       
  1096         ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'DQDQDQDQDQDQDQDQ@@@@@@@@@ADQDQDO????????G!!DQDP????????<^8QDQC4QG]4)G51DQDQDOQD]7)J5=??8QDP=DQ7]JQ=_??!!DQC3L6Y#$61/?>DQDOL3Y&$91,??8QDP<3M&X9M,[??!!DQC2H%UR %-_?>DQDOH"UU (-[??8QDP<"IUT(I[W??!!DQC??????????>DQDOG?G1D_G1<_8QDP<Q<_G?<_G1?!!DQC1DQ<Q?1<_G>DQDOG1G1??G1<_8QDP<_<_DQ?1<_?!!DQC??????????>DQG>;.;.;.;.;.8QDQDQDQDQDQDQDQDb'); colorMap:((OrderedCollection new add:(Color white); add:(Color black); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); add:(Color red:0.0 green:0.0 blue:100.0); add:(Color red:0.0 green:100.0 blue:100.0); add:(Color red:100.0 green:100.0 blue:0.0); add:(Color red:100.0 green:0.0 blue:100.0); add:(Color red:49.9962 green:0.0 blue:0.0); add:(Color red:0.0 green:49.9962 blue:0.0); add:(Color red:0.0 green:0.0 blue:49.9962); add:(Color red:0.0 green:49.9962 blue:49.9962); add:(Color red:49.9962 green:49.9962 blue:0.0); add:(Color red:49.9962 green:0.0 blue:49.9962); add:(Color grey:49.9962); add:(Color grey:66.9978); add:(Color black); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'_?>@_??@_?? _??0_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8'); yourself); yourself]!
       
  1097 
   942 
  1098 rightMouseKeyIcon
   943 rightMouseKeyIcon
  1099     "Generated by the Image Editor"
   944     "Generated by the Image Editor"
  1100     "
   945     "
  1101     ImageEditor openOnClass:self andSelector:#rightMouseKeyIcon
   946     ImageEditor openOnClass:self andSelector:#rightMouseKeyIcon
  1103 
   948 
  1104     <resource: #image>
   949     <resource: #image>
  1105 
   950 
  1106     ^Icon
   951     ^Icon
  1107         constantNamed:#'ImageEditor rightMouseKeyIcon'
   952         constantNamed:#'ImageEditor rightMouseKeyIcon'
  1108         ifAbsentPut:[(Depth2Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@EJJ@@AR" @@T((@@@@@@@AUUP@@UUT@@EUU@@AUUP@@UUT@@EUU@@@UU@@@@@@@@@@@@@@a'); colorMap:((OrderedCollection new add:(Color black); add:(Color white); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); yourself)); 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]!
   953         ifAbsentPut:[(Depth2Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@EEJ@@AQR @@TT(@@@@@@@AUUP@@UUT@@EUU@@AUUP@@UUT@@EUU@@@UU@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 0 255 0]; 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]! !
  1109 
       
  1110 saveAsMethodIcon
       
  1111     "Generated by the Image Editor"
       
  1112     "
       
  1113     ImageEditor openOnClass:self andSelector:#saveAsMethodIcon
       
  1114     "
       
  1115 
       
  1116     <resource: #image>
       
  1117 
       
  1118     ^Icon
       
  1119         constantNamed:#'ImageEditor saveAsMethodIcon'
       
  1120         ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'DQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQD^8QDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDTQG]4)G5>G!!DQDQQD]7)J5=G!!DQDQEDQ7]JQ=_!!8QDQDSL6Y#$61 <ADQDQL3Y&$91,<ODQDQD3M&X9M,XO@QDQDRH%UR %-^;!!DQDQH"UU (-[;.DQDQD"IUT(I[W.8b'); colorMap:((OrderedCollection new add:(Color white); add:(Color black); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); add:(Color red:0.0 green:0.0 blue:100.0); add:(Color red:0.0 green:100.0 blue:100.0); add:(Color red:100.0 green:100.0 blue:0.0); add:(Color red:100.0 green:0.0 blue:100.0); add:(Color red:49.9962 green:0.0 blue:0.0); add:(Color red:0.0 green:49.9962 blue:0.0); add:(Color red:0.0 green:0.0 blue:49.9962); add:(Color red:0.0 green:49.9962 blue:49.9962); add:(Color red:49.9962 green:49.9962 blue:0.0); add:(Color red:49.9962 green:0.0 blue:49.9962); add:(Color grey:49.9962); add:(Color grey:66.9978); add:(Color black); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@H@@@@@@@H3N@ID)@ID)@D3I@@@@@@@@@A @@A @@BP@@@@@@@_?<@_?<@_?<@_?<@_?<@_?<@_?<@_?<@_?<'); yourself); yourself]! !
       
  1121 
   954 
  1122 !ImageEditor methodsFor:'accessing'!
   955 !ImageEditor methodsFor:'accessing'!
  1123 
   956 
  1124 image
   957 image
  1125 
   958 
  1136 coordLabel
   969 coordLabel
  1137 
   970 
  1138     ^builder componentAt: #coordLabel
   971     ^builder componentAt: #coordLabel
  1139 !
   972 !
  1140 
   973 
  1141 fileNameInputField
       
  1142 
       
  1143     ^builder componentAt: #fileNameInputField
       
  1144 !
       
  1145 
       
  1146 imageEditView
   974 imageEditView
  1147 
   975 
  1148     ^(builder componentAt: #imageEditView) subViews first 
   976     ^(builder componentAt: #imageEditView) subViews first 
  1149 !
   977 !
  1150 
   978 
  1151 imagePreView
   979 imagePreView
  1152 
   980 
  1153     ^(builder componentAt: #imagePreView) subViews first 
   981     ^(builder componentAt: #imagePreView) subViews first 
  1154 !
       
  1155 
       
  1156 resourceClassInputField
       
  1157 
       
  1158     ^builder componentAt: #resourceClassInputField
       
  1159 !
       
  1160 
       
  1161 resourceSelectorInputField
       
  1162 
       
  1163     ^builder componentAt: #resourceSelectorInputField
       
  1164 ! !
       
  1165 
       
  1166 !ImageEditor methodsFor:'active help'!
       
  1167 
       
  1168 defaultInfoLabel
       
  1169 
       
  1170     |usedColors|
       
  1171     self image isNil ifTrue: [^'No image loaded.'].
       
  1172     self image colorMap isNil ifTrue: [usedColors := '?'] ifFalse: [usedColors := self image usedColors size].
       
  1173     ^self image width printString, 'x',
       
  1174         self image height printString, 'x',
       
  1175         (2 raisedTo: self image depth) printString,
       
  1176         (self image mask notNil ifTrue: [' (mask + '] ifFalse: ['(']),
       
  1177         usedColors printString,
       
  1178         ' used colors)'
       
  1179 
       
  1180 ! !
   982 ! !
  1181 
   983 
  1182 !ImageEditor methodsFor:'aspects'!
   984 !ImageEditor methodsFor:'aspects'!
  1183 
   985 
  1184 imageIsLoaded
   986 imageIsLoaded
  1216         builder aspectAt:#valueOfCoordLabel put:(holder :=  ValueHolder new).
  1018         builder aspectAt:#valueOfCoordLabel put:(holder :=  ValueHolder new).
  1217     ].
  1019     ].
  1218     ^ holder
  1020     ^ holder
  1219 !
  1021 !
  1220 
  1022 
  1221 valueOfFileName
       
  1222 
       
  1223     |holder|
       
  1224     (holder := builder bindingAt:#valueOfFileName) isNil ifTrue:[
       
  1225         builder aspectAt:#valueOfFileName put:(holder :=  '' asValue).
       
  1226         holder addDependent: self
       
  1227     ].
       
  1228     ^ holder
       
  1229 !
       
  1230 
       
  1231 valueOfMagnification
  1023 valueOfMagnification
  1232 
  1024 
  1233     |holder|
  1025     |holder|
  1234     (holder := builder bindingAt:#valueOfMagnification) isNil ifTrue:[
  1026     (holder := builder bindingAt:#valueOfMagnification) isNil ifTrue:[
  1235         builder aspectAt:#valueOfMagnification put:(
  1027         builder aspectAt:#valueOfMagnification put:(
  1236         holder := AspectAdaptor new subject:self; forAspect:#magnification)
  1028         holder := AspectAdaptor new subject:self; forAspect:#magnification)
  1237     ].
       
  1238     ^ holder
       
  1239 !
       
  1240 
       
  1241 valueOfResourceClass
       
  1242 
       
  1243     |holder|
       
  1244     (holder := builder bindingAt:#valueOfResourceClass) isNil ifTrue:[
       
  1245         builder aspectAt:#valueOfResourceClass put: (holder := '' asValue).
       
  1246         holder addDependent: self
       
  1247     ].
       
  1248     ^ holder
       
  1249 !
       
  1250 
       
  1251 valueOfResourceSelector
       
  1252 
       
  1253     |holder|
       
  1254     (holder := builder bindingAt:#valueOfResourceSelector) isNil ifTrue:[
       
  1255         builder aspectAt:#valueOfResourceSelector put: (holder := '' asValue).
       
  1256         holder addDependent: self
       
  1257     ].
  1029     ].
  1258     ^ holder
  1030     ^ holder
  1259 ! !
  1031 ! !
  1260 
  1032 
  1261 !ImageEditor methodsFor:'change & update'!
  1033 !ImageEditor methodsFor:'change & update'!
  1288         ].
  1060         ].
  1289     ].
  1061     ].
  1290 
  1062 
  1291     super update:something with:aParameter from:changedObject
  1063     super update:something with:aParameter from:changedObject
  1292 
  1064 
       
  1065 ! !
       
  1066 
       
  1067 !ImageEditor methodsFor:'help'!
       
  1068 
       
  1069 defaultInfoLabel
       
  1070 
       
  1071     (self imageEditView resourceClass isSymbol and: [(Smalltalk at: self imageEditView resourceClass) isClass])
       
  1072     ifTrue:
       
  1073     [
       
  1074         ^self imageEditView resourceClass, ' >> ', self imageEditView resourceSelector
       
  1075     ].
       
  1076     ^'No class defined'
  1293 ! !
  1077 ! !
  1294 
  1078 
  1295 !ImageEditor methodsFor:'menu modes'!
  1079 !ImageEditor methodsFor:'menu modes'!
  1296 
  1080 
  1297 colorMapMode: aMode
  1081 colorMapMode: aMode
  1427 
  1211 
  1428 
  1212 
  1429 
  1213 
  1430 !
  1214 !
  1431 
  1215 
  1432 updateInputFields
       
  1433 
       
  1434     self valueOfResourceSelector removeDependent: self.
       
  1435     self valueOfResourceSelector value: self imageEditView resourceSelector.
       
  1436     self valueOfResourceSelector addDependent: self.
       
  1437 
       
  1438     self valueOfResourceClass removeDependent: self.
       
  1439     self imageEditView resourceClass notNil
       
  1440         ifTrue: [self valueOfResourceClass value: self imageEditView resourceClass]
       
  1441         ifFalse: [self valueOfResourceClass value: ''].
       
  1442     self valueOfResourceClass addDependent: self.
       
  1443 
       
  1444 !
       
  1445 
       
  1446 updateInputFieldsAndLabelsAndHistory
  1216 updateInputFieldsAndLabelsAndHistory
  1447 
  1217 
  1448     self imageIsLoaded value: self image notNil.
  1218     self imageIsLoaded value: self image notNil.
  1449 
  1219 
  1450     self image isNil ifTrue: [^nil].
  1220     self image isNil ifTrue: [^nil].
  1451 
  1221 
  1452     self updateInfoLabel.
  1222     self updateInfoLabel.
  1453 
       
  1454     self valueOfFileName removeDependent: self.
       
  1455     self valueOfFileName value: self image fileName.
       
  1456     self valueOfFileName addDependent: self.
       
  1457 
       
  1458     self updateInputFields.
       
  1459 
  1223 
  1460     self imageEditView resourceMessage asCollectionOfWords size = 2
  1224     self imageEditView resourceMessage asCollectionOfWords size = 2
  1461         ifTrue: [self addToHistory: self imageEditView resourceMessage -> #loadFromMessage:].
  1225         ifTrue: [self addToHistory: self imageEditView resourceMessage -> #loadFromMessage:].
  1462 
  1226 
  1463     self image fileName notNil
  1227     self image fileName notNil
  1514 
  1278 
  1515 open
  1279 open
  1516 
  1280 
  1517     super open.
  1281     super open.
  1518 
  1282 
  1519     self imageEditView masterApplication: self.
  1283     self imageEditView masterApplication: self
  1520 
       
  1521     self resourceClassInputField entryCompletionBlock:
       
  1522     [:value|
       
  1523         |what|
       
  1524         what := Smalltalk classnameCompletion: value withoutSpaces.
       
  1525         self resourceClassInputField contents:what first.
       
  1526         (what at:2) size ~~ 1 ifTrue:[
       
  1527             Display beep
       
  1528         ]
       
  1529     ]
       
  1530 !
  1284 !
  1531 
  1285 
  1532 postOpenWith:aBuilder
  1286 postOpenWith:aBuilder
  1533 
  1287 
  1534     self imageEditView masterApplication: self.
  1288     self imageEditView masterApplication: self.
  1767     self imageEditView print
  1521     self imageEditView print
  1768 !
  1522 !
  1769 
  1523 
  1770 saveImageFile
  1524 saveImageFile
  1771 
  1525 
  1772     self imageEditView saveImageFileAs: self fileNameInputField contents
  1526     self imageEditView save
  1773 !
  1527 !
  1774 
  1528 
  1775 saveImageFileAs
  1529 saveImageFileAs
  1776 
  1530 
  1777     self imageEditView saveImageFileAs.
  1531     self imageEditView saveImageFileAs.
  1783     self imageEditView saveImageMaskFileAs
  1537     self imageEditView saveImageMaskFileAs
  1784 !
  1538 !
  1785 
  1539 
  1786 saveMethod
  1540 saveMethod
  1787 
  1541 
  1788     (self imageEditView 
  1542     self imageEditView saveMethod notNil
  1789         resourceSelector: self resourceSelectorInputField contents;
       
  1790         resourceClass: self resourceClassInputField contents;
       
  1791         saveMethod) notNil
       
  1792     ifTrue:
  1543     ifTrue:
  1793     [
  1544     [
  1794         self updateInputFieldsAndLabelsAndHistory
  1545         self updateInputFieldsAndLabelsAndHistory
  1795     ]
  1546     ]
  1796 !
  1547 !