FileSelectionBrowser.st
changeset 1003 7880fc48f0bb
parent 1001 4474ba86a5d8
child 1005 0b2b698bc4f3
equal deleted inserted replaced
1002:e15c5153e4d8 1003:7880fc48f0bb
   279 
   279 
   280     "Modified: / 23.9.1998 / 16:46:50 / cg"
   280     "Modified: / 23.9.1998 / 16:46:50 / cg"
   281 !
   281 !
   282 
   282 
   283 fileName: aFileName
   283 fileName: aFileName
       
   284     |prevDir|
   284 
   285 
   285     self valueOfFileName value: (aFileName ? '') asFilename baseName.
   286     self valueOfFileName value: (aFileName ? '') asFilename baseName.
       
   287     prevDir := directory.
   286     directory := directory ? ((aFileName ? '') asFilename asAbsoluteFilename directoryName).
   288     directory := directory ? ((aFileName ? '') asFilename asAbsoluteFilename directoryName).
   287 
   289 
   288     "Modified: / 17.8.1998 / 10:15:54 / cg"
   290     "/ on systems with volumes, we might have to update
       
   291     "/ the root here.
       
   292     (prevDir isNil
       
   293     or:[directory asFilename volume ~= prevDir asFilename volume]) ifTrue:[
       
   294         self setRootForFile:directory asFilename.
       
   295     ].
       
   296 
       
   297     "Modified: / 24.9.1998 / 23:41:08 / cg"
   289 !
   298 !
   290 
   299 
   291 listOfFileFilters: anArray
   300 listOfFileFilters: anArray
   292 
   301 
   293     listOfFileFilters := anArray
   302     listOfFileFilters := anArray
   460 
   469 
   461     "Modified: / 17.8.1998 / 10:15:55 / cg"
   470     "Modified: / 17.8.1998 / 10:15:55 / cg"
   462 !
   471 !
   463 
   472 
   464 postBuildWith:aBuilder
   473 postBuildWith:aBuilder
       
   474     |nm file|
   465 
   475 
   466     directoryView listOfFileFilters: listOfFileFilters ? #('*').
   476     directoryView listOfFileFilters: listOfFileFilters ? #('*').
   467     directoryView fileSelectAction: [:aFileName |self valueOfFileName value: aFileName asFilename baseName].
   477     directoryView fileSelectAction: [:aFileName |self valueOfFileName value: aFileName asFilename baseName].
   468     directoryView fileDoubleClickAction: [:aFileName |self fileDoubleClicked: aFileName asFilename baseName].
   478     directoryView fileDoubleClickAction: [:aFileName |self fileDoubleClicked: aFileName asFilename baseName].
   469     directoryView fileFilterSelectAction: [:fileFilter|
   479     directoryView fileFilterSelectAction: [:fileFilter|
   473 "/                                        withSuffix:(fileFilter asFilename suffix))
   483 "/                                        withSuffix:(fileFilter asFilename suffix))
   474         self valueOfFileName value: (
   484         self valueOfFileName value: (
   475             ((self valueOfFileName value ? 'unknown') readStream upTo: $.), '.',
   485             ((self valueOfFileName value ? 'unknown') readStream upTo: $.), '.',
   476             (fileFilter copy reverse readStream upTo: $.) reverse)
   486             (fileFilter copy reverse readStream upTo: $.) reverse)
   477     ]. 
   487     ]. 
   478     self directoryTreeView selectPathname: directory ? self class lastSelection ? Filename currentDirectory asAbsoluteFilename name.
   488     nm := directory.
       
   489     nm isNil ifTrue:[
       
   490         nm := self class lastSelection.
       
   491         nm isNil ifTrue:[
       
   492             nm := Filename currentDirectory asAbsoluteFilename name.
       
   493         ].
       
   494     ].
       
   495 
       
   496     self directoryTreeView selectPathname:nm.
   479 
   497 
   480     self directoryInputField 
   498     self directoryInputField 
   481         entryCompletionBlock:[:f| self entryCompletion].
   499         entryCompletionBlock:[:f| self entryCompletion].
   482 
   500 
       
   501     file := self valueOfFileName value.
   483     directoryView selectionOfFile value: 
   502     directoryView selectionOfFile value: 
   484         (directoryView listOfFiles detect: [:row| row baseName = self valueOfFileName value] ifNone: nil).
   503         (directoryView listOfFiles 
       
   504             detect: [:row | row baseName = file] 
       
   505             ifNone: nil).
   485 
   506 
   486     ^super postBuildWith:aBuilder
   507     ^super postBuildWith:aBuilder
   487 
   508 
   488     "Modified: / 24.9.1998 / 21:34:05 / cg"
   509     "Modified: / 24.9.1998 / 23:41:29 / cg"
   489 ! !
   510 ! !
   490 
   511 
   491 !FileSelectionBrowser class methodsFor:'documentation'!
   512 !FileSelectionBrowser class methodsFor:'documentation'!
   492 
   513 
   493 version
   514 version