#REFACTORING by cg
class: DialogBox
added: #imageSaveDialog:image:default:pattern:
--- a/DialogBox.st Sat Jan 14 15:08:26 2017 +0100
+++ b/DialogBox.st Sat Jan 14 15:18:13 2017 +0100
@@ -6469,6 +6469,38 @@
asStringWith:'; '
! !
+!DialogBox class methodsFor:'save dialogs'!
+
+imageSaveDialog:title image:image default:defaultFileName pattern:pattern
+ "a complete bitmap image save dialog.
+ Offers edit and save as button options.
+ Returns the fileName if saved, nil if not"
+
+ |fileName|
+
+ fileName := self
+ requestFileNameForImageSave:title
+ image:image
+ default:defaultFileName
+ pattern:pattern.
+
+ fileName isEmptyOrNil ifTrue:[^ nil].
+
+ image saveOn:fileName.
+ ImageEditView notNil ifTrue:[
+ ImageEditView lastSaveDirectory:(fileName asFilename directory pathName).
+ ].
+ ^ fileName
+
+ "
+ Dialog
+ imageSaveDialog:'save screen image'
+ image:(Image fromScreen:(0@0 corner:100@100))
+ default:'screen.png'
+ pattern:'*.png;*.gif;*.bmp'
+ "
+! !
+
!DialogBox class methodsFor:'smalltalk dialogs'!
requestClass:aString