[squeak-dev] The Trunk: Tools-tpr.777.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Nov 28 00:03:25 UTC 2017
tim Rowledge uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-tpr.777.mcz
==================== Summary ====================
Name: Tools-tpr.777
Author: tpr
Time: 27 November 2017, 4:03:09.56613 pm
UUID: 71e5c1c3-35d0-4c3d-bbe2-83174f32e145
Ancestors: Tools-dtl.776
Add a directory chooser tool.
Some improvements to FileSaverDIalogs
=============== Diff against Tools-dtl.776 ===============
Item was added:
+ FileAbstractSelectionDialog subclass: #DirectoryChooserDialog
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'Tools-FileDialogs'!
Item was added:
+ ----- Method: DirectoryChooserDialog>>buildWith: (in category 'toolbuilder') -----
+ buildWith: builder
+ "assemble the spec for the chooser dialog UI"
+
+ | windowSpec window |
+ windowSpec := self buildWindowWith: builder specs: {
+ (self frameOffsetFromTop: 0
+ fromLeft: 0
+ width: 1
+ offsetFromBottom: self buttonHeight) -> [self buildDirectoryTreeWith: builder].
+ }.
+ windowSpec buttons add:( builder pluggableButtonSpec new
+ model: self;
+ label: 'Accept';
+ action: #acceptFileName).
+ windowSpec buttons add:( builder pluggableButtonSpec new
+ model: self;
+ label: 'Cancel';
+ action: #cancelFileChooser).
+ window := builder build: windowSpec.
+ self changed: #selectedPath.
+ ^window
+ !
Item was added:
+ ----- Method: DirectoryChooserDialog>>finalChoice (in category 'ui details') -----
+ finalChoice
+ "return the chosen directory that was saved by an accept click or nil; client must check for validity"
+
+ ^self directory fullName!
Item was added:
+ ----- Method: DirectoryChooserDialog>>userMessage (in category 'ui details') -----
+ userMessage
+ "return the string to present to the user in order to explain the purpose of this dialog appearing"
+
+ ^message ifNil:['Choose a directory name']!
Item was added:
+ ----- Method: FileChooserDialog class>>openOnSuffixList:label: (in category 'instance creation') -----
+ openOnSuffixList: patternList label: messageString
+ "open a modal dialog to choose a file. Start the dialog with aDirectory selected and files matching the default 'everything' pattern"
+
+ ^self new
+ suffixList: patternList;
+ message: messageString;
+ getUserResponse!
Item was added:
+ ----- Method: FileSaverDialog class>>openOnInitialFilename:label: (in category 'instance creation') -----
+ openOnInitialFilename: filenameString label: labelString
+ "open a modal dialog to save a file. Start the dialog with the default directory selected and the suggested file name, set the user message to labelString"
+
+
+ ^self new
+ initialFilename: filenameString;
+ message: labelString;
+ getUserResponse
+
+ !
Item was changed:
----- Method: FileSaverDialog>>initialFilename: (in category 'initialize-release') -----
+ initialFilename: aFilenameOrNil
- initialFilename: aFilename
"Set the initial choice of filename to highlight.
We split the potential filename to see if it includes a path and if so, use that as the chosen directory - the client can manually change that with a subsequent send of #directory: if wanted.
We split the root filename to find an extension and use that as the suffix - again, the client can manually change that later"
| e f p |
+ aFilenameOrNil ifNil:[^self].
+
+ p := FileDirectory dirPathFor: aFilenameOrNil.
- p := FileDirectory dirPathFor: aFilename.
p isEmpty ifFalse:[self directory: (FileDirectory on: p)].
+ f := FileDirectory localNameFor: aFilenameOrNil.
- f := FileDirectory localNameFor: aFilename.
fileName := f.
e := FileDirectory extensionFor: f.
e isEmpty ifFalse:[self suffix: e]!
More information about the Squeak-dev
mailing list
|