--- a/ImageEditor.st Mon Nov 12 17:23:41 2007 +0100
+++ b/ImageEditor.st Mon Nov 19 15:53:43 2007 +0100
@@ -1655,306 +1655,14 @@
(MenuItem
label: '&File'
translateLabel: true
- submenu:
- (Menu
- (
- (MenuItem
- activeHelpKey: fileNewImageEditor
- label: 'New ImageEditor'
- itemValue: doNewImageEditor
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: fileNewImage
- label: 'New...'
- itemValue: doNewImage
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: fileNewImage
- label: 'New from ClipBoard'
- itemValue: doNewImageFromClipboard
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- activeHelpKey: fileLoadFromClass
- label: 'Load...'
- itemValue: doLoadFromClass
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: fileLoadFromFile
- label: 'Load from File...'
- itemValue: doLoadFromFile
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: fileGrabImage
- label: 'Grab from Screen...'
- itemValue: grabScreenImage
- translateLabel: true
- )
- (MenuItem
- enabled: imageHasNextImage
- label: 'Next in Sequence'
- itemValue: nextImageInSequence
- translateLabel: true
- isVisible: isStandAlone
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- activeHelpKey: fileSaveMethod
- enabled: imageIsLoadedAndClassDefined
- label: 'Save'
- itemValue: doSaveMethod
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: fileSaveMethodAs
- enabled: imageIsLoaded
- label: 'Save As...'
- itemValue: doSaveMethodAs
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: fileSaveAs
- enabled: imageIsLoaded
- label: 'Save to File...'
- itemValue: doSaveImageFileAs
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: fileSaveMaskAs
- enabled: imageIsLoaded
- label: 'Save Mask to File...'
- itemValue: doSaveImageMaskFileAs
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: fileSaveButtonImageAs
- enabled: imageIsLoaded
- label: 'Save as Button to File...'
- itemValue: doSaveButtonImageToFileAs
- translateLabel: true
- )
- (MenuItem
- enabled: imageIsLoaded
- label: 'Copy to Clipboard'
- itemValue: doCopyImageToClipboard
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- activeHelpKey: fileShowStoreString
- enabled: imageIsLoaded
- label: 'Show storeString'
- itemValue: doShowStoreString
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: fileEditMask
- enabled: imageIsLoaded
- label: 'Edit Mask'
- itemValue: doEditMask
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- activeHelpKey: filePrint
- enabled: imageIsLoaded
- label: 'Print'
- itemValue: doPrint
- translateLabel: true
- )
- (MenuItem
- label: '-'
- isVisible: isStandAlone
- )
- (MenuItem
- activeHelpKey: fileBrowseClass
- enabled: hasClassDefined
- label: 'Browse Class'
- itemValue: doBrowseClass
- translateLabel: true
- isVisible: isStandAlone
- )
- (MenuItem
- label: 'Inspect Image'
- itemValue: doInspectImage
- translateLabel: true
- isVisible: isStandAlone
- )
- (MenuItem
- label: '-'
- isVisible: isStandAlone
- )
- (MenuItem
- activeHelpKey: fileExit
- label: 'Exit'
- itemValue: closeRequest
- translateLabel: true
- isVisible: isStandAlone
- )
- )
- nil
- nil
- )
+ submenuChannel: menuFile
+ keepLinkedMenu: true
)
(MenuItem
- enabled: imageIsLoaded
label: 'Edit'
translateLabel: true
- submenu:
- (Menu
- (
- (MenuItem
- activeHelpKey: editUndo
- enabled: canUndoHolder
- label: 'Undo'
- itemValue: doUndo
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- activeHelpKey: editFlipVertical
- label: 'Flip - Vertical'
- itemValue: doFlipVertical
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: editFlipHorizontal
- label: 'Flip - Horizontal'
- itemValue: doFlipHorizontal
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- activeHelpKey: editResize
- label: 'Resize...'
- itemValue: doResizeImage
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: editMagnifyImage
- label: 'Magnify...'
- itemValue: doMagnifyImage
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: editMagnifyImage
- label: 'Magnify By...'
- itemValue: doMagnifyImageBy
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: editRotate
- label: 'Rotate...'
- itemValue: doRotateImage
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Invert'
- itemValue: doNegativeImage
- translateLabel: true
- )
- (MenuItem
- label: 'Brighten'
- itemValue: doBrightenImage
- translateLabel: true
- )
- (MenuItem
- label: 'Darken'
- itemValue: doDarkenImage
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Crop'
- translateLabel: true
- submenu:
- (Menu
- (
- (MenuItem
- activeHelpKey: cropManual
- label: 'Manual...'
- itemValue: doCropManual
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- activeHelpKey: cropAll
- label: 'All'
- itemValue: doCropAll
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- activeHelpKey: cropLeft
- label: 'Left'
- itemValue: doCropLeft
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: cropRight
- label: 'Right'
- itemValue: doCropRight
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: cropTop
- label: 'Top'
- itemValue: doCropTop
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: cropBottom
- label: 'Bottom'
- itemValue: doCropBottom
- translateLabel: true
- )
- )
- nil
- nil
- )
- )
- (MenuItem
- activeHelpKey: uncropManual
- label: 'Uncrop (Add Border)...'
- itemValue: doUnCropManual
- translateLabel: true
- )
- (MenuItem
- activeHelpKey: shiftManual
- label: 'Shift...'
- itemValue: doShiftManual
- translateLabel: true
- )
- )
- nil
- nil
- )
+ submenuChannel: menuEdit
+ keepLinkedMenu: true
)
(MenuItem
enabled: imageIsLoaded
@@ -2293,6 +2001,351 @@
)
!
+menuEdit
+ "This resource specification was automatically generated
+ by the MenuEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the MenuEditor may not be able to read the specification."
+
+ "
+ MenuEditor new openOnClass:ImageEditor andSelector:#menuEdit
+ (Menu new fromLiteralArrayEncoding:(ImageEditor menuEdit)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ activeHelpKey: editUndo
+ enabled: canUndoHolder
+ label: 'Undo'
+ itemValue: doUndo
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ activeHelpKey: editResize
+ label: 'Resize...'
+ itemValue: doResizeImage
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: editMagnifyImage
+ label: 'Magnify...'
+ itemValue: doMagnifyImage
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: editMagnifyImage
+ label: 'Magnify By...'
+ itemValue: doMagnifyImageBy
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: editRotate
+ label: 'Rotate...'
+ itemValue: doRotateImage
+ translateLabel: true
+ )
+ (MenuItem
+ label: 'Flip'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ activeHelpKey: editFlipVertical
+ label: 'Flip - Vertical'
+ itemValue: doFlipVertical
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: editFlipHorizontal
+ label: 'Flip - Horizontal'
+ itemValue: doFlipHorizontal
+ translateLabel: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Invert'
+ itemValue: doNegativeImage
+ translateLabel: true
+ )
+ (MenuItem
+ label: 'Brighten'
+ itemValue: doBrightenImage
+ translateLabel: true
+ )
+ (MenuItem
+ label: 'Darken'
+ itemValue: doDarkenImage
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Crop'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ activeHelpKey: cropManual
+ label: 'Manual...'
+ itemValue: doCropManual
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ activeHelpKey: cropAll
+ label: 'All'
+ itemValue: doCropAll
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ activeHelpKey: cropLeft
+ label: 'Left'
+ itemValue: doCropLeft
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: cropRight
+ label: 'Right'
+ itemValue: doCropRight
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: cropTop
+ label: 'Top'
+ itemValue: doCropTop
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: cropBottom
+ label: 'Bottom'
+ itemValue: doCropBottom
+ translateLabel: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ (MenuItem
+ activeHelpKey: uncropManual
+ label: 'Uncrop (Add Border)...'
+ itemValue: doUnCropManual
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: shiftManual
+ label: 'Shift...'
+ itemValue: doShiftManual
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Text...'
+ itemValue: doInsertTextFromUser
+ translateLabel: true
+ )
+ )
+ nil
+ nil
+ )
+
+ "Modified: / 11-11-2007 / 12:19:32 / cg"
+!
+
+menuFile
+ "This resource specification was automatically generated
+ by the MenuEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the MenuEditor may not be able to read the specification."
+
+ "
+ MenuEditor new openOnClass:ImageEditor andSelector:#menuFile
+ (Menu new fromLiteralArrayEncoding:(ImageEditor menuFile)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ activeHelpKey: fileNewImageEditor
+ label: 'New ImageEditor'
+ itemValue: doNewImageEditor
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: fileNewImage
+ label: 'New...'
+ itemValue: doNewImage
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: fileNewImage
+ label: 'New from ClipBoard'
+ itemValue: doNewImageFromClipboard
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ activeHelpKey: fileLoadFromClass
+ label: 'Load...'
+ itemValue: doLoadFromClass
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: fileLoadFromFile
+ label: 'Load from File...'
+ itemValue: doLoadFromFile
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: fileGrabImage
+ label: 'Grab from Screen...'
+ itemValue: grabScreenImage
+ translateLabel: true
+ )
+ (MenuItem
+ enabled: imageHasNextImage
+ label: 'Next in Sequence'
+ itemValue: nextImageInSequence
+ translateLabel: true
+ isVisible: isStandAlone
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ activeHelpKey: fileSaveMethod
+ enabled: imageIsLoadedAndClassDefined
+ label: 'Save'
+ itemValue: doSaveMethod
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: fileSaveMethodAs
+ enabled: imageIsLoaded
+ label: 'Save As...'
+ itemValue: doSaveMethodAs
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: fileSaveAs
+ enabled: imageIsLoaded
+ label: 'Save to File...'
+ itemValue: doSaveImageFileAs
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: fileSaveMaskAs
+ enabled: imageIsLoaded
+ label: 'Save Mask to File...'
+ itemValue: doSaveImageMaskFileAs
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: fileSaveButtonImageAs
+ enabled: imageIsLoaded
+ label: 'Save as Button to File...'
+ itemValue: doSaveButtonImageToFileAs
+ translateLabel: true
+ )
+ (MenuItem
+ enabled: imageIsLoaded
+ label: 'Copy to Clipboard'
+ itemValue: doCopyImageToClipboard
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ activeHelpKey: fileShowStoreString
+ enabled: imageIsLoaded
+ label: 'Show storeString'
+ itemValue: doShowStoreString
+ translateLabel: true
+ )
+ (MenuItem
+ activeHelpKey: fileEditMask
+ enabled: imageIsLoaded
+ label: 'Edit Mask'
+ itemValue: doEditMask
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ activeHelpKey: filePrint
+ enabled: imageIsLoaded
+ label: 'Print'
+ itemValue: doPrint
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ isVisible: isStandAlone
+ )
+ (MenuItem
+ activeHelpKey: fileBrowseClass
+ enabled: hasClassDefined
+ label: 'Browse Class'
+ itemValue: doBrowseClass
+ translateLabel: true
+ isVisible: isStandAlone
+ )
+ (MenuItem
+ label: 'Inspect Image'
+ itemValue: doInspectImage
+ translateLabel: true
+ isVisible: isStandAlone
+ )
+ (MenuItem
+ label: '-'
+ isVisible: isStandAlone
+ )
+ (MenuItem
+ activeHelpKey: fileExit
+ label: 'Exit'
+ itemValue: closeRequest
+ translateLabel: true
+ isVisible: isStandAlone
+ )
+ )
+ nil
+ nil
+ )
+!
+
menuMouseButtonColors
"This resource specification was automatically generated
by the MenuEditor of ST/X."
@@ -4962,6 +5015,35 @@
imageEditView flipVertical
!
+doInsertTextFromUser
+ |text tempForm tempImage maskImage font w h|
+
+ text := Dialog request:'Text to be inserted:'.
+
+ font := Font family:'arial' size:20.
+ font := font onDevice:Screen current.
+ w := font widthOf:text.
+ h := font heightOf:text.
+
+ tempForm := Form extent:(w@h) depth:1 onDevice:(Screen current).
+ tempForm clear.
+ tempForm font:font.
+ tempForm paint:(Color colorId:1).
+ tempForm displayString:text at:(0@font ascent).
+
+ tempImage := tempForm asImage.
+ maskImage := tempForm asImage.
+ tempImage
+ photometric:#palette;
+ colorMap:(Array with:Color white with:imageEditView selectedColor);
+ mask:maskImage.
+
+ ImageEditView copyImageToClipboard:tempImage.
+ self editMode value:#paste.
+
+ "Modified: / 11-11-2007 / 12:32:55 / cg"
+!
+
doInspectImage
"opens a System Browser on the resourceClass and the resourceSelector"
@@ -5093,11 +5175,13 @@
box abortText:(resources string:'Cancel').
box initialText: '0'.
box showAtPointer.
- (box accepted and: [(rotation := Object readFromString: box contents onError:nil) notNil])
+ (box accepted and: [(rotation := Number readFromString: box contents onError:nil) notNil])
ifTrue:[
imageEditView rotateImageBy:rotation.
self updateInfoLabel.
].
+
+ "Modified: / 11-11-2007 / 13:21:11 / cg"
!
doShiftManual