# HG changeset patch # User Claus Gittinger # Date 1484926658 -3600 # Node ID 2cb3e68941a8e94f2bc5f8daf146cf0e1a9cf1d0 # Parent 2713168bbe0266c3bdcaa5c7d7b45aa20e136531 #UI_ENHANCEMENT by cg class: ImageEditor more flexibility to make menu items invisible in subclasses. added: #isNotStandAloneAndMethodSaveAndLoadMenuItemsVisible #isStandAloneAndMethodSaveAndLoadMenuItemsVisible #methodSaveAndLoadMenuItemsVisible #modeMenuVisible changed: #helpSpec #menu #menuFile #menuToolbar diff -r 2713168bbe02 -r 2cb3e68941a8 ImageEditor.st --- a/ImageEditor.st Fri Jan 20 15:56:05 2017 +0100 +++ b/ImageEditor.st Fri Jan 20 16:37:38 2017 +0100 @@ -275,14 +275,245 @@ the UIHelpTool may not be able to read the specification." " - UIHelpTool openOnClass:ImageEditor + UIHelpTool openOnClass:ImageEditor " - ^ super helpSpec addPairsFrom:(self localHelpTexts) - - "Modified: / 19-01-2012 / 13:29:42 / cg" + ^ super helpSpec addPairsFrom:#( + +#colorMap +'ColorMap functions' + +#colorMap1 +'Convert to depth-1 image' + +#colorMap1M +'Convert to depth-1 image plus mask' + +#colorMap2 +'Convert to depth-2 image' + +#colorMap24 +'Convert to depth-24 image (rgb)' + +#colorMap2M +'Convert to depth-2 image plus mask' + +#colorMap32 +'Convert to depth-32 image (rgba)' + +#colorMap4 +'Convert to depth-4 image' + +#colorMap4M +'Convert to depth-4 image plus mask' + +#colorMap8 +'Convert to depth-8 image' + +#colorMap8M +'Convert to depth-8 image plus mask' + +#colorMapTable +'Shows a list of used colors of the image' + +#compressColormap +'Remove unneeded entries from the colorMap' + +#cropAll +'Find and remove all borders' + +#cropBottom +'Find and remove bottom border' + +#cropLeft +'Find and remove left border' + +#cropManual +'Specify border(s) to remove.' + +#cropRight +'Find and remove right border' + +#cropTop +'Find and remove top border' + +#drawModeBox +'Rectangle Drawing Mode' + +#drawModeCircle +'Circle Drawing Mode' + +#drawModeCopy +'Area Copy Mode' + +#drawModeFill +'Flood Fill Mode' + +#drawModeFilledBox +'Filled Rectangle Drawing Mode' + +#drawModePaste +'Paste Mode' + +#drawModePasteUnder +'Paste-Under Mode' + +#drawModePasteWithMask +'Paste-with-Mask Mode' + +#drawModePoint +'Point Drawing Mode' + +#drawModeSpecial +'Special operations (select rectangle, then choose operation)' + +#drawModeSpray +'Spray Drawing Mode' + +#edit3DProjection +'' + +#editFlipHorizontal +'Flip the image horizontally' + +#editFlipVertical +'Flip the image vertically' + +#editMagnifyImage +'Magnify the image' + +#editNegate +'Invert the images colors' + +#editResize +'Resize the image (preserving the old image)' + +#editRotate +'Rotate the image' + +#fileEditMask +'' + +#fileGrabImageFromScreen +'Pick an image from the screen (specify area)' + +#fileGrabImageFromWindow +'Pick an image from a window on the screen (click on window)' + +#fileLoadFromClass +'Select and load an image from a resource method' + +#fileLoadFromFile +'Select and load an image from a file' + +#fileLoadFromURL +'Load an image from the net, given its URL' + +#fileNewImage +'Create a new image' + +#fileNewImageFromClipboard +'Create a new image and initialize it from the clipboard' + +#fileNewMaskFromClipboard +'Paste the image in the clipboard as a mask. Must be a depth-1 image' + +#filePrint +'Print the image on a postscript printer' + +#fileSave +'Save the image' + +#fileSaveAs +'Save the image to a file' + +#fileSaveButtonImageAs +'Save an image of a button with the image to a file (for html use)' + +#fileSaveMaskAs +'Save the mask of the image to a file' + +#fileSaveMethod +'Save the image as resource method in the current class and selector' + +#fileSaveMethodAs +'Save the image as resource method in a class' + +#magnificationNumber +'Shows the current magnification' + +#magnifyImageDown +'Decrease magnification' + +#magnifyImageUp +'Increase magnification' + +#mouseKeyColorMode +'Toggle between left and right mouse button color' + +#nextImageInSequence +'Go to the next image in the animated gif image sequence.' + +#previewView +'Shows a preview of the image' + +#previousImageInSequence +'Go to the previous image in the animated gif image sequence.' + +#settingsGridMagnification +'Change the grid magnification of the edit view' + +#xdrawModeBox +'Rectangle' + +#xdrawModeCopy +'Copy' + +#xdrawModeFill +'Flood-fill' + +#xdrawModeFilledBox +'Filled rectangle' + +#xdrawModePaste +'Paste' + +#xdrawModePasteUnder +'Paste under' + +#xdrawModePasteWithMask +'Paste with Mask' + +#xdrawModePoint +'Point' + +#xfileGrabImage +'Pick from screen' + +#xfileLoadFromClass +'Load from method...' + +#xfileLoadFromFile +'Load from file...' + +#xfileNewImage +'New image' + +#xfileSaveAs +'Save to file...' + +#xfileSaveMaskAs +'Save mask to file...' + +#xfileSaveMethod +'Save as method' + +#xfileSaveMethodAs +'Save as Method...' + +) ! localHelpTexts @@ -2202,6 +2433,7 @@ label: 'Mode' translateLabel: true submenuChannel: modeMenu + isVisible: modeMenuVisible ) (MenuItem label: 'Colors' @@ -2843,6 +3075,7 @@ activeHelpKey: fileLoadFromClass label: 'Load...' itemValue: doLoadFromClass + isVisible: methodSaveAndLoadMenuItemsVisible ) (MenuItem activeHelpKey: fileLoadFromFile @@ -2891,12 +3124,14 @@ enabled: imageIsLoadedAndClassDefined label: 'Save' itemValue: doSaveMethod + isVisible: methodSaveAndLoadMenuItemsVisible ) (MenuItem activeHelpKey: fileSaveMethodAs enabled: imageIsLoadedHolder label: 'Save As...' itemValue: doSaveMethodAs + isVisible: methodSaveAndLoadMenuItemsVisible ) (MenuItem activeHelpKey: fileSaveAs @@ -3130,7 +3365,6 @@ activeHelpKey: fileNewImage label: 'newImage' itemValue: doNewImage - translateLabel: true isButton: true labelImage: (ResourceRetriever ToolbarIconLibrary newImageIcon) ) @@ -3138,7 +3372,6 @@ activeHelpKey: fileGrabImageFromScreen label: 'grabScreenImage' itemValue: grabScreenImage - translateLabel: true isButton: true labelImage: (ResourceRetriever ToolbarIconLibrary snapshot24x24Icon) ) @@ -3149,9 +3382,8 @@ activeHelpKey: fileLoadFromClass label: 'loadFromClass' itemValue: doLoadFromClass - translateLabel: true isButton: true - isVisible: isStandAlone + isVisible: isStandAloneAndMethodSaveAndLoadMenuItemsVisible submenuChannel: menuHistory labelImage: (ResourceRetriever XPToolbarIconLibrary loadImageFromMethodIcon) keepLinkedMenu: true @@ -3161,9 +3393,8 @@ enabled: imageIsLoadedHolder label: 'fileSaveMethodAs' itemValue: doSaveMethodAs - translateLabel: true isButton: true - isVisible: isStandAlone + isVisible: isStandAloneAndMethodSaveAndLoadMenuItemsVisible labelImage: (ResourceRetriever XPToolbarIconLibrary saveImageAsMethodAsIcon) ) (MenuItem @@ -3171,19 +3402,18 @@ enabled: imageIsLoadedHolder label: 'saveAsMethod' itemValue: doSaveMethod - translateLabel: true isButton: true - isVisible: isNotStandAlone + isVisible: isNotStandAloneAndMethodSaveAndLoadMenuItemsVisible labelImage: (ResourceRetriever ToolbarIconLibrary saveImageAsMethodIcon) ) (MenuItem label: '-' + isVisible: methodSaveAndLoadMenuItemsVisible ) (MenuItem activeHelpKey: fileLoadFromFile label: 'loadFromFile' itemValue: doLoadFromFile - translateLabel: true isButton: true labelImage: (ResourceRetriever ToolbarIconLibrary loadImageFromFileIcon) ) @@ -3192,7 +3422,6 @@ enabled: imageIsLoadedHolder label: 'saveAsFile' itemValue: doSaveImageFileAs - translateLabel: true isButton: true labelImage: (ResourceRetriever ToolbarIconLibrary saveImageToFileAsIcon) ) @@ -3204,7 +3433,6 @@ enabled: canUndoHolder label: 'Undo' itemValue: doUndo - translateLabel: true isButton: true labelImage: (ResourceRetriever ToolbarIconLibrary undoIcon) ) @@ -3217,7 +3445,6 @@ enabled: imageHasPreviousImageHolder label: 'Previous Image' itemValue: previousImageInSequence - translateLabel: true isVisible: imageHasImageSequenceHolder labelImage: (ResourceRetriever ToolbarIconLibrary leftArrow24x24Icon) ) @@ -3226,7 +3453,6 @@ enabled: imageHasNextImageHolder label: 'Next Image' itemValue: nextImageInSequence - translateLabel: true isVisible: imageHasImageSequenceHolder labelImage: (ResourceRetriever ToolbarIconLibrary rightArrow24x24Icon) ) @@ -4624,6 +4850,24 @@ "Modified: / 16.3.1999 / 21:45:07 / cg" ! ! +!ImageEditor methodsFor:'menu item visibility'! + +isNotStandAloneAndMethodSaveAndLoadMenuItemsVisible + ^ self isNotStandAlone and:[ self methodSaveAndLoadMenuItemsVisible ] +! + +isStandAloneAndMethodSaveAndLoadMenuItemsVisible + ^ self isStandAlone and:[ self methodSaveAndLoadMenuItemsVisible ] +! + +methodSaveAndLoadMenuItemsVisible + ^ true +! + +modeMenuVisible + ^ true +! ! + !ImageEditor methodsFor:'menu modes'! colorMapMode