ImageEditor.st
changeset 3379 407c5d5ec14d
parent 3378 7225434f9d46
child 3380 0eb344c2fe3a
equal deleted inserted replaced
3378:7225434f9d46 3379:407c5d5ec14d
    15 
    15 
    16 ResourceSpecEditor subclass:#ImageEditor
    16 ResourceSpecEditor subclass:#ImageEditor
    17 	instanceVariableNames:'imageEditView colorMapMode editMode mouseKeyColorMode
    17 	instanceVariableNames:'imageEditView colorMapMode editMode mouseKeyColorMode
    18 		selectedColorIndex postOpenAction imageSeqNr drawingColormap
    18 		selectedColorIndex postOpenAction imageSeqNr drawingColormap
    19 		lastShiftUsedWrap lastGrabbedScreenArea
    19 		lastShiftUsedWrap lastGrabbedScreenArea
    20 		allowedToChangeImageDimensionAndDepth savedImage'
    20 		allowedToChangeImageDimensionAndDepth savedImage savedFile'
    21 	classVariableNames:'LastDirectory LastSizeString MaskClipboard LastColormapMode
    21 	classVariableNames:'LastDirectory LastSizeString MaskClipboard LastColormapMode
    22 		DefaultRelativeSizes LastURL'
    22 		DefaultRelativeSizes LastURL'
    23 	poolDictionaries:''
    23 	poolDictionaries:''
    24 	category:'Interface-UIPainter'
    24 	category:'Interface-UIPainter'
    25 !
    25 !
  3931 
  3931 
  3932 resourceClass:aClass
  3932 resourceClass:aClass
  3933     imageEditView resourceClass:aClass
  3933     imageEditView resourceClass:aClass
  3934 !
  3934 !
  3935 
  3935 
       
  3936 savedFile
       
  3937     "if user did a save to file, return the filename.
       
  3938      Otherwise, this returns nil"
       
  3939 
       
  3940     ^ savedFile
       
  3941 !
       
  3942 
  3936 savedImage
  3943 savedImage
  3937     "if user did a save, return what was saved last.
  3944     "if user did a save, return what was saved last.
  3938      Otherwise, this returns nil"
  3945      Otherwise, this returns nil"
  3939 
  3946 
  3940     ^ savedImage
  3947     ^ savedImage
  4989     ^ true
  4996     ^ true
  4990 
  4997 
  4991     "Modified: / 29.7.1998 / 18:55:24 / cg"
  4998     "Modified: / 29.7.1998 / 18:55:24 / cg"
  4992 !
  4999 !
  4993 
  5000 
  4994 clearModifiedAndRememberSavedImage
  5001 clearModifiedAndRememberImageSaved
  4995     "called after a save-to-file/or whereever operation"
  5002     "called after a save-to-xxx operation"
  4996     
  5003     
  4997     self clearModified.
  5004     self clearModified.
  4998     savedImage := self image.
  5005     savedImage := self image.
       
  5006 !
       
  5007 
       
  5008 clearModifiedAndRememberImageSavedAsFile:file
       
  5009     "called after a save-to-file operation"
       
  5010     
       
  5011     self clearModifiedAndRememberImageSaved.
       
  5012     savedFile := file.
  4999 !
  5013 !
  5000 
  5014 
  5001 pointFromString:aString
  5015 pointFromString:aString
  5002     |p s x y|
  5016     |p s x y|
  5003 
  5017 
  7527 
  7541 
  7528 doSaveImageFile
  7542 doSaveImageFile
  7529     "saves current image to current file"
  7543     "saves current image to current file"
  7530 
  7544 
  7531     imageEditView save.
  7545     imageEditView save.
  7532     self clearModifiedAndRememberSavedImage.
  7546     self clearModifiedAndRememberImageSaved.
  7533 !
  7547 !
  7534 
  7548 
  7535 doSaveImageFileAs
  7549 doSaveImageFileAs
  7536     "opens a dialog for saving an image to a file"
  7550     "opens a dialog for saving an image to a file"
  7537 
  7551 
  7545     filters := FileSelectionBrowser saveImageFileNameFilters.
  7559     filters := FileSelectionBrowser saveImageFileNameFilters.
  7546 
  7560 
  7547     (UserPreferences current useNativeFileDialog
  7561     (UserPreferences current useNativeFileDialog
  7548      and:[Screen current isWindowsPlatform]) ifTrue:[
  7562      and:[Screen current isWindowsPlatform]) ifTrue:[
  7549         self withWaitCursorDo:[
  7563         self withWaitCursorDo:[
       
  7564             "/ windows only
  7550             file := Screen current
  7565             file := Screen current
  7551                 nativeFileDialogFor:(self window topView id)
  7566                 nativeFileDialogFor:(self window topView id)
  7552                 save:true
  7567                 save:true
  7553                 title:(resources string:'Save Image To')
  7568                 title:(resources string:'Save Image To')
  7554                 inDirectory:(file notNil ifTrue:[file asFilename directory pathName] ifFalse:[LastDirectory])
  7569                 inDirectory:(file notNil ifTrue:[file asFilename directory pathName] ifFalse:[LastDirectory])
  7591     ].
  7606     ].
  7592     file notNil ifTrue:[
  7607     file notNil ifTrue:[
  7593         imageEditView saveImageFileAs:file.
  7608         imageEditView saveImageFileAs:file.
  7594         LastDirectory := file asFilename directoryName.
  7609         LastDirectory := file asFilename directoryName.
  7595         self updateLabelsAndHistory.
  7610         self updateLabelsAndHistory.
  7596         self clearModifiedAndRememberSavedImage.
  7611         self clearModifiedAndRememberImageSavedAsFile:file.
  7597     ]
  7612     ]
  7598 
  7613 
  7599     "Modified: / 14-12-2010 / 13:51:47 / cg"
  7614     "Modified: / 14-12-2010 / 13:51:47 / cg"
  7600 !
  7615 !
  7601 
  7616 
  7608 doSaveMethod
  7623 doSaveMethod
  7609     "saves the image in current class and selector"
  7624     "saves the image in current class and selector"
  7610 
  7625 
  7611     imageEditView saveMethod ifTrue:[
  7626     imageEditView saveMethod ifTrue:[
  7612         self updateLabelsAndHistory.
  7627         self updateLabelsAndHistory.
  7613         self clearModifiedAndRememberSavedImage.
  7628         self clearModifiedAndRememberImageSaved.
  7614     ]
  7629     ]
  7615 !
  7630 !
  7616 
  7631 
  7617 doSaveMethodAs
  7632 doSaveMethodAs
  7618     "opens a dialog for saving current image on a class and a selector"
  7633     "opens a dialog for saving current image on a class and a selector"
  7619 
  7634 
  7620     imageEditView saveMethodAs ifTrue:[
  7635     imageEditView saveMethodAs ifTrue:[
  7621         self updateLabelsAndHistory.
  7636         self updateLabelsAndHistory.
  7622         self clearModifiedAndRememberSavedImage.
  7637         self clearModifiedAndRememberImageSaved.
  7623     ]
  7638     ]
  7624 !
  7639 !
  7625 
  7640 
  7626 doShowPixelArrayLiteralString
  7641 doShowPixelArrayLiteralString
  7627     "opens a dialog showing a literal array-like storeString
  7642     "opens a dialog showing a literal array-like storeString