FileSelectionBrowser.st
changeset 998 ad33f2625598
parent 992 4d408220a60b
child 1000 efafa57e0313
equal deleted inserted replaced
997:2a8a32256d4a 998:ad33f2625598
   271 
   271 
   272     "Modified: / 17.8.1998 / 10:15:53 / cg"
   272     "Modified: / 17.8.1998 / 10:15:53 / cg"
   273 !
   273 !
   274 
   274 
   275 directoryView
   275 directoryView
       
   276     "return the directory view on the right side (a subcanvas)"
   276 
   277 
   277     ^directoryView ? (directoryView := DirectoryView new)
   278     ^directoryView ? (directoryView := DirectoryView new)
       
   279 
       
   280     "Modified: / 23.9.1998 / 16:46:50 / cg"
   278 !
   281 !
   279 
   282 
   280 fileName: aFileName
   283 fileName: aFileName
   281 
   284 
   282     self valueOfFileName value: (aFileName ? '') asFilename baseName.
   285     self valueOfFileName value: (aFileName ? '') asFilename baseName.
   308 
   311 
   309 rootOfDirectory
   312 rootOfDirectory
   310 
   313 
   311     |holder|
   314     |holder|
   312     (holder := builder bindingAt:#rootOfDirectory) isNil ifTrue:[
   315     (holder := builder bindingAt:#rootOfDirectory) isNil ifTrue:[
   313         builder aspectAt:#rootOfDirectory put: (holder :=  Filename rootDirectory name asValue).
   316         builder 
       
   317             aspectAt:#rootOfDirectory 
       
   318             put: (holder :=  Filename rootDirectory name asValue).
   314     ].
   319     ].
   315     ^ holder
   320     ^ holder
   316 
   321 
       
   322     "Modified: / 23.9.1998 / 16:34:59 / cg"
   317 !
   323 !
   318 
   324 
   319 selectionOfDirectory
   325 selectionOfDirectory
   320 
   326 
   321     |holder|
   327     |holder|
   322     (holder := builder bindingAt:#selectionOfDirectory) isNil ifTrue:[
   328     (holder := builder bindingAt:#selectionOfDirectory) isNil ifTrue:[
   323         builder aspectAt:#selectionOfDirectory put: (holder := ValueHolder new)
   329         builder aspectAt:#selectionOfDirectory put: (holder := ValueHolder new)
   324     ].
   330     ].
   325     ^ holder
   331     ^ holder
   326 
   332 
       
   333 !
       
   334 
       
   335 setRootForFile:aFilename
       
   336     self rootOfDirectory
       
   337         value:(Filename 
       
   338                     rootDirectoryOnVolume:
       
   339                         aFilename asFilename volume) pathName
       
   340 
       
   341     "Created: / 23.9.1998 / 16:36:28 / cg"
   327 !
   342 !
   328 
   343 
   329 valueOfFileName
   344 valueOfFileName
   330 
   345 
   331     |holder|
   346     |holder|
   398     self directoryTreeView selectPathname: directory ? self class lastSelection ? Filename currentDirectory asAbsoluteFilename name.
   413     self directoryTreeView selectPathname: directory ? self class lastSelection ? Filename currentDirectory asAbsoluteFilename name.
   399 
   414 
   400     self directoryInputField entryCompletionBlock: 
   415     self directoryInputField entryCompletionBlock: 
   401     [:f|
   416     [:f|
   402        |completedDirectory|
   417        |completedDirectory|
       
   418 
   403        (completedDirectory := Filename 
   419        (completedDirectory := Filename 
   404             filenameCompletionFor: self directoryInputField contents
   420             filenameCompletionFor: self directoryInputField contents
   405             directory:(directory asFilename)
   421             directory:(directory asFilename)
   406             directoriesOnly:true 
   422             directoriesOnly:true 
   407             filesOnly:false 
   423             filesOnly:false 
   410                 self directoryTreeView selection notNil ifTrue: [
   426                 self directoryTreeView selection notNil ifTrue: [
   411                     self directoryTreeView selectedNodeExpand: true]
   427                     self directoryTreeView selectedNodeExpand: true]
   412             ]) asFilename exists
   428             ]) asFilename exists
   413         ifTrue:
   429         ifTrue:
   414         [
   430         [
       
   431             "/ volume changed ... (win32 or VMS)
       
   432             completedDirectory asFilename volume ~= directory asFilename volume ifTrue:[
       
   433                 self setRootForFile:completedDirectory asFilename.
       
   434             ].
       
   435 
   415             self directoryInputField contents: completedDirectory.
   436             self directoryInputField contents: completedDirectory.
   416             self directoryTreeView selectPathname: completedDirectory.
   437             self directoryTreeView selectPathname: completedDirectory.
   417             self readDirectory
   438             self readDirectory
   418         ]
   439         ]
   419         ifFalse: [self directoryInputField flash]
   440         ifFalse: [self directoryInputField flash]
   422     directoryView selectionOfFile value: 
   443     directoryView selectionOfFile value: 
   423         (directoryView listOfFiles detect: [:row| row baseName = self valueOfFileName value] ifNone: nil).
   444         (directoryView listOfFiles detect: [:row| row baseName = self valueOfFileName value] ifNone: nil).
   424 
   445 
   425     ^super postBuildWith:aBuilder
   446     ^super postBuildWith:aBuilder
   426 
   447 
   427     "Modified: / 12.9.1998 / 17:10:44 / cg"
   448     "Modified: / 23.9.1998 / 16:40:38 / cg"
   428 ! !
   449 ! !
   429 
   450 
   430 !FileSelectionBrowser class methodsFor:'documentation'!
   451 !FileSelectionBrowser class methodsFor:'documentation'!
   431 
   452 
   432 version
   453 version