FileSelectionBrowser.st
changeset 2440 853ea1a1162a
parent 2027 56ea6e57b771
child 2445 d5b2e523859b
equal deleted inserted replaced
2439:9f6c2575f2b1 2440:853ea1a1162a
     7  inclusion of the above copyright notice. This software may not
     7  inclusion of the above copyright notice. This software may not
     8  be provided or otherwise made available to, or used by, any
     8  be provided or otherwise made available to, or used by, any
     9  other person. No title to or ownership of the software is
     9  other person. No title to or ownership of the software is
    10  hereby transferred.
    10  hereby transferred.
    11 "
    11 "
    12 
       
    13 
       
    14 
       
    15 "{ Package: 'stx:libtool2' }"
    12 "{ Package: 'stx:libtool2' }"
    16 
    13 
    17 SelectionBrowser subclass:#FileSelectionBrowser
    14 SelectionBrowser subclass:#FileSelectionBrowser
    18 	instanceVariableNames:'selectedFileFilter directoryView listOfFileFilters directory'
    15 	instanceVariableNames:'selectedFileFilter directoryView listOfFileFilters directory'
    19 	classVariableNames:''
    16 	classVariableNames:''
   533 menuUpdate
   530 menuUpdate
   534     (self componentAt:#directoryTreeView) monitorCycle.
   531     (self componentAt:#directoryTreeView) monitorCycle.
   535 !
   532 !
   536 
   533 
   537 readDirectory
   534 readDirectory
   538 
   535     self directoryTreeView selection notNil ifTrue: [
   539     self directoryTreeView selection notNil 
       
   540     ifTrue: 
       
   541     [
       
   542         directoryView directory: self selectionOfDirectory value.
   536         directoryView directory: self selectionOfDirectory value.
   543         directoryView readDirectory.  
   537         directoryView readDirectory.  
   544         self class lastSelection notNil ifTrue: [self class lastSelection: self selectionOfDirectory value]
   538         self class lastSelection notNil ifTrue: [self class lastSelection: self selectionOfDirectory value]
   545     ]
   539     ]
   546 
   540 
   556     inputField := self directoryInputField.
   550     inputField := self directoryInputField.
   557 
   551 
   558     f := inputField contents.
   552     f := inputField contents.
   559     dir := f asFilename directoryName.
   553     dir := f asFilename directoryName.
   560 
   554 
   561     (completedDirectory := Filename 
   555     completedDirectory := Filename 
   562         filenameCompletionFor:f
   556         filenameCompletionFor:f
   563         directory:dir
   557         directory:dir
   564         directoriesOnly:true 
   558         directoriesOnly:true 
   565         filesOnly:false 
   559         filesOnly:false 
   566         ifMultiple:
   560         ifMultiple:
   567         [:dir | 
   561             [:dir | 
   568             treeView selection notNil ifTrue:[
   562                 treeView selection notNil ifTrue:[
   569                 treeView selectedNodeExpand: true
   563                     treeView selectedNodeExpand: true
   570             ]
   564                 ]
   571         ]) asFilename exists
   565             ].
   572     ifTrue:
   566 
   573     [
   567     completedDirectory asFilename exists ifTrue:[
   574         "/ volume changed ... (win32 or VMS)
   568         "/ volume changed ... (win32 or VMS)
   575         completedDirectory asFilename volume ~= directory asFilename volume ifTrue:[
   569 "/        completedDirectory asFilename volume ~= directory asFilename volume ifTrue:[
   576             self setRootForFile:completedDirectory asFilename.
   570 "/        ].
       
   571         completedDirectory asFilename volume ~= treeView scrolledView directory asFilename volume ifTrue:[
       
   572             treeView scrolledView directory:completedDirectory asFilename volume
   577         ].
   573         ].
   578         treeView selectPathname: completedDirectory.
   574         treeView selectPathname: completedDirectory.
   579         inputField contents: completedDirectory.
   575         inputField contents: completedDirectory.
   580 "/            self directoryTreeView selectPathname: completedDirectory.
       
   581         self readDirectory
   576         self readDirectory
   582     ] ifFalse: [
   577     ] ifFalse: [
   583         inputField flash
   578         inputField flash
   584     ]
   579     ]
   585 
   580