comments added
authortz
Wed, 08 Apr 1998 01:25:23 +0200
changeset 767 ed96f735dab1
parent 766 cecf78615ed1
child 768 2ef5b8bed914
comments added
ImageEditor.st
--- a/ImageEditor.st	Sat Apr 04 13:34:35 1998 +0200
+++ b/ImageEditor.st	Wed Apr 08 01:25:23 1998 +0200
@@ -1,5 +1,5 @@
 "
- COPYRIGHT (c) 1997 by eXept Software AG
+ COPYRIGHT (c) 1997-1998 by eXept Software AG
               All Rights Reserved
 
  This software is furnished under a license and may be used
@@ -21,7 +21,7 @@
 
 copyright
 "
- COPYRIGHT (c) 1997 by eXept Software AG
+ COPYRIGHT (c) 1997-1998 by eXept Software AG
               All Rights Reserved
 
  This software is furnished under a license and may be used
@@ -47,30 +47,28 @@
     [author:]
         Thomas Zwick, eXept Software AG
 "
-!
-
-listOfColors
-
-    ^List new
-
 ! !
 
 !ImageEditor class methodsFor:'instance creation'!
 
 openModalOnClass: aClass andSelector: aSelector
-
-    "self openModalOnClass: self andSelector: #leftMouseKeyIcon"
+    "opens modal the Image Editor on aClass and aSelector"
+    "
+     self openModalOnClass: self andSelector: #leftMouseKeyIcon
+    "
 
-    |imageEditor imageEditView className resourceClassName resourceSelector|                      
+    |imageEditor imageEditView className resourceClassName resourceSelector| 
+
     imageEditor := self new.
+
     aClass isClass ifTrue: [className := aClass name].
-    aClass isString ifTrue: [className := aClass].      
+    aClass isString ifTrue:[className := aClass].      
 
     imageEditor postOpenAction: [imageEditView := imageEditor imageEditView. imageEditor loadFromOrPrepareForMessage: className, ' ', aSelector].
     imageEditor openModal.
 
     resourceClassName := imageEditView resourceClass.
-    resourceSelector := imageEditView resourceSelector.
+    resourceSelector  := imageEditView resourceSelector.
 
     (className asString ~= resourceClassName) | (aSelector asString ~= resourceSelector)
         ifTrue: [^resourceClassName, ' ', resourceSelector]
@@ -78,29 +76,36 @@
 !
 
 openOnClass: aClass andSelector: aSelector
-
-    "self openOnClass: self andSelector: #leftMouseKeyIcon"
+    "opens the Image Editor on aClass and aSelector"
+    "
+     self openOnClass: self andSelector: #leftMouseKeyIcon
+    "
 
     ^self open loadFromMessage: aClass name, ' ', aSelector
 !
 
-openOnFile: image
+openOnFile: aFileName
+    "opens the Image Editor on aFileName"
+    "
+     self openOnFile: 'bitmaps/SmalltalkX.xbm'
+    "
 
-    "self openOnFile: 'bitmaps/SmalltalkX.xbm'"
-
-    ^self open loadFromFile: image
+    ^self open loadFromFile: aFileName
 !
 
-openOnImage: image
+openOnImage: anImage
+    "opens the Image Editor on anImage"
+    "
+     self openOnImage: self stxIcon
+    "
 
-    "self openOnImage: self stxIcon"
-
-    ^self open loadFromImage: image
+    ^self open loadFromImage: anImage
 ! !
 
 !ImageEditor class methodsFor:'accessing'!
 
 listOfColorMaps
+    "returns the list of default color maps for a new image"
 
     |colorMap|
     (colorMap := OrderedCollection new)
@@ -149,8 +154,9 @@
 !
 
 listOfDefaultSizes
+    "returns the list of default sizes for a new image"
 
-    ^#('24x24' '16x16' '32x32')
+    ^#('22x22' '16x16' '32x32')
 ! !
 
 !ImageEditor class methodsFor:'help specs'!
@@ -292,7 +298,7 @@
 
 !ImageEditor class methodsFor:'interface specs'!
 
-windowSpec
+dialogSpecForNewImage
     "This resource specification was automatically generated
      by the UIPainter of ST/X."
 
@@ -300,205 +306,8 @@
      the UIPainter may not be able to read the specification."
 
     "
-     UIPainter new openOnClass:ImageEditor andSelector:#windowSpec
-     ImageEditor new openInterface:#windowSpec
-     ImageEditor open
-    "
-
-    <resource: #canvas>
-
-    ^
-     
-       #(#FullSpec
-          #window: 
-           #(#WindowSpec
-              #name: 'Image Editor'
-              #layout: #(#LayoutFrame 188 0 318 0 687 0 663 0)
-              #label: 'Image Editor'
-              #min: #(#Point 400 320)
-              #max: #(#Point 1152 900)
-              #bounds: #(#Rectangle 188 318 688 664)
-              #menu: #menu
-              #usePreferredExtent: false
-          )
-          #component: 
-           #(#SpecCollection
-              #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
-                )
-                 #(#VariableHorizontalPanelSpec
-                    #name: 'variableHorizontalPanel1'
-                    #layout: #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -26 1.0)
-                    #component: 
-                     #(#SpecCollection
-                        #collection: 
-                         #(
-                           #(#ViewSpec
-                              #name: 'view1'
-                              #component: 
-                               #(#SpecCollection
-                                  #collection: 
-                                   #(
-                                     #(#VariableVerticalPanelSpec
-                                        #name: 'VariableVerticalPanel1'
-                                        #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
-                                        #component: 
-                                         #(#SpecCollection
-                                            #collection: 
-                                             #(
-                                               #(#ViewSpec
-                                                  #name: 'View1'
-                                                  #component: 
-                                                   #(#SpecCollection
-                                                      #collection: 
-                                                       #(
-                                                         #(#MenuPanelSpec
-                                                            #name: 'MouseButtonColorToolBar'
-                                                            #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 24 0)
-                                                            #menu: #menuMouseButtonColors
-                                                        )
-                                                         #(#DataSetSpec
-                                                            #name: 'colorDataSetView'
-                                                            #layout: #(#LayoutFrame 0 0.0 26 0.0 0 1.0 0 1.0)
-                                                            #activeHelpKey: #colorMapTable
-                                                            #model: #selectionOfColor
-                                                            #style: #(#FontDescription #helvetica #medium #roman 10)
-                                                            #hasHorizontalScrollBar: true
-                                                            #hasVerticalScrollBar: true
-                                                            #miniScrollerHorizontal: true
-                                                            #miniScrollerVertical: true
-                                                            #level: -1
-                                                            #dataList: #listOfColors
-                                                            #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
-                                                              )
-                                                            )
-                                                        )
-                                                      )
-                                                  )
-                                              )
-                                               #(#ArbitraryComponentSpec
-                                                  #name: 'imagePreView'
-                                                  #activeHelpKey: #previewView
-                                                  #hasHorizontalScrollBar: true
-                                                  #hasVerticalScrollBar: true
-                                                  #miniScrollerHorizontal: true
-                                                  #miniScrollerVertical: true
-                                                  #component: #ImageView
-                                                  #hasBorder: false
-                                              )
-                                            )
-                                        )
-                                        #handles: #(#Any 0.723776 1.0)
-                                    )
-                                  )
-                              )
-                          )
-                           #(#ViewSpec
-                              #name: 'view2'
-                              #component: 
-                               #(#SpecCollection
-                                  #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
-                                    )
-                                     #(#LabelSpec
-                                        #name: 'coordLabel'
-                                        #layout: #(#LayoutFrame 2 0.0 -22 1 -83 1.0 0 1.0)
-                                        #level: -1
-                                        #adjust: #left
-                                        #resizeForLabel: false
-                                    )
-                                     #(#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
-                          )
-                        )
-                    )
-                    #handles: #(#Any 0.276 1.0)
-                )
-                 #(#UISubSpecification
-                    #name: 'infoBarSubSpec'
-                    #layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
-                    #majorKey: #ToolApplicationModel
-                    #minorKey: #windowSpecForInfoBar
-                )
-              )
-          )
-      )
-!
-
-windowSpecForNewImage
-    "This resource specification was automatically generated
-     by the UIPainter of ST/X."
-
-    "Do not manually edit this!! If it is corrupted,
-     the UIPainter may not be able to read the specification."
-
-    "
-     UIPainter new openOnClass:ImageEditor andSelector:#windowSpecForNewImage
-     ImageEditor new openInterface:#windowSpecForNewImage
+     UIPainter new openOnClass:ImageEditor andSelector:#dialogSpecForNewImage
+     ImageEditor new openInterface:#dialogSpecForNewImage
     "
 
     <resource: #canvas>
@@ -580,6 +389,206 @@
               )
           )
       )
+!
+
+windowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:ImageEditor andSelector:#windowSpec
+     ImageEditor new openInterface:#windowSpec
+     ImageEditor open
+    "
+
+    <resource: #canvas>
+
+    ^
+     
+       #(#FullSpec
+          #window: 
+           #(#WindowSpec
+              #name: 'Image Editor'
+              #layout: #(#LayoutFrame 167 0 330 0 666 0 675 0)
+              #label: 'Image Editor'
+              #min: #(#Point 400 320)
+              #max: #(#Point 1152 900)
+              #bounds: #(#Rectangle 167 330 667 676)
+              #menu: #menu
+              #usePreferredExtent: false
+          )
+          #component: 
+           #(#SpecCollection
+              #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
+                )
+                 #(#VariableHorizontalPanelSpec
+                    #name: 'variableHorizontalPanel1'
+                    #layout: #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -26 1.0)
+                    #component: 
+                     #(#SpecCollection
+                        #collection: 
+                         #(
+                           #(#ViewSpec
+                              #name: 'view1'
+                              #component: 
+                               #(#SpecCollection
+                                  #collection: 
+                                   #(
+                                     #(#VariableVerticalPanelSpec
+                                        #name: 'VariableVerticalPanel1'
+                                        #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                                        #component: 
+                                         #(#SpecCollection
+                                            #collection: 
+                                             #(
+                                               #(#ViewSpec
+                                                  #name: 'View1'
+                                                  #component: 
+                                                   #(#SpecCollection
+                                                      #collection: 
+                                                       #(
+                                                         #(#MenuPanelSpec
+                                                            #name: 'MouseButtonColorToolBar'
+                                                            #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 24 0)
+                                                            #menu: #menuMouseButtonColors
+                                                        )
+                                                         #(#DataSetSpec
+                                                            #name: 'colorDataSetView'
+                                                            #layout: #(#LayoutFrame 0 0.0 26 0.0 0 1.0 0 1.0)
+                                                            #activeHelpKey: #colorMapTable
+                                                            #model: #selectionOfColor
+                                                            #style: #(#FontDescription #helvetica #medium #roman 10)
+                                                            #hasHorizontalScrollBar: true
+                                                            #hasVerticalScrollBar: true
+                                                            #miniScrollerHorizontal: true
+                                                            #miniScrollerVertical: true
+                                                            #level: -1
+                                                            #dataList: #listOfColors
+                                                            #has3Dsepartors: true
+                                                            #verticalSpacing: 1
+                                                            #columns: 
+                                                             #(
+                                                               #(#DataSetColumnSpec
+                                                                  #rendererType: #rowSelector
+                                                                  #backgroundSelector: #yourself
+                                                              )
+                                                               #(#DataSetColumnSpec
+                                                                  #label: 'R'
+                                                                  #labelAlignment: #left
+                                                                  #model: #rowRedByte
+                                                                  #canSelect: false
+                                                              )
+                                                               #(#DataSetColumnSpec
+                                                                  #label: 'G'
+                                                                  #labelAlignment: #left
+                                                                  #model: #rowGreenByte
+                                                                  #canSelect: false
+                                                              )
+                                                               #(#DataSetColumnSpec
+                                                                  #label: 'B'
+                                                                  #labelAlignment: #left
+                                                                  #model: #rowBlueByte
+                                                                  #canSelect: false
+                                                              )
+                                                            )
+                                                        )
+                                                      )
+                                                  )
+                                              )
+                                               #(#ArbitraryComponentSpec
+                                                  #name: 'imagePreView'
+                                                  #activeHelpKey: #previewView
+                                                  #hasHorizontalScrollBar: true
+                                                  #hasVerticalScrollBar: true
+                                                  #miniScrollerHorizontal: true
+                                                  #miniScrollerVertical: true
+                                                  #component: #ImageView
+                                                  #hasBorder: false
+                                              )
+                                            )
+                                        )
+                                        #handles: #(#Any 0.723776 1.0)
+                                    )
+                                  )
+                              )
+                          )
+                           #(#ViewSpec
+                              #name: 'view2'
+                              #component: 
+                               #(#SpecCollection
+                                  #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
+                                    )
+                                     #(#LabelSpec
+                                        #name: 'coordLabel'
+                                        #layout: #(#LayoutFrame 2 0.0 -22 1 -83 1.0 0 1.0)
+                                        #level: -1
+                                        #adjust: #left
+                                        #resizeForLabel: false
+                                    )
+                                     #(#ArrowButtonSpec
+                                        #name: 'magnifyDownButton'
+                                        #layout: #(#LayoutFrame -80 1 -22 1 -58 1 0 1)
+                                        #activeHelpKey: #magnifyImageDown
+                                        #model: #doMagnifyDown
+                                        #enableChannel: #imageIsLoaded
+                                        #isTriggerOnDown: true
+                                        #direction: #left
+                                    )
+                                     #(#ArrowButtonSpec
+                                        #name: 'magnifyUpButton'
+                                        #layout: #(#LayoutFrame -24 1 -22 1 -2 1 0 1)
+                                        #activeHelpKey: #magnifyImageUp
+                                        #model: #doMagnifyUp
+                                        #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
+                          )
+                        )
+                    )
+                    #handles: #(#Any 0.276 1.0)
+                )
+                 #(#UISubSpecification
+                    #name: 'infoBarSubSpec'
+                    #layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
+                    #majorKey: #ToolApplicationModel
+                    #minorKey: #windowSpecForInfoBar
+                )
+              )
+          )
+      )
 ! !
 
 !ImageEditor class methodsFor:'menu specs'!
@@ -619,7 +628,7 @@
                      #(
                        #(#MenuItem
                           #label: 'New...'
-                          #value: #newImage
+                          #value: #doNewImage
                           #activeHelpKey: #fileNewImage
                       )
                        #(#MenuItem
@@ -627,12 +636,12 @@
                       )
                        #(#MenuItem
                           #label: 'Load...'
-                          #value: #loadFromClass
+                          #value: #doLoadFromClass
                           #activeHelpKey: #fileLoadFromClass
                       )
                        #(#MenuItem
                           #label: 'Load From File...'
-                          #value: #loadFromFile
+                          #value: #doLoadFromFile
                           #activeHelpKey: #fileLoadFromFile
                       )
                        #(#MenuItem
@@ -640,13 +649,13 @@
                       )
                        #(#MenuItem
                           #label: 'Save'
-                          #value: #saveMethod
+                          #value: #doSaveMethod
                           #activeHelpKey: #fileSaveMethod
                           #enabled: #imageIsLoaded
                       )
                        #(#MenuItem
                           #label: 'Save As...'
-                          #value: #saveMethodAs
+                          #value: #doSaveMethodAs
                           #activeHelpKey: #fileSaveMethodAs
                           #enabled: #imageIsLoaded
                       )
@@ -655,13 +664,13 @@
                       )
                        #(#MenuItem
                           #label: 'Save To File...'
-                          #value: #saveImageFileAs
+                          #value: #doSaveImageFileAs
                           #activeHelpKey: #fileSaveAs
                           #enabled: #imageIsLoaded
                       )
                        #(#MenuItem
                           #label: 'Save Mask To File...'
-                          #value: #saveImageMaskFileAs
+                          #value: #doSaveImageMaskFileAs
                           #activeHelpKey: #fileSaveMaskAs
                           #enabled: #imageIsLoaded
                       )
@@ -670,7 +679,7 @@
                       )
                        #(#MenuItem
                           #label: 'Print'
-                          #value: #print
+                          #value: #doPrint
                           #activeHelpKey: #filePrint
                           #enabled: #imageIsLoaded
                       )
@@ -679,7 +688,7 @@
                       )
                        #(#MenuItem
                           #label: 'Browse Class'
-                          #value: #browseClass
+                          #value: #doBrowseClass
                           #activeHelpKey: #fileBrowseClass
                           #enabled: #imageIsLoaded
                       )
@@ -706,7 +715,7 @@
                      #(
                        #(#MenuItem
                           #label: 'Undo'
-                          #value: #undo
+                          #value: #doUndo
                           #activeHelpKey: #editUndo
                           #enabled: #valueOfCanUndo
                       )
@@ -715,12 +724,12 @@
                       )
                        #(#MenuItem
                           #label: 'Flip - Vertical'
-                          #value: #flipVertical
+                          #value: #doFlipVertical
                           #activeHelpKey: #editFlipVertical
                       )
                        #(#MenuItem
                           #label: 'Flip - Horizontal'
-                          #value: #flipHorizontal
+                          #value: #doFlipHorizontal
                           #activeHelpKey: #editFlipHorizontal
                       )
                        #(#MenuItem
@@ -728,17 +737,17 @@
                       )
                        #(#MenuItem
                           #label: 'Resize...'
-                          #value: #resizeImage
+                          #value: #doResizeImage
                           #activeHelpKey: #editResize
                       )
                        #(#MenuItem
                           #label: 'Magnify...'
-                          #value: #magnifyImage
+                          #value: #doMagnifyImage
                           #activeHelpKey: #editMagnifyImage
                       )
                        #(#MenuItem
                           #label: 'Rotate...'
-                          #value: #rotateImage
+                          #value: #doRotateImage
                           #activeHelpKey: #editRotate
                       )
                        #(#MenuItem
@@ -746,7 +755,7 @@
                       )
                        #(#MenuItem
                           #label: 'Negative'
-                          #value: #negativeImage
+                          #value: #doNegativeImage
                           #activeHelpKey: #editNegate
                       )
                     ) nil
@@ -908,21 +917,21 @@
              #(#MenuItem
                 #label: 'newImage'
                 #isButton: true
-                #value: #newImage
+                #value: #doNewImage
                 #activeHelpKey: #fileNewImage
                 #labelImage: #(#ResourceRetriever nil #newIcon)
             )
              #(#MenuItem
                 #label: 'loadFromClass'
                 #isButton: true
-                #value: #loadFromClass
+                #value: #doLoadFromClass
                 #activeHelpKey: #fileLoadFromClass
                 #labelImage: #(#ResourceRetriever nil #loadIcon)
             )
              #(#MenuItem
                 #label: 'saveMethod'
                 #isButton: true
-                #value: #saveMethod
+                #value: #doSaveMethod
                 #activeHelpKey: #fileSaveMethod
                 #enabled: #imageIsLoaded
                 #labelImage: #(#ResourceRetriever nil #saveIcon)
@@ -989,11 +998,13 @@
 !ImageEditor methodsFor:'accessing'!
 
 image
+    "returns the current editing image"
 
     ^self imageEditView image
 !
 
 postOpenAction: anAction
+   "sets an action which is evaluated after opening"
 
     postOpenAction := anAction
 ! !
@@ -1001,16 +1012,19 @@
 !ImageEditor methodsFor:'accessing - views'!
 
 coordLabel
+    "returns the view the coord label"
 
     ^builder componentAt: #coordLabel
 !
 
 imageEditView
+    "returns the image editing view"
 
     ^(builder componentAt: #imageEditView) subViews first 
 !
 
 imagePreView
+    "returns the preview of the image"
 
     ^(builder componentAt: #imagePreView) subViews first 
 ! !
@@ -1018,6 +1032,7 @@
 !ImageEditor methodsFor:'aspects'!
 
 imageIsLoaded
+    "returns whether an image is loaded as value holder"
 
     |holder|
     (holder := builder bindingAt:#imageIsLoaded) isNil ifTrue:[
@@ -1027,6 +1042,7 @@
 !
 
 listOfColors
+    "returns the list of colors in a List"
 
     |holder|
     (holder := builder bindingAt:#listOfColors) isNil ifTrue:[
@@ -1036,6 +1052,7 @@
 !
 
 selectionOfColor
+    "returns current selection of the edit color as an AspectAdaptor"
 
     |holder|
     (holder := builder bindingAt:#selectionOfColor) isNil ifTrue:[
@@ -1046,6 +1063,7 @@
 !
 
 valueOfMagnification
+    "returns current magnification of the image as an AspectAdaptor"
 
     |holder|
     (holder := builder bindingAt:#valueOfMagnification) isNil ifTrue:[
@@ -1055,32 +1073,184 @@
     ^ holder
 ! !
 
+!ImageEditor methodsFor:'change & update'!
+
+findColorMapMode
+    "finds the colorMapMode for an new image"
+
+    self image depth > 8 ifTrue: [colorMapMode := ''. self listOfColors removeAll. ^nil].
+    colorMapMode := self image depth printString, '-plane'.
+    self listOfColors isEmpty
+    ifTrue:
+    [   
+         self colorMapMode: colorMapMode value: nil
+    ].                               
+    self imageEditView selectColors: (Array with: (self listOfColors at: 1) with: (self listOfColors at: 2 ifAbsent: [self listOfColors at: 1])).
+    (self image mask notNil and: [(self listOfColors includes: (Color basicNew setColorId:0)) not])
+    ifTrue:
+    [         
+        colorMapMode := colorMapMode, ' + mask'.
+        self listOfColors addFirst: (Color basicNew setColorId:0).
+        self imageEditView selectColors: (Array with: (self listOfColors at: 2 ifAbsent: [self listOfColors at: 1]) with: (self listOfColors at: 1)).
+    ].
+    self selectionOfColor value: 0.
+    self selectionOfColor value: (self listOfColors indexOf: self imageEditView selectedColor).
+!
+
+updateForNoneImage
+    "updates channels and view, if image is loaded"
+
+    self imageIsLoaded value: false.
+    self listOfColors removeAll.
+    self imagePreView image: nil
+
+
+
+
+!
+
+updateLabelsAndHistory
+    "updates labels and history, if something has changed"
+
+    self imageIsLoaded value: self image notNil.
+
+    self image isNil ifTrue: [^nil].
+
+    self updateInfoLabel.
+
+    self imageEditView resourceMessage asCollectionOfWords size = 2
+        ifTrue: [self addToHistory: self imageEditView resourceMessage -> #loadFromMessage:].
+
+    self image fileName notNil
+        ifTrue: [self addToHistory: self image fileName -> #loadFromFile:].
+
+
+
+! !
+
 !ImageEditor methodsFor:'help'!
 
 defaultInfoLabel
+    "returns the default info label"
 
     (self imageEditView resourceClass isSymbol and: [(Smalltalk at: self imageEditView resourceClass) isClass])
     ifTrue:
     [
         ^self imageEditView resourceClass, ' >> ', self imageEditView resourceSelector
     ].
-    ^'No class defined'
+    ^'No class and selector defined.'
 !
 
 openDocumentation
+    "opens the documentation file of the Image Editor"
 
     self openHTMLDocument: 'tools/uipainter/ImageEditor.html'
 
 ! !
 
+!ImageEditor methodsFor:'loading'!
+
+loadFromFile: aFileName
+    "loads an image from aFileName and sets up color map list and other info labels"
+
+    (self imageEditView loadFromFile: aFileName) notNil
+    ifTrue:
+    [
+        self image notNil
+        ifTrue:
+        [          
+            self image colorMap notNil
+            ifTrue:
+            [
+                self listOfColors contents: self image usedColors asSet.
+            ]
+            ifFalse:
+            [
+                self listOfColors removeAll.
+            ].
+            self findColorMapMode.     
+            self updateLabelsAndHistory.
+        ]
+        ifFalse:
+        [
+            self updateForNoneImage
+        ]
+    ]
+!
+
+loadFromImage: anImage
+    "loads an image from anImage and sets up color map list and other info labels"
+
+    self imageEditView image: anImage.
+    self image notNil
+    ifTrue:
+    [    
+        self image colorMap notNil
+        ifTrue:
+        [
+            self listOfColors contents: self image usedColors asSet asOrderedCollection.
+        ]
+        ifFalse:
+        [
+            self listOfColors removeAll.
+        ].
+        self findColorMapMode.
+        self updateLabelsAndHistory.
+    ]
+    ifFalse:
+    [
+        self updateForNoneImage
+    ]
+!
+
+loadFromMessage: aMessage
+    "loads an image by evaluating aMessage and sets up color map list and other info labels"
+
+    (self imageEditView loadFromMessage: aMessage) notNil
+    ifTrue:
+    [
+        self image notNil
+        ifTrue:
+        [
+            self listOfColors contents: self image usedColors asSet asOrderedCollection.
+            self findColorMapMode.
+            self updateLabelsAndHistory.
+        ]
+        ifFalse:
+        [
+            self updateForNoneImage
+        ]
+    ]
+!
+
+loadFromOrPrepareForMessage: aMessage
+    "loads an image by evaluating aMessage;
+     if no image could extract from aMessage; do set the class and the selector from 
+     the aMessage for a saving at the end of editing"
+
+    (self imageEditView loadFromMessage: aMessage) notNil
+    ifTrue:
+    [
+        self listOfColors contents: self image usedColors asSet asOrderedCollection.
+        self findColorMapMode.
+    ]
+    ifFalse:
+    [
+        self imageEditView resourceMessage: aMessage.
+    ].
+    self updateLabelsAndHistory.
+! !
+
 !ImageEditor methodsFor:'menu modes'!
 
 colorMapMode: aMode
+    "returns whether colorMapMode is equal to aMode"
 
     ^colorMapMode = aMode
 !
 
 colorMapMode: aMode value: aValue
+    "calculates a new color map for the image from aMode"
 
     |depth newColorMap newImage image newColors realColorMap oldFileName| 
 
@@ -1149,82 +1319,35 @@
 !
 
 editMode: aMode
+    "returns whether editMode is equal to aMode"
 
     ^self imageEditView editMode = aMode
 !
 
 editMode: aMode value: aValue
+    "sets the editMode to aMode"
 
     self imageEditView editMode: aMode
 !
 
 mouseKeyColorMode: aMode
+    "sets the mouseKeyColorMode to aMode"
 
     ^self imageEditView mouseKeyColorMode = aMode
 !
 
 mouseKeyColorMode: aMode value: aValue
+    "sets the mouseKeyColorMode to aMode"
 
     self imageEditView mouseKeyColorMode: aMode.
 
     self selectionOfColor value: (self listOfColors indexOf: self imageEditView selectedColor).
 ! !
 
-!ImageEditor methodsFor:'private'!
-
-findColorMapMode
-
-    self image depth > 8 ifTrue: [colorMapMode := ''. self listOfColors removeAll. ^nil].
-    colorMapMode := self image depth printString, '-plane'.
-    self listOfColors isEmpty
-    ifTrue:
-    [   
-         self colorMapMode: colorMapMode value: nil
-    ].       
-    self imageEditView selectColor: (Array with: (self listOfColors at: 1) with: (self listOfColors at: 2 ifAbsent: [self listOfColors at: 1])).
-    self image mask notNil
-    ifTrue:
-    [
-        colorMapMode := colorMapMode, ' + mask'.
-        self listOfColors addFirst: (Color basicNew setColorId:0).
-        self imageEditView selectColor: (Array with: (self listOfColors at: 1 ifAbsent: [self listOfColors at: 2]) with: (self listOfColors at: 1)).
-    ].
-    self selectionOfColor value: 0.
-    self selectionOfColor value: (self listOfColors indexOf: self imageEditView selectedColor).
-!
-
-updateForNoneImage
-
-    self imageIsLoaded value: false.
-    self listOfColors removeAll.
-    self imagePreView image: nil
-
-
-
-
-!
-
-updateLabelsAndHistory
-
-    self imageIsLoaded value: self image notNil.
-
-    self image isNil ifTrue: [^nil].
-
-    self updateInfoLabel.
-
-    self imageEditView resourceMessage asCollectionOfWords size = 2
-        ifTrue: [self addToHistory: self imageEditView resourceMessage -> #loadFromMessage:].
-
-    self image fileName notNil
-        ifTrue: [self addToHistory: self image fileName -> #loadFromFile:].
-
-
-
-! !
-
 !ImageEditor methodsFor:'queries'!
 
 preferredExtent
+    "returns the preferred extent"
 
     ^super preferredExtent max: (Screen current width//3)@(Screen current height//3.5)
 
@@ -1234,25 +1357,29 @@
 !ImageEditor methodsFor:'selection'!
 
 magnification
+    "returns the magnification of the image"
 
     (builder componentAt: #imageEditView) isNil ifTrue: [^1].
     ^self imageEditView magnification x
 !
 
 magnification: aValue
+    "sets the magnification of the image"
 
     |magnification|
     magnification := aValue asInteger asPoint.
-    (magnification = self imageEditView magnification) | (magnification = (0@0)) ifTrue: [^nil].
+    (magnification = self imageEditView magnification or: [magnification = (0@0)]) ifTrue: [^nil].
     self imageEditView magnification: magnification
 !
 
 selectedColorIndex
+    "returns the index of the selected color"
 
     ^selectedColorIndex
 !
 
 selectedColorIndex: anIndex
+    "sets the index of the selected color"
 
     selectedColorIndex := anIndex.    
     self imageEditView selectedColor: (self listOfColors at: anIndex ifAbsent: [^nil])
@@ -1262,12 +1389,14 @@
 !ImageEditor methodsFor:'startup / release'!
 
 closeRequest
+    "close request"
 
     self imageEditView checkModified ifTrue:[super closeRequest]
 
 !
 
 open
+    "after opening, sets the masterApplication of the imageEditView to self"
 
     super open.
 
@@ -1275,36 +1404,37 @@
 !
 
 postOpenWith:aBuilder
+    "after opening, sets the masterApplication of the imageEditView to self;
+     evaluate the postOpenAction"
 
     self imageEditView masterApplication: self.
     postOpenAction notNil ifTrue: [postOpenAction value].
-    super postOpenWith:aBuilder.
-!
 
-reOpen
-
-    self imageEditView checkModified ifTrue:[super reOpen]
-
+    super postOpenWith:aBuilder
 ! !
 
 !ImageEditor methodsFor:'user actions - editing'!
 
-browseClass
+doBrowseClass
+    "opens a System Browser on the resourceClass and the resourceSelector"
 
     SystemBrowser openInClass: (Smalltalk at: self imageEditView resourceClass ifAbsent: [^nil]) class selector: self imageEditView resourceSelector
 !
 
-flipHorizontal
+doFlipHorizontal
+    "flips horizontally current image"
 
     self imageEditView flipHorizontal
 !
 
-flipVertical
+doFlipVertical
+    "flips vertically current image"
 
     self imageEditView flipVertical
 !
 
-magnifyDown
+doMagnifyDown
+    "magnifies current image one step down"
 
     self valueOfMagnification value > 1
     ifTrue:
@@ -1313,13 +1443,15 @@
     ]
 !
 
-magnifyImage
+doMagnifyImage
+    "magnifies current image"
 
     self imageEditView magnifyImage.   
     self updateInfoLabel
 !
 
-magnifyUp
+doMagnifyUp
+    "magnifies current image one step up"
 
     self valueOfMagnification value < 99
     ifTrue:
@@ -1328,33 +1460,38 @@
     ]
 !
 
-negativeImage
+doNegativeImage
+    "negates current image by negating the color map"
 
     self imageEditView negativeImage.
     self listOfColors removeAll.
-    self findColorMapMode.     
+    self findColorMapMode     
 !
 
-resizeImage
+doResizeImage
+    "resizes current image"
 
     self imageEditView resizeImage.   
     self updateInfoLabel
 !
 
-rotateImage
+doRotateImage
+    "rotates current image"
 
     self imageEditView rotateImage.
     self updateInfoLabel
 !
 
-undo
+doUndo
+    "reverses last edit action"
 
     self imageEditView undo
 ! !
 
 !ImageEditor methodsFor:'user actions - loading'!
 
-loadFromClass
+doLoadFromClass
+    "opens a dialog for loading an image from class and a (resource-) selector"
 
     (self imageEditView loadFromClass) notNil
     ifTrue:
@@ -1364,43 +1501,7 @@
         [
             self listOfColors contents: self image usedColors asSet asOrderedCollection.
             self findColorMapMode.
-            self updateLabelsAndHistory.
-        ]
-        ifFalse:
-        [
-            self updateForNoneImage
-        ]
-    ]
-!
-
-loadFromFile
-
-    self loadFromFile:
-        (FileSelectionBrowser
-            request: 'Load Image From'
-            fileName: (self image notNil ifTrue: [self image fileName] ifFalse: [nil])
-            withFileFilters: FileSelectionBrowser loadImageFileNameFilters)
-!
-
-loadFromFile: aFileName
-
-    (self imageEditView loadFromFile: aFileName) notNil
-    ifTrue:
-    [
-        self image notNil
-        ifTrue:
-        [          
-            self image colorMap notNil
-            ifTrue:
-            [
-                self listOfColors contents: self image usedColors asSet.
-            ]
-            ifFalse:
-            [
-                self listOfColors removeAll.
-            ].
-            self findColorMapMode.     
-            self updateLabelsAndHistory.
+            self updateLabelsAndHistory
         ]
         ifFalse:
         [
@@ -1409,89 +1510,44 @@
     ]
 !
 
-loadFromImage: image
+doLoadFromFile
+    "opens a dialog for loading an image from a file"
 
-    self imageEditView image: image.
-    self image notNil
-    ifTrue:
-    [    
-        self image colorMap notNil
-        ifTrue:
-        [
-            self listOfColors contents: self image usedColors asSet asOrderedCollection.
-        ]
-        ifFalse:
-        [
-            self listOfColors removeAll.
-        ].
-        self findColorMapMode.
-        self updateLabelsAndHistory.
-    ]
-    ifFalse:
-    [
-        self updateForNoneImage
-    ]
+    self loadFromFile:
+        (FileSelectionBrowser
+            request: 'Load Image From'
+            fileName: (self image notNil ifTrue: [self image fileName] ifFalse: [nil])
+            withFileFilters: FileSelectionBrowser loadImageFileNameFilters)
 !
 
-loadFromMessage: aMessage
-
-    (self imageEditView loadFromMessage: aMessage) notNil
-    ifTrue:
-    [
-        self image notNil
-        ifTrue:
-        [
-            self listOfColors contents: self image usedColors asSet asOrderedCollection.
-            self findColorMapMode.
-            self updateLabelsAndHistory.
-        ]
-        ifFalse:
-        [
-            self updateForNoneImage
-        ]
-    ]
-!
-
-loadFromOrPrepareForMessage: aMessage
-
-    (self imageEditView loadFromMessage: aMessage) notNil
-    ifTrue:
-    [
-        self listOfColors contents: self image usedColors asSet asOrderedCollection.
-        self findColorMapMode.
-    ]
-    ifFalse:
-    [
-        self imageEditView resourceMessage: aMessage.
-    ].
-    self updateLabelsAndHistory.
-!
-
-newImage
+doNewImage
+    "opens a dialog with choices of size and color map for creating a new image"
 
     |aspects|
+
     aspects  := IdentityDictionary new
-        at:#listOfSizes put: self class listOfDefaultSizes asValue;
-        at:#listOfColorMaps put: self class listOfColorMaps keys asSortedCollection asValue;
-        at:#selectionOfSize put: self class listOfDefaultSizes first copy asValue;
+        at:#listOfSizes         put: self class listOfDefaultSizes asValue;
+        at:#listOfColorMaps     put: self class listOfColorMaps keys asSortedCollection asValue;
+        at:#selectionOfSize     put: self class listOfDefaultSizes first copy asValue;
         at:#selectionOfColorMap put: self class listOfColorMaps keys asSortedCollection first asValue;
         yourself.
 
-    (self openDialogInterface:#windowSpecForNewImage withBindings:aspects)
+    (self openDialogInterface:#dialogSpecForNewImage withBindings:aspects)
     ifTrue:
     [
         |width height cMap imageClass image|
-        width := 128 min: (Integer readFromString: ((aspects at:#selectionOfSize) value upTo: $x) onError:[24]).
+
+        width  := 128 min: (Integer readFromString: ((aspects at:#selectionOfSize) value upTo: $x) onError:[24]).
         height := 128 min: (Integer readFromString: ((aspects at:#selectionOfSize) value copy reverse upTo: $x) reverse onError:[24]).
 
-        cMap := (self class listOfColorMaps at: (colorMapMode := (aspects at:#selectionOfColorMap) value)).
+        cMap       := (self class listOfColorMaps at: (colorMapMode := (aspects at:#selectionOfColorMap) value)).
         imageClass := Image implementorForDepth: ((cMap size log: 2) asInteger).
-        image := imageClass width: width height: height fromArray: (ByteArray new: width*height).
+        image      := imageClass width: width height: height fromArray: (ByteArray new: width*height).
 
         (colorMapMode copy reverse readStream nextWord reverse = 'mask')
         ifTrue:
         [
-            image mask: (Depth1Image width: width height: height depth: 1 fromArray: (ByteArray new: width*height)) clearMaskedPixels.
+            image mask: (Depth1Image width: width height: height depth: 1 fromArray: (ByteArray new: width*height)) clearMaskedPixels
         ].
         image colorMap: cMap.
         image fillRectangleX:0 y:0 width:width height:height with:Color white.
@@ -1502,33 +1558,38 @@
             self findColorMapMode.
             self updateLabelsAndHistory
         ]
-    ].
+    ]
 ! !
 
 !ImageEditor methodsFor:'user actions - saving'!
 
-print
+doPrint
+    "prints current image on the current printer"
 
     self imageEditView print
 !
 
-saveImageFile
+doSaveImageFile
+    "saves current image to current file"
 
     self imageEditView save
 !
 
-saveImageFileAs
+doSaveImageFileAs
+    "opens a dialog for saving current image to a file"
 
     self imageEditView saveImageFileAs.
     self updateLabelsAndHistory
 !
 
-saveImageMaskFileAs
+doSaveImageMaskFileAs
+    "opens a dialog for saving mask of current image to a file"
 
     self imageEditView saveImageMaskFileAs
 !
 
-saveMethod
+doSaveMethod
+    "saves current image on current class and selector"
 
     self imageEditView saveMethod notNil
     ifTrue:
@@ -1537,7 +1598,8 @@
     ]
 !
 
-saveMethodAs
+doSaveMethodAs
+    "opens a dialog for saving current image on a class and a selector"
 
     self imageEditView saveMethodAs notNil
     ifTrue: