--- 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"