revised version
authortz
Tue, 24 Feb 1998 19:44:35 +0100
changeset 672 738210a2fa06
parent 671 3e3d7f168024
child 673 6039e1d88048
revised version
ImageEditor.st
--- a/ImageEditor.st	Mon Feb 23 23:53:02 1998 +0100
+++ b/ImageEditor.st	Tue Feb 24 19:44:35 1998 +0100
@@ -216,9 +216,6 @@
 #fileSaveAs
 'Opens dialog to save the image on a file.'
 
-#fileSaveFile
-'Saves current image on current file name.'
-
 #fileSaveMaskAs
 'Opens dialog to save the mask of the image on a file.'
 
@@ -228,15 +225,6 @@
 #fileSaveMethodAs
 'Opens dialog to save the image on a class and a selector.'
 
-#inputFieldFileName
-'File name of the image.'
-
-#inputFieldOfClass
-'Class implementing the image method.'
-
-#inputFieldOfSelector
-'Selector of the class returning the image.'
-
 #magnificationNumber
 'Shows current number of magnification.'
 
@@ -274,258 +262,163 @@
     ^
      
        #(#FullSpec
-          #'window:' 
+          #window: 
            #(#WindowSpec
-              #'name:' 'Image Editor'
-              #'layout:' #(#LayoutFrame 69 0 265 0 568 0 610 0)
-              #'label:' 'Image Editor'
-              #'min:' #(#Point 400 320)
-              #'max:' #(#Point 1152 900)
-              #'bounds:' #(#Rectangle 69 265 569 611)
-              #'menu:' #menu
-              #'usePreferredExtent:' false
+              #name: 'Image Editor'
+              #layout: #(#LayoutFrame 197 0 172 0 696 0 517 0)
+              #label: 'Image Editor'
+              #min: #(#Point 400 320)
+              #max: #(#Point 1152 900)
+              #bounds: #(#Rectangle 197 172 697 518)
+              #menu: #menu
+              #usePreferredExtent: false
           )
-          #'component:' 
+          #component: 
            #(#SpecCollection
-              #'collection:' 
+              #collection: 
                #(
                  #(#MenuPanelSpec
-                    #'name:' 'menuToolbarView'
-                    #'layout:' #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
-                    #'menu:' #menuToolbar
-                    #'style:' #(#FontDescription #helvetica #medium #roman 10)
-                    #'showSeparatingLines:' true
+                    #name: 'menuToolbarView'
+                    #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
+                    #menu: #menuToolbar
+                    #style: #(#FontDescription #helvetica #medium #roman 10)
+                    #showSeparatingLines: true
                 )
                  #(#VariableHorizontalPanelSpec
-                    #'name:' 'variableHorizontalPanel1'
-                    #'layout:' #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -26 1.0)
-                    #'component:' 
+                    #name: 'variableHorizontalPanel1'
+                    #layout: #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -26 1.0)
+                    #component: 
                      #(#SpecCollection
-                        #'collection:' 
+                        #collection: 
                          #(
                            #(#ViewSpec
-                              #'name:' 'view1'
-                              #'component:' 
+                              #name: 'view1'
+                              #component: 
                                #(#SpecCollection
-                                  #'collection:' 
+                                  #collection: 
                                    #(
-                                     #(#FramedBoxSpec
-                                        #'name:' 'framedBox1'
-                                        #'layout:' #(#LayoutFrame 1 0.0 3 0.0 110 0 65 0)
-                                        #'component:' 
+                                     #(#VariableVerticalPanelSpec
+                                        #name: 'VariableVerticalPanel1'
+                                        #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                                        #component: 
                                          #(#SpecCollection
-                                            #'collection:' 
+                                            #collection: 
                                              #(
-                                               #(#ArrowButtonSpec
-                                                  #'name:' 'magnifyDownButton'
-                                                  #'layout:' #(#LayoutFrame 13 0 20 0 35 0 42 0)
-                                                  #'activeHelpKey:' #magnifyImageDown
-                                                  #'model:' #magnifyDown
-                                                  #'enableChannel:' #imageIsLoaded
-                                                  #'isTriggerOnDown:' true
-                                                  #'direction:' #left
+                                               #(#ArbitraryComponentSpec
+                                                  #name: 'imagePreView'
+                                                  #activeHelpKey: #previewView
+                                                  #hasHorizontalScrollBar: true
+                                                  #hasVerticalScrollBar: true
+                                                  #miniScrollerHorizontal: true
+                                                  #miniScrollerVertical: true
+                                                  #component: #ImageView
+                                                  #hasBorder: true
                                               )
-                                               #(#ArrowButtonSpec
-                                                  #'name:' 'magnifyUpButton'
-                                                  #'layout:' #(#LayoutFrame 73 0 20 0 95 0 42 0)
-                                                  #'activeHelpKey:' #magnifyImageUp
-                                                  #'model:' #magnifyUp
-                                                  #'enableChannel:' #imageIsLoaded
-                                                  #'isTriggerOnDown:' true
-                                                  #'direction:' #right
-                                              )
-                                               #(#InputFieldSpec
-                                                  #'name:' 'magnificationInputField'
-                                                  #'layout:' #(#LayoutFrame 36 0 20 0.0 72 0 42 0)
-                                                  #'activeHelpKey:' #magnificationNumber
-                                                  #'enableChannel:' #imageIsLoaded
-                                                  #'model:' #valueOfMagnification
-                                                  #'type:' #number
-                                                  #'acceptOnReturn:' false
-                                                  #'acceptOnTab:' false
-                                                  #'numChars:' 2
+                                               #(#DataSetSpec
+                                                  #name: 'colorDataSetView'
+                                                  #activeHelpKey: #colorMapTable
+                                                  #model: #selectionOfColor
+                                                  #style: #(#FontDescription #helvetica #medium #roman 10)
+                                                  #hasHorizontalScrollBar: true
+                                                  #hasVerticalScrollBar: true
+                                                  #miniScrollerHorizontal: true
+                                                  #miniScrollerVertical: true
+                                                  #dataList: #listOfColors
+                                                  #level: -1
+                                                  #has3Dsepartors: true
+                                                  #verticalSpacing: 1
+                                                  #columns: 
+                                                   #(
+                                                     #(#DataSetColumnSpec
+                                                        #rendererType: #rowSelector
+                                                        #backgroundSelector: #yourself
+                                                    )
+                                                     #(#DataSetColumnSpec
+                                                        #label: 'R'
+                                                        #model: #rowRedByte
+                                                        #canSelect: false
+                                                    )
+                                                     #(#DataSetColumnSpec
+                                                        #label: 'G'
+                                                        #model: #rowGreenByte
+                                                        #canSelect: false
+                                                    )
+                                                     #(#DataSetColumnSpec
+                                                        #label: 'B'
+                                                        #model: #rowBlueByte
+                                                        #canSelect: false
+                                                    )
+                                                  )
                                               )
                                             )
                                         )
-                                        #'label:' 'Magnification'
-                                        #'labelPosition:' #topLeft
-                                        #'style:' #(#FontDescription #helvetica #medium #roman 12)
-                                    )
-                                     #(#ArbitraryComponentSpec
-                                        #'name:' 'imagePreView'
-                                        #'layout:' #(#LayoutFrame 111 0.0 9 0.0 -6 1 60 0)
-                                        #'activeHelpKey:' #previewView
-                                        #'hasHorizontalScrollBar:' true
-                                        #'hasVerticalScrollBar:' true
-                                        #'miniScrollerHorizontal:' true
-                                        #'miniScrollerVertical:' true
-                                        #'component:' #ImageView
-                                        #'hasBorder:' true
-                                    )
-                                     #(#FramedBoxSpec
-                                        #'name:' 'framedBox2'
-                                        #'layout:' #(#LayoutFrame 1 0.0 68 0 0 1.0 -66 1)
-                                        #'component:' 
-                                         #(#SpecCollection
-                                            #'collection:' 
-                                             #(
-                                               #(#DataSetSpec
-                                                  #'name:' 'colorDataSetView'
-                                                  #'layout:' #(#LayoutFrame 11 0.0 19 0.0 20 1.0 -10 1.0)
-                                                  #'activeHelpKey:' #colorMapTable
-                                                  #'model:' #selectionOfColor
-                                                  #'style:' #(#FontDescription #helvetica #medium #roman 12)
-                                                  #'hasHorizontalScrollBar:' true
-                                                  #'hasVerticalScrollBar:' true
-                                                  #'miniScrollerHorizontal:' true
-                                                  #'miniScrollerVertical:' true
-                                                  #'dataList:' #listOfColors
-                                                  #'level:' -1
-                                                  #'has3Dsepartors:' true
-                                                  #'verticalSpacing:' 1
-                                                  #'columns:' 
-                                                   #(
-                                                     #(#DataSetColumnSpec
-                                                        #'rendererType:' #rowSelector
-                                                        #'backgroundSelector:' #yourself
-                                                    )
-                                                     #(#DataSetColumnSpec
-                                                        #'label:' 'Red'
-                                                        #'model:' #rowRedByte
-                                                        #'canSelect:' false
-                                                    )
-                                                     #(#DataSetColumnSpec
-                                                        #'label:' 'Green'
-                                                        #'model:' #rowGreenByte
-                                                        #'canSelect:' false
-                                                    )
-                                                     #(#DataSetColumnSpec
-                                                        #'label:' 'Blue'
-                                                        #'model:' #rowBlueByte
-                                                        #'canSelect:' false
-                                                    )
-                                                  )
-                                              )
-                                               #(#MenuPanelSpec
-                                                  #'name:' 'menuColorAssignmentPanel'
-                                                  #'layout:' #(#LayoutFrame 11 0 -10 1 18 1 17 1)
-                                                  #'activeHelpKey:' #mouseKeyColorMode
-                                                  #'enableChannel:' #imageIsLoaded
-                                                  #'menu:' #menuColorAssignment
-                                                  #'style:' #(#FontDescription #helvetica #medium #roman 10)
-                                              )
-                                            )
-                                        )
-                                        #'label:' 'Color Map'
-                                        #'labelPosition:' #topLeft
-                                        #'style:' #(#FontDescription #helvetica #medium #roman 12)
-                                    )
-                                     #(#VerticalPanelViewSpec
-                                        #'name:' 'verticalPanelView1'
-                                        #'layout:' #(#LayoutFrame 1 0.0 -68 1 83 0 0 1.0)
-                                        #'component:' 
-                                         #(#SpecCollection
-                                            #'collection:' 
-                                             #(
-                                               #(#LabelSpec
-                                                  #'name:' 'classNameLabel'
-                                                  #'label:' 'Class:'
-                                                  #'adjust:' #right
-                                                  #'extent:' #(#Point 82 21)
-                                              )
-                                               #(#LabelSpec
-                                                  #'name:' 'selectorLabel'
-                                                  #'label:' 'Selector:'
-                                                  #'adjust:' #right
-                                                  #'extent:' #(#Point 82 20)
-                                              )
-                                               #(#LabelSpec
-                                                  #'name:' 'fileNameLabel'
-                                                  #'label:' 'File Name:'
-                                                  #'adjust:' #right
-                                                  #'extent:' #(#Point 82 21)
-                                              )
-                                            )
-                                        )
-                                        #'horizontalLayout:' #fit
-                                        #'verticalLayout:' #fit
-                                        #'horizontalSpace:' 3
-                                        #'verticalSpace:' 3
-                                    )
-                                     #(#VerticalPanelViewSpec
-                                        #'name:' 'verticalPanelView2'
-                                        #'layout:' #(#LayoutFrame 85 0.0 -68 1 -6 1 0 1.0)
-                                        #'component:' 
-                                         #(#SpecCollection
-                                            #'collection:' 
-                                             #(
-                                               #(#InputFieldSpec
-                                                  #'name:' 'resourceClassInputField'
-                                                  #'activeHelpKey:' #inputFieldOfClass
-                                                  #'model:' #valueOfResourceClass
-                                                  #'immediateAccept:' false
-                                                  #'extent:' #(#Point 107 21)
-                                              )
-                                               #(#InputFieldSpec
-                                                  #'name:' 'resourceSelectorInputField'
-                                                  #'activeHelpKey:' #inputFieldOfSelector
-                                                  #'model:' #valueOfResourceSelector
-                                                  #'immediateAccept:' false
-                                                  #'acceptOnTab:' false
-                                                  #'extent:' #(#Point 107 20)
-                                              )
-                                               #(#InputFieldSpec
-                                                  #'name:' 'fileNameInputField'
-                                                  #'activeHelpKey:' #inputFieldFileName
-                                                  #'model:' #valueOfFileName
-                                                  #'immediateAccept:' false
-                                                  #'acceptOnTab:' false
-                                                  #'extent:' #(#Point 107 21)
-                                              )
-                                            )
-                                        )
-                                        #'horizontalLayout:' #fit
-                                        #'verticalLayout:' #fit
-                                        #'horizontalSpace:' 3
-                                        #'verticalSpace:' 3
+                                        #handles: #(#Any 0.285211 1.0)
                                     )
                                   )
                               )
-                              #'level:' -1
                           )
                            #(#ViewSpec
-                              #'name:' 'view2'
-                              #'component:' 
+                              #name: 'view2'
+                              #component: 
                                #(#SpecCollection
-                                  #'collection:' 
+                                  #collection: 
                                    #(
                                      #(#ArbitraryComponentSpec
-                                        #'name:' 'imageEditView'
-                                        #'layout:' #(#LayoutFrame 2 0.0 2 0.0 -2 1.0 -24 1.0)
-                                        #'hasHorizontalScrollBar:' true
-                                        #'hasVerticalScrollBar:' true
-                                        #'component:' #ImageEditView
-                                        #'hasBorder:' false
+                                        #name: 'imageEditView'
+                                        #layout: #(#LayoutFrame 2 0.0 2 0.0 -2 1.0 -24 1.0)
+                                        #hasHorizontalScrollBar: true
+                                        #hasVerticalScrollBar: true
+                                        #component: #ImageEditView
+                                        #hasBorder: false
                                     )
                                      #(#LabelSpec
-                                        #'name:' 'coordLabel'
-                                        #'layout:' #(#LayoutFrame 2 0.0 -22 1 -4 1.0 0 1.0)
-                                        #'level:' -1
-                                        #'adjust:' #left
+                                        #name: 'coordLabel'
+                                        #layout: #(#LayoutFrame 2 0.0 -22 1 -83 1.0 0 1.0)
+                                        #level: -1
+                                        #adjust: #left
+                                    )
+                                     #(#ArrowButtonSpec
+                                        #name: 'magnifyDownButton'
+                                        #layout: #(#LayoutFrame -80 1 -22 1 -58 1 0 1)
+                                        #activeHelpKey: #magnifyImageDown
+                                        #model: #magnifyDown
+                                        #enableChannel: #imageIsLoaded
+                                        #isTriggerOnDown: true
+                                        #direction: #left
+                                    )
+                                     #(#ArrowButtonSpec
+                                        #name: 'magnifyUpButton'
+                                        #layout: #(#LayoutFrame -24 1 -22 1 -2 1 0 1)
+                                        #activeHelpKey: #magnifyImageUp
+                                        #model: #magnifyUp
+                                        #enableChannel: #imageIsLoaded
+                                        #isTriggerOnDown: true
+                                        #direction: #right
+                                    )
+                                     #(#InputFieldSpec
+                                        #name: 'magnificationInputField'
+                                        #layout: #(#LayoutFrame -57 1 -22 1 -26 1 0 1)
+                                        #activeHelpKey: #magnificationNumber
+                                        #enableChannel: #imageIsLoaded
+                                        #model: #valueOfMagnification
+                                        #type: #number
+                                        #acceptOnReturn: false
+                                        #acceptOnTab: false
+                                        #numChars: 2
                                     )
                                   )
                               )
-                              #'level:' -1
+                              #level: -1
                           )
                         )
                     )
-                    #'handles:' #(#Any 0.404 1.0)
+                    #handles: #(#Any 0.286 1.0)
                 )
                  #(#UISubSpecification
-                    #'name:' 'infoBarSubSpec'
-                    #'layout:' #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
-                    #'majorKey:' #ToolApplicationModel
-                    #'minorKey:' #windowSpecForInfoBarWithClock
+                    #name: 'infoBarSubSpec'
+                    #layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
+                    #majorKey: #ToolApplicationModel
+                    #minorKey: #windowSpecForInfoBarWithClock
                 )
               )
           )
@@ -548,97 +441,76 @@
     ^
      
        #(#FullSpec
-          #'window:' 
+          #window: 
            #(#WindowSpec
-              #'name:' 'New Image'
-              #'layout:' #(#LayoutFrame 194 0 152 0 461 0 248 0)
-              #'label:' 'New Image'
-              #'min:' #(#Point 10 10)
-              #'max:' #(#Point 1152 900)
-              #'bounds:' #(#Rectangle 194 152 462 249)
-              #'usePreferredExtent:' false
+              #name: 'New Image'
+              #layout: #(#LayoutFrame 197 0 172 0 497 0 276 0)
+              #label: 'New Image'
+              #min: #(#Point 10 10)
+              #max: #(#Point 1152 900)
+              #bounds: #(#Rectangle 197 172 498 277)
+              #usePreferredExtent: false
           )
-          #'component:' 
+          #component: 
            #(#SpecCollection
-              #'collection:' 
+              #collection: 
                #(
                  #(#ViewSpec
-                    #'name:' 'View'
-                    #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -38 1.0)
-                    #'component:' 
+                    #name: 'View'
+                    #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -37 1.0)
+                    #component: 
                      #(#SpecCollection
-                        #'collection:' 
+                        #collection: 
                          #(
                            #(#FramedBoxSpec
-                              #'name:' 'framedBox1'
-                              #'layout:' #(#LayoutFrame 1 0.0 1 0.0 0 0.4 55 0)
-                              #'component:' 
+                              #name: 'framedBox1'
+                              #layout: #(#LayoutFrame 1 0.0 1 0.0 0 0.4 60 0)
+                              #component: 
                                #(#SpecCollection
-                                  #'collection:' 
+                                  #collection: 
                                    #(
                                      #(#ComboBoxSpec
-                                        #'name:' 'defaultSizesComboBox'
-                                        #'layout:' #(#LayoutFrame 15 0.0 16 0.0 15 1.0 16 1.0)
-                                        #'model:' #selectionOfSize
-                                        #'type:' #string
-                                        #'comboList:' #listOfDefaultSizes
+                                        #name: 'defaultSizesComboBox'
+                                        #layout: #(#LayoutFrame 15 0.0 20 0.0 17 1.0 16 1.0)
+                                        #model: #selectionOfSize
+                                        #type: #string
+                                        #comboList: #listOfDefaultSizes
                                     )
                                   )
                               )
-                              #'label:' 'Size'
-                              #'labelPosition:' #topLeft
-                              #'style:' #(#FontDescription #helvetica #medium #roman 12)
+                              #label: 'Size'
+                              #labelPosition: #topLeft
+                              #style: #(#FontDescription #helvetica #medium #roman 12)
                           )
                            #(#FramedBoxSpec
-                              #'name:' 'framedBox2'
-                              #'layout:' #(#LayoutFrame 0 0.4 1 0.0 -1 1.0 55 0)
-                              #'component:' 
+                              #name: 'framedBox2'
+                              #layout: #(#LayoutFrame 0 0.4 1 0.0 -1 1.0 60 0)
+                              #component: 
                                #(#SpecCollection
-                                  #'collection:' 
+                                  #collection: 
                                    #(
                                      #(#ComboListSpec
-                                        #'name:' 'colorMapComboBox'
-                                        #'layout:' #(#LayoutFrame 15 0.0 16 0.0 15 1.0 16 1.0)
-                                        #'model:' #selectionOfColorMap
-                                        #'comboList:' #listOfColorMaps
-                                        #'useIndex:' false
+                                        #name: 'colorMapComboBox'
+                                        #layout: #(#LayoutFrame 15 0.0 20 0.0 18 1.0 16 1.0)
+                                        #model: #selectionOfColorMap
+                                        #comboList: #listOfColorMaps
+                                        #useIndex: false
                                     )
                                   )
                               )
-                              #'label:' 'Color Map'
-                              #'labelPosition:' #topLeft
-                              #'style:' #(#FontDescription #helvetica #medium #roman 12)
+                              #label: 'Color Map'
+                              #labelPosition: #topLeft
+                              #style: #(#FontDescription #helvetica #medium #roman 12)
                           )
                         )
                     )
-                    #'level:' 1
+                    #level: 1
                 )
-                 #(#HorizontalPanelViewSpec
-                    #'name:' 'horizontalPanelView1'
-                    #'layout:' #(#LayoutFrame 0 0.0 -38 1 0 1.0 0 1.0)
-                    #'component:' 
-                     #(#SpecCollection
-                        #'collection:' 
-                         #(
-                           #(#ActionButtonSpec
-                              #'name:' 'actionButton2'
-                              #'label:' 'Cancel'
-                              #'model:' #cancel
-                              #'extent:' #(#Point 100 22)
-                          )
-                           #(#ActionButtonSpec
-                              #'name:' 'actionButton1'
-                              #'label:' 'OK'
-                              #'model:' #accept
-                              #'isDefault:' true
-                              #'extent:' #(#Point 100 22)
-                          )
-                        )
-                    )
-                    #'horizontalLayout:' #center
-                    #'verticalLayout:' #center
-                    #'horizontalSpace:' 2
-                    #'verticalSpace:' 1
+                 #(#UISubSpecification
+                    #name: 'UISubSpecification1'
+                    #layout: #(#LayoutFrame 0 0.0 -30 1 0 1.0 -6 1.0)
+                    #majorKey: #ToolApplicationModel
+                    #minorKey: #windowSpecForCommitWithoutChannels
                 )
               )
           )
@@ -666,234 +538,249 @@
           
            #(
              #(#MenuItem
-                #'label:' 'About'
-                #'activeHelpKey:' #about
-                #'labelImage:' #(#ResourceRetriever nil #menuIcon)
-                #'submenuChannel:' #menuAbout
+                #label: 'About'
+                #activeHelpKey: #about
+                #labelImage: #(#ResourceRetriever nil #menuIcon)
+                #submenuChannel: #menuAbout
             )
              #(#MenuItem
-                #'label:' 'File'
-                #'translateLabel:' true
-                #'activeHelpKey:' #file
-                #'submenu:' 
+                #label: 'File'
+                #translateLabel: true
+                #activeHelpKey: #file
+                #submenu: 
                  #(#Menu
                     
                      #(
                        #(#MenuItem
-                          #'label:' 'New...'
-                          #'value:' #newImage
-                          #'activeHelpKey:' #fileNewImage
-                      )
-                       #(#MenuItem
-                          #'label:' '-'
+                          #label: 'New...'
+                          #value: #newImage
+                          #activeHelpKey: #fileNewImage
                       )
                        #(#MenuItem
-                          #'label:' 'Load From File...'
-                          #'value:' #loadFromFile
-                          #'activeHelpKey:' #fileLoadFromFile
+                          #label: '-'
                       )
                        #(#MenuItem
-                          #'label:' 'Load From Class...'
-                          #'value:' #loadFromClass
-                          #'activeHelpKey:' #fileLoadFromClass
+                          #label: 'Load...'
+                          #value: #loadFromClass
+                          #activeHelpKey: #fileLoadFromClass
                       )
                        #(#MenuItem
-                          #'label:' '-'
+                          #label: 'Load From File...'
+                          #value: #loadFromFile
+                          #activeHelpKey: #fileLoadFromFile
                       )
                        #(#MenuItem
-                          #'label:' 'Save'
-                          #'value:' #saveImageFile
-                          #'activeHelpKey:' #fileSaveFile
-                          #'enabled:' #imageIsLoaded
+                          #label: '-'
                       )
                        #(#MenuItem
-                          #'label:' 'Save As...'
-                          #'value:' #saveImageFileAs
-                          #'activeHelpKey:' #fileSaveAs
-                          #'enabled:' #imageIsLoaded
+                          #label: 'Save'
+                          #value: #saveMethod
+                          #activeHelpKey: #fileSaveMethod
+                          #enabled: #imageIsLoaded
                       )
                        #(#MenuItem
-                          #'label:' 'Save Mask As...'
-                          #'value:' #saveImageMaskFileAs
-                          #'activeHelpKey:' #fileSaveMaskAs
-                          #'enabled:' #imageIsLoaded
+                          #label: 'Save As...'
+                          #value: #saveMethodAs
+                          #activeHelpKey: #fileSaveMethodAs
+                          #enabled: #imageIsLoaded
+                      )
+                       #(#MenuItem
+                          #label: '-'
                       )
                        #(#MenuItem
-                          #'label:' '-'
+                          #label: 'Save To File...'
+                          #value: #saveImageFileAs
+                          #activeHelpKey: #fileSaveAs
+                          #enabled: #imageIsLoaded
                       )
                        #(#MenuItem
-                          #'label:' 'Save Method'
-                          #'value:' #saveMethod
-                          #'activeHelpKey:' #fileSaveMethod
-                          #'enabled:' #imageIsLoaded
+                          #label: 'Save Mask To File...'
+                          #value: #saveImageMaskFileAs
+                          #activeHelpKey: #fileSaveMaskAs
+                          #enabled: #imageIsLoaded
                       )
                        #(#MenuItem
-                          #'label:' 'Save Method As...'
-                          #'value:' #saveMethodAs
-                          #'activeHelpKey:' #fileSaveMethodAs
-                          #'enabled:' #imageIsLoaded
-                      )
-                       #(#MenuItem
-                          #'label:' '-'
+                          #label: '-'
                       )
                        #(#MenuItem
-                          #'label:' 'Print'
-                          #'value:' #print
-                          #'activeHelpKey:' #filePrint
-                          #'enabled:' #imageIsLoaded
+                          #label: 'Print'
+                          #value: #print
+                          #activeHelpKey: #filePrint
+                          #enabled: #imageIsLoaded
                       )
                        #(#MenuItem
-                          #'label:' '-'
+                          #label: '-'
                       )
                        #(#MenuItem
-                          #'label:' 'Browse Image Class'
-                          #'value:' #browseClass
-                          #'activeHelpKey:' #fileBrowseClass
-                          #'enabled:' #imageIsLoaded
+                          #label: 'Browse Class'
+                          #value: #browseClass
+                          #activeHelpKey: #fileBrowseClass
+                          #enabled: #imageIsLoaded
                       )
                        #(#MenuItem
-                          #'label:' '-'
+                          #label: '-'
                       )
                        #(#MenuItem
-                          #'label:' 'Exit'
-                          #'translateLabel:' true
-                          #'value:' #closeRequest
-                          #'activeHelpKey:' #fileExit
+                          #label: 'Exit'
+                          #translateLabel: true
+                          #value: #closeRequest
+                          #activeHelpKey: #fileExit
                       )
                     ) nil
                     nil
                 )
             )
              #(#MenuItem
-                #'label:' 'Edit'
-                #'activeHelpKey:' #edit
-                #'enabled:' #imageIsLoaded
-                #'submenu:' 
+                #label: 'Edit'
+                #activeHelpKey: #edit
+                #enabled: #imageIsLoaded
+                #submenu: 
                  #(#Menu
                     
                      #(
                        #(#MenuItem
-                          #'label:' 'Undo'
-                          #'value:' #undo
-                          #'activeHelpKey:' #editUndo
-                          #'enabled:' #valueOfCanUndo
+                          #label: 'Undo'
+                          #value: #undo
+                          #activeHelpKey: #editUndo
+                          #enabled: #valueOfCanUndo
                       )
                        #(#MenuItem
-                          #'label:' '-'
+                          #label: '-'
                       )
                        #(#MenuItem
-                          #'label:' 'Flip - Vertical'
-                          #'value:' #flipVertical
-                          #'activeHelpKey:' #editFlipVertical
+                          #label: 'Flip - Vertical'
+                          #value: #flipVertical
+                          #activeHelpKey: #editFlipVertical
                       )
                        #(#MenuItem
-                          #'label:' 'Flip - Horizontal'
-                          #'value:' #flipHorizontal
-                          #'activeHelpKey:' #editFlipHorizontal
+                          #label: 'Flip - Horizontal'
+                          #value: #flipHorizontal
+                          #activeHelpKey: #editFlipHorizontal
                       )
                        #(#MenuItem
-                          #'label:' '-'
+                          #label: '-'
                       )
                        #(#MenuItem
-                          #'label:' 'Resize...'
-                          #'value:' #resizeImage
-                          #'activeHelpKey:' #editResize
+                          #label: 'Resize...'
+                          #value: #resizeImage
+                          #activeHelpKey: #editResize
                       )
                        #(#MenuItem
-                          #'label:' 'Magnify...'
-                          #'value:' #magnifyImage
-                          #'activeHelpKey:' #editMagnifyImage
+                          #label: 'Magnify...'
+                          #value: #magnifyImage
+                          #activeHelpKey: #editMagnifyImage
                       )
                        #(#MenuItem
-                          #'label:' 'Rotate...'
-                          #'value:' #rotateImage
-                          #'activeHelpKey:' #editRotate
+                          #label: 'Rotate...'
+                          #value: #rotateImage
+                          #activeHelpKey: #editRotate
                       )
                        #(#MenuItem
-                          #'label:' '-'
+                          #label: '-'
                       )
                        #(#MenuItem
-                          #'label:' 'Negative'
-                          #'value:' #negativeImage
-                          #'activeHelpKey:' #editNegate
+                          #label: 'Negative'
+                          #value: #negativeImage
+                          #activeHelpKey: #editNegate
                       )
                     ) nil
                     nil
                 )
             )
              #(#MenuItem
-                #'label:' 'Color Map'
-                #'activeHelpKey:' #colorMap
-                #'enabled:' #imageIsLoaded
-                #'submenu:' 
+                #label: 'Color Map'
+                #activeHelpKey: #colorMap
+                #enabled: #imageIsLoaded
+                #submenu: 
                  #(#Menu
                     
                      #(
                        #(#MenuItem
-                          #'label:' '8-Plane'
-                          #'activeHelpKey:' #colorMap
-                          #'argument:' '8-plane'
-                          #'indication:' #'colorMapMode:value:'
+                          #label: '8-Plane'
+                          #activeHelpKey: #colorMap
+                          #argument: '8-plane'
+                          #indication: #colorMapMode:value:
+                      )
+                       #(#MenuItem
+                          #label: '4-Plane'
+                          #activeHelpKey: #colorMap
+                          #argument: '4-plane'
+                          #indication: #colorMapMode:value:
                       )
                        #(#MenuItem
-                          #'label:' '4-Plane'
-                          #'activeHelpKey:' #colorMap
-                          #'argument:' '4-plane'
-                          #'indication:' #'colorMapMode:value:'
+                          #label: '2-Plane'
+                          #activeHelpKey: #colorMap
+                          #argument: '2-plane'
+                          #indication: #colorMapMode:value:
                       )
                        #(#MenuItem
-                          #'label:' '2-Plane'
-                          #'activeHelpKey:' #colorMap
-                          #'argument:' '2-plane'
-                          #'indication:' #'colorMapMode:value:'
+                          #label: '1-Plane'
+                          #activeHelpKey: #colorMap
+                          #argument: '1-plane'
+                          #indication: #colorMapMode:value:
                       )
                        #(#MenuItem
-                          #'label:' '1-Plane'
-                          #'activeHelpKey:' #colorMap
-                          #'argument:' '1-plane'
-                          #'indication:' #'colorMapMode:value:'
+                          #label: '-'
+                      )
+                       #(#MenuItem
+                          #label: '8-Plane + Mask'
+                          #activeHelpKey: #colorMap
+                          #argument: '8-plane + mask'
+                          #indication: #colorMapMode:value:
                       )
                        #(#MenuItem
-                          #'label:' '-'
+                          #label: '4-Plane + Mask'
+                          #activeHelpKey: #colorMap
+                          #argument: '4-plane + mask'
+                          #indication: #colorMapMode:value:
                       )
                        #(#MenuItem
-                          #'label:' '8-Plane + Mask'
-                          #'activeHelpKey:' #colorMap
-                          #'argument:' '8-plane + mask'
-                          #'indication:' #'colorMapMode:value:'
+                          #label: '2-Plane + Mask'
+                          #activeHelpKey: #colorMap
+                          #argument: '2-plane + mask'
+                          #indication: #colorMapMode:value:
+                      )
+                       #(#MenuItem
+                          #label: '1-Plane + Mask'
+                          #activeHelpKey: #colorMap
+                          #argument: '1-plane + mask'
+                          #indication: #colorMapMode:value:
                       )
                        #(#MenuItem
-                          #'label:' '4-Plane + Mask'
-                          #'activeHelpKey:' #colorMap
-                          #'argument:' '4-plane + mask'
-                          #'indication:' #'colorMapMode:value:'
+                          #label: '-'
                       )
                        #(#MenuItem
-                          #'label:' '2-Plane + Mask'
-                          #'activeHelpKey:' #colorMap
-                          #'argument:' '2-plane + mask'
-                          #'indication:' #'colorMapMode:value:'
+                          #label: 'Left Mouse Button'
+                          #nameKey: #leftMouseKeyButton
+                          #value: #'Left Mouse Button'
+                          #activeHelpKey: #mouseKeyColorMode
+                          #argument: '1'
+                          #labelImage: #(#ResourceRetriever nil #leftMouseKeyIcon 'Left Mouse Button')
+                          #indication: #mouseKeyColorMode:value:
                       )
                        #(#MenuItem
-                          #'label:' '1-Plane + Mask'
-                          #'activeHelpKey:' #colorMap
-                          #'argument:' '1-plane + mask'
-                          #'indication:' #'colorMapMode:value:'
+                          #label: 'Right Mouse Button'
+                          #nameKey: #rightMouseKeyButton
+                          #value: #'Right Mouse Button'
+                          #activeHelpKey: #mouseKeyColorMode
+                          #argument: '2'
+                          #labelImage: #(#ResourceRetriever nil #rightMouseKeyIcon 'Right Mouse Button')
+                          #indication: #mouseKeyColorMode:value:
                       )
                     ) nil
                     nil
                 )
             )
              #(#MenuItem
-                #'label:' 'History'
-                #'activeHelpKey:' #history
-                #'submenuChannel:' #menuHistory
+                #label: 'History'
+                #activeHelpKey: #history
+                #submenuChannel: #menuHistory
             )
              #(#MenuItem
-                #'label:' 'Help'
-                #'startGroup:' #right
-                #'activeHelpKey:' #help
-                #'submenuChannel:' #menuHelp
+                #label: 'Help'
+                #startGroup: #right
+                #activeHelpKey: #help
+                #submenuChannel: #menuHelp
             )
           ) nil
           nil
@@ -956,89 +843,83 @@
           
            #(
              #(#MenuItem
-                #'label:' 'newImage'
-                #'isButton:' true
-                #'value:' #newImage
-                #'activeHelpKey:' #fileNewImage
-                #'labelImage:' #(#ResourceRetriever nil #newImageIcon)
+                #label: 'newImage'
+                #isButton: true
+                #value: #newImage
+                #activeHelpKey: #fileNewImage
+                #labelImage: #(#ResourceRetriever nil #newIcon)
             )
              #(#MenuItem
-                #'label:' 'loadFromClass'
-                #'isButton:' true
-                #'value:' #loadFromClass
-                #'activeHelpKey:' #fileLoadFromClass
-                #'labelImage:' #(#ResourceRetriever nil #loadFromClassIcon)
+                #label: 'loadFromClass'
+                #isButton: true
+                #value: #loadFromClass
+                #activeHelpKey: #fileLoadFromClass
+                #labelImage: #(#ResourceRetriever nil #loadIcon)
+            )
+             #(#MenuItem
+                #label: ''
             )
              #(#MenuItem
-                #'label:' 'loadFromFile'
-                #'isButton:' true
-                #'value:' #loadFromFile
-                #'activeHelpKey:' #fileLoadFromFile
-                #'labelImage:' #(#ResourceRetriever nil #loadFromFileIcon)
-            )
-             #(#MenuItem
-                #'label:' ''
+                #label: 'saveMethod'
+                #isButton: true
+                #value: #saveMethod
+                #activeHelpKey: #fileSaveMethod
+                #enabled: #imageIsLoaded
+                #labelImage: #(#ResourceRetriever nil #saveIcon)
             )
              #(#MenuItem
-                #'label:' 'saveMethod'
-                #'isButton:' true
-                #'value:' #saveMethod
-                #'activeHelpKey:' #fileSaveMethod
-                #'enabled:' #imageIsLoaded
-                #'labelImage:' #(#ResourceRetriever nil #saveAsMethodIcon)
+                #label: ''
             )
              #(#MenuItem
-                #'label:' 'saveFile'
-                #'isButton:' true
-                #'value:' #saveImageFile
-                #'activeHelpKey:' #fileSaveFile
-                #'enabled:' #imageIsLoaded
-                #'labelImage:' #(#ResourceRetriever nil #saveIcon)
+                #label: ''
+            )
+             #(#MenuItem
+                #label: ''
+            )
+             #(#MenuItem
+                #label: ''
             )
              #(#MenuItem
-                #'label:' ''
+                #label: 'Point'
+                #activeHelpKey: #drawModePoint
+                #enabled: #imageIsLoaded
+                #argument: 'point'
+                #indication: #editMode:value:
             )
              #(#MenuItem
-                #'label:' 'Point'
-                #'activeHelpKey:' #drawModePoint
-                #'enabled:' #imageIsLoaded
-                #'argument:' 'point'
-                #'indication:' #'editMode:value:'
-            )
-             #(#MenuItem
-                #'label:' 'Box'
-                #'activeHelpKey:' #drawModeBox
-                #'enabled:' #imageIsLoaded
-                #'argument:' 'box'
-                #'indication:' #'editMode:value:'
+                #label: 'Box'
+                #activeHelpKey: #drawModeBox
+                #enabled: #imageIsLoaded
+                #argument: 'box'
+                #indication: #editMode:value:
             )
              #(#MenuItem
-                #'label:' 'Filled Box'
-                #'activeHelpKey:' #drawModeFilledBox
-                #'enabled:' #imageIsLoaded
-                #'argument:' 'filledBox'
-                #'indication:' #'editMode:value:'
+                #label: 'Filled Box'
+                #activeHelpKey: #drawModeFilledBox
+                #enabled: #imageIsLoaded
+                #argument: 'filledBox'
+                #indication: #editMode:value:
             )
              #(#MenuItem
-                #'label:' 'Fill'
-                #'activeHelpKey:' #drawModeFill
-                #'enabled:' #imageIsLoaded
-                #'argument:' 'fill'
-                #'indication:' #'editMode:value:'
+                #label: 'Fill'
+                #activeHelpKey: #drawModeFill
+                #enabled: #imageIsLoaded
+                #argument: 'fill'
+                #indication: #editMode:value:
             )
              #(#MenuItem
-                #'label:' 'Copy'
-                #'activeHelpKey:' #drawModeCopy
-                #'enabled:' #imageIsLoaded
-                #'argument:' 'copy'
-                #'indication:' #'editMode:value:'
+                #label: 'Copy'
+                #activeHelpKey: #drawModeCopy
+                #enabled: #imageIsLoaded
+                #argument: 'copy'
+                #indication: #editMode:value:
             )
              #(#MenuItem
-                #'label:' 'Paste'
-                #'activeHelpKey:' #drawModePaste
-                #'enabled:' #imageIsLoaded
-                #'argument:' 'paste'
-                #'indication:' #'editMode:value:'
+                #label: 'Paste'
+                #activeHelpKey: #drawModePaste
+                #enabled: #imageIsLoaded
+                #argument: 'paste'
+                #indication: #editMode:value:
             )
           ) nil
           nil
@@ -1057,43 +938,7 @@
 
     ^Icon
         constantNamed:#'ImageEditor leftMouseKeyIcon'
-        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]!
-
-loadFromClassIcon
-    "Generated by the Image Editor"
-    "
-    ImageEditor openOnClass:self andSelector:#loadFromClassIcon
-    "
-
-    <resource: #image>
-
-    ^Icon
-        constantNamed:#'ImageEditor loadFromClassIcon'
-        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]!
-
-loadFromFileIcon
-    "Generated by the Image Editor"
-    "
-    ImageEditor openOnClass:self andSelector:#loadFromFileIcon
-    "
-
-    <resource: #image>
-
-    ^Icon
-        constantNamed:#'ImageEditor loadFromFileIcon'
-        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]!
-
-newImageIcon
-    "Generated by the Image Editor"
-    "
-    ImageEditor openOnClass:self andSelector:#newImageIcon
-    "
-
-    <resource: #image>
-
-    ^Icon
-        constantNamed:#'ImageEditor newImageIcon'
-        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]!
+        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]!
 
 rightMouseKeyIcon
     "Generated by the Image Editor"
@@ -1105,19 +950,7 @@
 
     ^Icon
         constantNamed:#'ImageEditor rightMouseKeyIcon'
-        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]!
-
-saveAsMethodIcon
-    "Generated by the Image Editor"
-    "
-    ImageEditor openOnClass:self andSelector:#saveAsMethodIcon
-    "
-
-    <resource: #image>
-
-    ^Icon
-        constantNamed:#'ImageEditor saveAsMethodIcon'
-        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]! !
+        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]! !
 
 !ImageEditor methodsFor:'accessing'!
 
@@ -1138,11 +971,6 @@
     ^builder componentAt: #coordLabel
 !
 
-fileNameInputField
-
-    ^builder componentAt: #fileNameInputField
-!
-
 imageEditView
 
     ^(builder componentAt: #imageEditView) subViews first 
@@ -1151,32 +979,6 @@
 imagePreView
 
     ^(builder componentAt: #imagePreView) subViews first 
-!
-
-resourceClassInputField
-
-    ^builder componentAt: #resourceClassInputField
-!
-
-resourceSelectorInputField
-
-    ^builder componentAt: #resourceSelectorInputField
-! !
-
-!ImageEditor methodsFor:'active help'!
-
-defaultInfoLabel
-
-    |usedColors|
-    self image isNil ifTrue: [^'No image loaded.'].
-    self image colorMap isNil ifTrue: [usedColors := '?'] ifFalse: [usedColors := self image usedColors size].
-    ^self image width printString, 'x',
-        self image height printString, 'x',
-        (2 raisedTo: self image depth) printString,
-        (self image mask notNil ifTrue: [' (mask + '] ifFalse: ['(']),
-        usedColors printString,
-        ' used colors)'
-
 ! !
 
 !ImageEditor methodsFor:'aspects'!
@@ -1218,16 +1020,6 @@
     ^ holder
 !
 
-valueOfFileName
-
-    |holder|
-    (holder := builder bindingAt:#valueOfFileName) isNil ifTrue:[
-        builder aspectAt:#valueOfFileName put:(holder :=  '' asValue).
-        holder addDependent: self
-    ].
-    ^ holder
-!
-
 valueOfMagnification
 
     |holder|
@@ -1236,26 +1028,6 @@
         holder := AspectAdaptor new subject:self; forAspect:#magnification)
     ].
     ^ holder
-!
-
-valueOfResourceClass
-
-    |holder|
-    (holder := builder bindingAt:#valueOfResourceClass) isNil ifTrue:[
-        builder aspectAt:#valueOfResourceClass put: (holder := '' asValue).
-        holder addDependent: self
-    ].
-    ^ holder
-!
-
-valueOfResourceSelector
-
-    |holder|
-    (holder := builder bindingAt:#valueOfResourceSelector) isNil ifTrue:[
-        builder aspectAt:#valueOfResourceSelector put: (holder := '' asValue).
-        holder addDependent: self
-    ].
-    ^ holder
 ! !
 
 !ImageEditor methodsFor:'change & update'!
@@ -1292,6 +1064,18 @@
 
 ! !
 
+!ImageEditor methodsFor:'help'!
+
+defaultInfoLabel
+
+    (self imageEditView resourceClass isSymbol and: [(Smalltalk at: self imageEditView resourceClass) isClass])
+    ifTrue:
+    [
+        ^self imageEditView resourceClass, ' >> ', self imageEditView resourceSelector
+    ].
+    ^'No class defined'
+! !
+
 !ImageEditor methodsFor:'menu modes'!
 
 colorMapMode: aMode
@@ -1429,20 +1213,6 @@
 
 !
 
-updateInputFields
-
-    self valueOfResourceSelector removeDependent: self.
-    self valueOfResourceSelector value: self imageEditView resourceSelector.
-    self valueOfResourceSelector addDependent: self.
-
-    self valueOfResourceClass removeDependent: self.
-    self imageEditView resourceClass notNil
-        ifTrue: [self valueOfResourceClass value: self imageEditView resourceClass]
-        ifFalse: [self valueOfResourceClass value: ''].
-    self valueOfResourceClass addDependent: self.
-
-!
-
 updateInputFieldsAndLabelsAndHistory
 
     self imageIsLoaded value: self image notNil.
@@ -1451,12 +1221,6 @@
 
     self updateInfoLabel.
 
-    self valueOfFileName removeDependent: self.
-    self valueOfFileName value: self image fileName.
-    self valueOfFileName addDependent: self.
-
-    self updateInputFields.
-
     self imageEditView resourceMessage asCollectionOfWords size = 2
         ifTrue: [self addToHistory: self imageEditView resourceMessage -> #loadFromMessage:].
 
@@ -1516,17 +1280,7 @@
 
     super open.
 
-    self imageEditView masterApplication: self.
-
-    self resourceClassInputField entryCompletionBlock:
-    [:value|
-        |what|
-        what := Smalltalk classnameCompletion: value withoutSpaces.
-        self resourceClassInputField contents:what first.
-        (what at:2) size ~~ 1 ifTrue:[
-            Display beep
-        ]
-    ]
+    self imageEditView masterApplication: self
 !
 
 postOpenWith:aBuilder
@@ -1769,7 +1523,7 @@
 
 saveImageFile
 
-    self imageEditView saveImageFileAs: self fileNameInputField contents
+    self imageEditView save
 !
 
 saveImageFileAs
@@ -1785,10 +1539,7 @@
 
 saveMethod
 
-    (self imageEditView 
-        resourceSelector: self resourceSelectorInputField contents;
-        resourceClass: self resourceClassInputField contents;
-        saveMethod) notNil
+    self imageEditView saveMethod notNil
     ifTrue:
     [
         self updateInputFieldsAndLabelsAndHistory