*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Fri, 05 Mar 2010 12:28:26 +0100
changeset 2767 9db214621639
parent 2766 88fa6c4bf6d3
child 2768 79fbc52bcb69
*** empty log message ***
ImageEditor.st
--- a/ImageEditor.st	Fri Mar 05 11:17:13 2010 +0100
+++ b/ImageEditor.st	Fri Mar 05 12:28:26 2010 +0100
@@ -14,7 +14,8 @@
 ResourceSpecEditor subclass:#ImageEditor
 	instanceVariableNames:'imageEditView colorMapMode editMode mouseKeyColorMode
 		selectedColorIndex postOpenAction imageSeqNr drawingColormap
-		lastShiftUsedWrap lastGrabbedScreenArea'
+		lastShiftUsedWrap lastGrabbedScreenArea
+		allowedToChangeImageDimensionAndDepth'
 	classVariableNames:'LastDirectory LastSizeString MaskClipboard LastColormapMode
 		DefaultRelativeSizes'
 	poolDictionaries:''
@@ -104,7 +105,7 @@
     |imageEditor imageEditView newImage| 
 
     imageEditor := self new.
-
+    imageEditor allowedToChangeImageDimensionAndDepth:false.
     imageEditor postOpenAction: [
             imageEditView := imageEditor imageEditView. 
             imageEditor loadFromImage: anImage
@@ -1830,7 +1831,7 @@
      #(Menu
         (
          (MenuItem
-            enabled: imageIsLoaded
+            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
             label: 'Depth'
             translateLabel: true
             submenu: 
@@ -2050,7 +2051,7 @@
                   translateLabel: true
                 )
                (MenuItem
-                  enabled: hasNoColormap
+                  enabled: allowedToChangeImageDimensionAndDepth 
                   label: 'Make dithered 8Bit Palette'
                   itemValue: makeDitheredPaletteImage
                   translateLabel: true
@@ -2161,35 +2162,35 @@
             label: '-'
           )
          (MenuItem
-            enabled: imageIsLoaded
+            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
             activeHelpKey: editResize
             label: 'Resize...'
             itemValue: doResizeImage
             translateLabel: true
           )
          (MenuItem
-            enabled: imageIsLoaded
+            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
             activeHelpKey: editMagnifyImage
             label: 'Magnify...'
             itemValue: doMagnifyImage
             translateLabel: true
           )
          (MenuItem
-            enabled: imageIsLoaded
+            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
             activeHelpKey: editMagnifyImage
             label: 'Magnify By...'
             itemValue: doMagnifyImageBy
             translateLabel: true
           )
          (MenuItem
-            enabled: imageIsLoaded
+            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
             activeHelpKey: editRotate
             label: 'Rotate...'
             itemValue: doRotateImage
             translateLabel: true
           )
          (MenuItem
-            enabled: imageIsLoaded
+            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
             activeHelpKey: edit3DProjection
             label: '3D Projection...'
             itemValue: do3DProjection
@@ -2225,7 +2226,7 @@
             label: '-'
           )
          (MenuItem
-            enabled: imageIsLoaded
+            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
             label: 'Crop'
             translateLabel: true
             submenu: 
@@ -2279,7 +2280,7 @@
             )
           )
          (MenuItem
-            enabled: imageIsLoaded
+            enabled: imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
             activeHelpKey: uncropManual
             label: 'Uncrop (Add Border)...'
             itemValue: doUnCropManual
@@ -3159,6 +3160,20 @@
     imageEditView resourceClass:aClass
 ! !
 
+!ImageEditor methodsFor:'accessing-behavior'!
+
+allowedToChangeImageDimensionAndDepth
+    "used to edit an existing image's contents only (Expecco)"
+
+    ^ allowedToChangeImageDimensionAndDepth ? true
+!
+
+allowedToChangeImageDimensionAndDepth:aBoolean
+    "used to edit an existing image's contents only (Expecco)"
+
+    allowedToChangeImageDimensionAndDepth := aBoolean
+! !
+
 !ImageEditor methodsFor:'accessing-views'!
 
 colorDataSetView
@@ -3284,6 +3299,15 @@
     ^ holder
 !
 
+imageIsLoadedAndAllowedToChangeImageDimensionAndDepth
+    "returns whether an image is loaded as value holder"
+
+    ^ [ 
+        self imageIsLoaded value
+        and:[ self allowedToChangeImageDimensionAndDepth ] 
+      ]
+!
+
 imageIsLoadedAndClassDefined
     "returns whether an image is loaded as value holder"