diff -r 7d01ac3a20e7 -r f056aa5d29a7 ImageEditor.st --- a/ImageEditor.st Fri Jul 02 12:06:24 2010 +0200 +++ b/ImageEditor.st Sun Jul 04 10:21:22 2010 +0200 @@ -1591,7 +1591,7 @@ layout: (LayoutFrame -80 1 -22 1 -58 1 0 1) activeHelpKey: magnifyImageDown model: doMagnifyDown - enableChannel: imageIsLoaded + enableChannel: imageIsLoadedHolder isTriggerOnDown: true direction: left ) @@ -1600,7 +1600,7 @@ layout: (LayoutFrame -24 1 -22 1 -2 1 0 1) activeHelpKey: magnifyImageUp model: doMagnifyUp - enableChannel: imageIsLoaded + enableChannel: imageIsLoadedHolder isTriggerOnDown: true direction: right ) @@ -1608,7 +1608,7 @@ name: 'magnificationInputField' layout: (LayoutFrame -57 1 -22 1 -26 1 0 1) activeHelpKey: magnificationNumber - enableChannel: imageIsLoaded + enableChannel: imageIsLoadedHolder model: magnificationHolder type: numberInRange acceptOnReturn: true @@ -1641,6 +1641,8 @@ ) ) + + "Modified: / 04-07-2010 / 10:18:33 / cg" ! ! !ImageEditor class methodsFor:'menu specs'! @@ -1663,13 +1665,13 @@ #(Menu ( (MenuItem - enabled: hasColormap + enabled: hasColormapHolder label: 'Add Color' itemValue: addColorToColormap translateLabel: true ) (MenuItem - enabled: hasColormap + enabled: hasColormapHolder label: 'Pick and Add Color...' itemValue: pickAndAddColorToColormap translateLabel: true @@ -1685,7 +1687,7 @@ isVisible: false ) (MenuItem - enabled: hasColorSelected + enabled: hasColorSelectedHolder label: 'Copy Color' itemValue: copyColorFromColormap translateLabel: true @@ -1735,10 +1737,10 @@ label: 'Inspect Color' itemValue: inspectColor translateLabel: true - enabled: hasColorSelected + enabled: hasColorSelectedHolder ) (MenuItem - enabled: hasColormap + enabled: hasColormapHolder label: 'Inspect Colormap' itemValue: inspectColormap translateLabel: true @@ -1748,7 +1750,7 @@ nil ) - "Modified: / 27-10-2007 / 10:24:00 / cg" + "Modified: / 04-07-2010 / 10:13:57 / cg" ! menu @@ -1978,7 +1980,7 @@ ) ) (MenuItem - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'ColorMap' translateLabel: true submenu: @@ -1986,13 +1988,13 @@ ( (MenuItem activeHelpKey: compressColormap - enabled: hasColormap + enabled: hasColormapHolder label: 'Compress Colormap' itemValue: menu_compressColorMap translateLabel: true ) (MenuItem - enabled: hasColormap + enabled: hasColormapHolder label: 'Sort Colormap' itemValue: menu_sortColorMap translateLabel: true @@ -2016,19 +2018,19 @@ label: '-' ) (MenuItem - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Brighten' itemValue: doBrightenImage translateLabel: true ) (MenuItem - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Darken' itemValue: doDarkenImage translateLabel: true ) (MenuItem - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Invert' itemValue: doNegativeImage translateLabel: true @@ -2039,7 +2041,7 @@ ) ) (MenuItem - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Process' translateLabel: true submenu: @@ -2091,7 +2093,7 @@ ) ) (MenuItem - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Mask' translateLabel: true submenu: @@ -2132,6 +2134,8 @@ nil nil ) + + "Modified: / 04-07-2010 / 10:16:23 / cg" ! menuEdit @@ -2197,7 +2201,7 @@ translateLabel: true ) (MenuItem - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Flip' translateLabel: true submenu: @@ -2208,14 +2212,14 @@ label: 'Flip - Vertical' itemValue: doFlipVertical translateLabel: true - enabled: imageIsLoaded + enabled: imageIsLoadedHolder ) (MenuItem activeHelpKey: editFlipHorizontal label: 'Flip - Horizontal' itemValue: doFlipHorizontal translateLabel: true - enabled: imageIsLoaded + enabled: imageIsLoadedHolder ) ) nil @@ -2287,7 +2291,7 @@ translateLabel: true ) (MenuItem - enabled: imageIsLoaded + enabled: imageIsLoadedHolder activeHelpKey: shiftManual label: 'Shift...' itemValue: doShiftManual @@ -2298,13 +2302,13 @@ ) (MenuItem activeHelpKey: fileEditMask - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Edit Mask' itemValue: doEditMask translateLabel: true ) (MenuItem - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Text...' itemValue: doInsertTextFromUser translateLabel: true @@ -2314,6 +2318,8 @@ nil nil ) + + "Modified: / 04-07-2010 / 10:16:48 / cg" ! menuFile @@ -2400,7 +2406,7 @@ ) ) (MenuItem - enabled: imageHasNextImage + enabled: imageHasNextImageHolder label: 'Next in Sequence' itemValue: nextImageInSequence translateLabel: true @@ -2418,34 +2424,34 @@ ) (MenuItem activeHelpKey: fileSaveMethodAs - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Save As...' itemValue: doSaveMethodAs translateLabel: true ) (MenuItem activeHelpKey: fileSaveAs - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Save to File...' itemValue: doSaveImageFileAs translateLabel: true ) (MenuItem activeHelpKey: fileSaveMaskAs - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Save Mask to File...' itemValue: doSaveImageMaskFileAs translateLabel: true ) (MenuItem activeHelpKey: fileSaveButtonImageAs - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Save as Button to File...' itemValue: doSaveButtonImageToFileAs translateLabel: true ) (MenuItem - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Copy to Clipboard' itemValue: doCopyImageToClipboard translateLabel: true @@ -2455,7 +2461,7 @@ ) (MenuItem activeHelpKey: fileEditMask - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Edit Mask' itemValue: doEditMask translateLabel: true @@ -2467,7 +2473,7 @@ ) (MenuItem activeHelpKey: filePrint - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Print' itemValue: doPrint translateLabel: true @@ -2478,14 +2484,14 @@ ) (MenuItem activeHelpKey: fileBrowseClass - enabled: hasClassDefined + enabled: hasClassDefinedHolder label: 'Browse Class' itemValue: doBrowseClass translateLabel: true isVisible: isStandAlone ) (MenuItem - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Inspect Image' itemValue: doInspectImage translateLabel: true @@ -2493,7 +2499,7 @@ ) (MenuItem activeHelpKey: fileShowStoreString - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Show storeString' itemValue: doShowStoreString translateLabel: true @@ -2513,6 +2519,8 @@ nil nil ) + + "Modified: / 04-07-2010 / 10:17:15 / cg" ! menuMouseButtonColors @@ -2538,7 +2546,7 @@ #label: 'Left Mouse Button' #nameKey: #leftMouseKeyButton #activeHelpKey: #mouseKeyColorMode - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #labelImage: #(#ResourceRetriever nil #leftMouseKeyIcon) #choice: #mouseKeyColorMode #choiceValue: 1 @@ -2547,7 +2555,7 @@ #label: 'Right Mouse Button' #nameKey: #rightMouseKeyButton #activeHelpKey: #mouseKeyColorMode - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #labelImage: #(#ResourceRetriever nil #rightMouseKeyIcon) #choice: #mouseKeyColorMode #choiceValue: 2 @@ -2555,6 +2563,8 @@ ) nil nil ) + + "Modified: / 04-07-2010 / 10:17:37 / cg" ! menuSettings @@ -2691,7 +2701,7 @@ ) (MenuItem activeHelpKey: fileSaveMethodAs - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'fileSaveMethodAs' itemValue: doSaveMethodAs translateLabel: true @@ -2701,7 +2711,7 @@ ) (MenuItem activeHelpKey: fileSaveMethod - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'saveAsMethod' itemValue: doSaveMethod translateLabel: true @@ -2722,7 +2732,7 @@ ) (MenuItem activeHelpKey: fileSaveAs - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'saveAsFile' itemValue: doSaveImageFileAs translateLabel: true @@ -2745,6 +2755,8 @@ nil nil ) + + "Modified: / 04-07-2010 / 10:17:49 / cg" ! modeMenu @@ -2766,7 +2778,7 @@ ( (MenuItem activeHelpKey: drawModePoint - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Point' translateLabel: true labelImage: (ResourceRetriever ImageEditor pointIcon 'Point') @@ -2775,7 +2787,7 @@ ) (MenuItem activeHelpKey: drawModePoint - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Spray' translateLabel: true labelImage: (ResourceRetriever ImageEditor sprayIcon 'Spray') @@ -2784,7 +2796,7 @@ ) (MenuItem activeHelpKey: drawModeBox - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Rect' translateLabel: true labelImage: (ResourceRetriever ImageEditor rectIcon 'Rect') @@ -2793,7 +2805,7 @@ ) (MenuItem activeHelpKey: drawModeFilledBox - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Filled Rectangle' translateLabel: true labelImage: (ResourceRetriever ImageEditor fillRectIcon 'Filled Rectangle') @@ -2802,7 +2814,7 @@ ) (MenuItem activeHelpKey: drawModeBox - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Circle' translateLabel: true labelImage: (ResourceRetriever ImageEditor circleIcon 'Circle') @@ -2811,7 +2823,7 @@ ) (MenuItem activeHelpKey: drawModeFill - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Fill' translateLabel: true labelImage: (ResourceRetriever ImageEditor fillIcon 'Fill') @@ -2820,7 +2832,7 @@ ) (MenuItem activeHelpKey: drawModeCopy - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Copy' translateLabel: true labelImage: (ResourceRetriever ImageEditor copyIcon 'Copy') @@ -2829,7 +2841,7 @@ ) (MenuItem activeHelpKey: drawModePaste - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Paste' translateLabel: true labelImage: (ResourceRetriever ImageEditor pasteIcon 'Paste') @@ -2838,7 +2850,7 @@ ) (MenuItem activeHelpKey: drawModePasteUnder - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Paste Under' translateLabel: true labelImage: (ResourceRetriever ImageEditor pasteUnderIcon 'Paste Under') @@ -2847,7 +2859,7 @@ ) (MenuItem activeHelpKey: drawModePasteWithMask - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Paste with Mask' translateLabel: true labelImage: (ResourceRetriever ImageEditor pasteWithMaskIcon 'Paste with Mask') @@ -2856,7 +2868,7 @@ ) (MenuItem activeHelpKey: drawModeSpecial - enabled: imageIsLoaded + enabled: imageIsLoadedHolder label: 'Special' translateLabel: true labelImage: (ResourceRetriever ImageEditor specialIcon 'Special') @@ -2867,6 +2879,8 @@ nil nil ) + + "Modified: / 04-07-2010 / 10:18:08 / cg" ! previewMenu @@ -2903,19 +2917,19 @@ (MenuItem label: 'Gray' translateLabel: true - choice: previewBackgroundColor + choice: previewBackgroundColorHolder choiceValue: nil ) (MenuItem label: 'Black' translateLabel: true - choice: previewBackgroundColor + choice: previewBackgroundColorHolder choiceValue: black ) (MenuItem label: 'White' translateLabel: true - choice: previewBackgroundColor + choice: previewBackgroundColorHolder choiceValue: white ) (MenuItem @@ -2924,19 +2938,19 @@ (MenuItem label: 'Red' translateLabel: true - choice: previewBackgroundColor + choice: previewBackgroundColorHolder choiceValue: red ) (MenuItem label: 'Green' translateLabel: true - choice: previewBackgroundColor + choice: previewBackgroundColorHolder choiceValue: green ) (MenuItem label: 'Blue' translateLabel: true - choice: previewBackgroundColor + choice: previewBackgroundColorHolder choiceValue: blue ) ) @@ -2948,6 +2962,8 @@ nil nil ) + + "Modified: / 04-07-2010 / 10:20:09 / cg" ! toolsMenuToolbar @@ -2969,7 +2985,7 @@ #( #(#MenuItem #activeHelpKey: #drawModePoint - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #label: 'Point' #translateLabel: true #isButton: true @@ -2979,7 +2995,7 @@ ) #(#MenuItem #activeHelpKey: #drawModeSpray - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #label: 'Spray' #translateLabel: true #isButton: true @@ -2989,7 +3005,7 @@ ) #(#MenuItem #activeHelpKey: #drawModeBox - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #label: 'Rect' #translateLabel: true #isButton: true @@ -2999,7 +3015,7 @@ ) #(#MenuItem #activeHelpKey: #drawModeFilledBox - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #label: 'FillRect' #translateLabel: true #isButton: true @@ -3009,7 +3025,7 @@ ) #(#MenuItem #activeHelpKey: #drawModeCircle - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #label: 'Circle' #translateLabel: true #isButton: true @@ -3019,7 +3035,7 @@ ) #(#MenuItem #activeHelpKey: #drawModeFill - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #label: 'Fill' #translateLabel: true #isButton: true @@ -3029,7 +3045,7 @@ ) #(#MenuItem #activeHelpKey: #drawModeCopy - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #label: 'Copy' #translateLabel: true #isButton: true @@ -3039,7 +3055,7 @@ ) #(#MenuItem #activeHelpKey: #drawModePaste - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #label: 'Paste' #translateLabel: true #isButton: true @@ -3049,7 +3065,7 @@ ) #(#MenuItem #activeHelpKey: #drawModePasteUnder - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #label: 'Paste Under' #translateLabel: true #isButton: true @@ -3059,7 +3075,7 @@ ) #(#MenuItem #activeHelpKey: #drawModePasteWithMask - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #label: 'Paste With Mask' #translateLabel: true #isButton: true @@ -3069,7 +3085,7 @@ ) #(#MenuItem #activeHelpKey: #drawModeSpecial - #enabled: #imageIsLoaded + #enabled: #imageIsLoadedHolder #label: 'Special' #translateLabel: true #isButton: true @@ -3081,6 +3097,8 @@ nil nil ) + + "Modified: / 04-07-2010 / 10:18:24 / cg" ! ! !ImageEditor class methodsFor:'tableColumns specs'! @@ -3234,7 +3252,7 @@ "Created: / 26.7.1998 / 12:17:03 / cg" ! -hasClassAndSelectorDefined +hasClassAndSelectorDefinedHolder ^ [ |cls| @@ -3242,82 +3260,94 @@ and:[imageEditView resourceSelector notNil] ] - "Created: / 31.7.1998 / 02:02:54 / cg" -! - -hasClassDefined + "Created: / 04-07-2010 / 10:11:10 / cg" +! + +hasClassDefinedHolder ^ [ imageEditView resourceClass notNil ] - "Created: / 31.7.1998 / 02:02:22 / cg" -! - -hasColorSelected - ^ self selectedColorIndexOrNil notNil + "Created: / 04-07-2010 / 10:11:47 / cg" +! + +hasColorSelectedHolder + ^ [ self selectedColorIndexOrNil notNil ] + + "Created: / 04-07-2010 / 10:12:22 / cg" ! hasColormap - ^ [self image notNil and:[self image colorMap notNil]] - - "Created: / 30.9.1998 / 23:53:55 / cg" + ^ self image notNil and:[self image colorMap notNil] + + "Created: / 30-09-1998 / 23:53:55 / cg" + "Modified: / 04-07-2010 / 10:13:26 / cg" ! hasColormapAndColorSelected - ^ [ self hasColormap and:[self hasColorSelected]] -! - -hasNoColormap - ^ [self image notNil and:[self image colorMap isNil]] - - "Created: / 30.9.1998 / 23:53:55 / cg" -! - -imageHasNextImage + ^ [ self hasColormapHolder value and:[self hasColorSelectedHolder value]] + + "Modified: / 04-07-2010 / 10:13:13 / cg" +! + +hasColormapHolder + ^ [self hasColormap] + + "Created: / 04-07-2010 / 10:13:05 / cg" +! + +imageHasNextImageHolder "returns whether an image is loaded as value holder" ^ [self image notNil and:[self image imageSequence notNil]] - "Created: / 31.7.1998 / 02:04:18 / cg" + "Created: / 04-07-2010 / 10:15:03 / cg" ! imageInfoHolder |holder| + (holder := builder bindingAt:#imageInfoHolder) isNil ifTrue:[ builder aspectAt:#imageInfoHolder put:(holder := '' asValue). ]. ^ holder - "Modified: / 29.7.1998 / 18:32:08 / cg" -! - -imageIsLoaded - "returns whether an image is loaded as value holder" - - |holder| - (holder := builder bindingAt:#imageIsLoaded) isNil ifTrue:[ - builder aspectAt:#imageIsLoaded put:(holder := false asValue). - ]. - ^ holder + "Modified: / 04-07-2010 / 10:15:14 / cg" ! imageIsLoadedAndAllowedToChangeImageDimensionAndDepth "returns whether an image is loaded as value holder" ^ [ - self imageIsLoaded value + self imageIsLoadedHolder value and:[ self allowedToChangeImageDimensionAndDepth ] ] + + "Modified: / 04-07-2010 / 10:15:43 / cg" ! imageIsLoadedAndClassDefined "returns whether an image is loaded as value holder" - ^ [self hasClassAndSelectorDefined value - and:[self imageIsLoaded value]] - - "Created: / 31.7.1998 / 02:04:18 / cg" + ^ [self hasClassAndSelectorDefinedHolder value + and:[self imageIsLoadedHolder value]] + + "Created: / 31-07-1998 / 02:04:18 / cg" + "Modified: / 04-07-2010 / 10:15:48 / cg" +! + +imageIsLoadedHolder + "returns whether an image is loaded as value holder" + + |holder| + + (holder := builder bindingAt:#imageIsLoaded) isNil ifTrue:[ + builder aspectAt:#imageIsLoaded put:(holder := false asValue). + ]. + ^ holder + + "Created: / 04-07-2010 / 10:15:38 / cg" ! listOfColors @@ -3343,13 +3373,16 @@ ^ holder ! -previewBackgroundColor +previewBackgroundColorHolder |holder| + (holder := builder bindingAt:#previewBackgroundColor) isNil ifTrue:[ builder aspectAt:#previewBackgroundColor put:(holder := nil asValue). holder addDependent:self. ]. ^ holder + + "Created: / 04-07-2010 / 10:19:34 / cg" ! selectionOfColor @@ -3457,7 +3490,7 @@ invalidate. ^ self ]. - changedObject == self previewBackgroundColor ifTrue:[ + changedObject == self previewBackgroundColorHolder ifTrue:[ clr := changedObject value isNil ifTrue:[imageEditView viewBackground] ifFalse:[Color perform:changedObject value]. @@ -3545,7 +3578,7 @@ super update:something with:aParameter from:changedObject - "Modified: / 10.2.2000 / 23:36:49 / cg" + "Modified: / 04-07-2010 / 10:19:51 / cg" ! updateColorsFromImage:image @@ -3565,13 +3598,11 @@ updateForNoImage "updates channels and view, if image is loaded" - self imageIsLoaded value: false. + self imageIsLoadedHolder value: false. self listOfColors removeAll. self imagePreView image: nil - - - + "Modified: / 04-07-2010 / 10:15:55 / cg" ! updateLabelsAndHistory @@ -3581,7 +3612,7 @@ image := self image. - self imageIsLoaded value: image notNil. + self imageIsLoadedHolder value: image notNil. image isNil ifTrue: [^nil]. self updateInfoLabel. @@ -3595,6 +3626,8 @@ image fileName notNil ifTrue: [ self addHistoryEntryForFile:image fileName. ]. + + "Modified: / 04-07-2010 / 10:16:02 / cg" ! updateListOfColorsAndColormapMode