FileDialog.st
changeset 5066 57de46852214
parent 5062 dc8526b353f7
child 5140 36c7da05d814
equal deleted inserted replaced
5065:6bdca2f9f7c3 5066:57de46852214
   441         #old            - confirm if the file does not exist
   441         #old            - confirm if the file does not exist
   442         #any (other)    - no validation
   442         #any (other)    - no validation
   443     "
   443     "
   444 
   444 
   445 
   445 
   446     | defaultDir defaultNm instance defaultFile locFilename|
   446     |defaultDir defaultNm instance defaultFile locFilename|
   447 
   447 
   448     locFilename := aFileName.
   448     locFilename := aFileName.
   449     defaultNm := locFilename.
   449     defaultNm := locFilename.
   450     defaultDir := aDirectoryPath.
   450     defaultDir := aDirectoryPath.
   451     defaultDir isNil ifTrue:[
   451     defaultDir isNil ifTrue:[
   456             defaultDir isNil ifTrue:[
   456             defaultDir isNil ifTrue:[
   457                 defaultDir := Filename currentDirectory asAbsoluteFilename.        
   457                 defaultDir := Filename currentDirectory asAbsoluteFilename.        
   458             ].
   458             ].
   459         ]
   459         ]
   460     ].
   460     ].
   461     locFilename isEmptyOrNil ifTrue:[
       
   462         locFilename := defaultDir.
       
   463     ].
       
   464     defaultDir := defaultDir asFilename asAbsoluteFilename.
   461     defaultDir := defaultDir asFilename asAbsoluteFilename.
   465     [defaultDir exists not] whileTrue:[
   462     [defaultDir exists] whileFalse:[
   466         defaultDir := defaultDir directory.
   463         defaultDir := defaultDir directory.
   467     ].
   464     ].
   468     forDirectory not ifTrue:[
   465 
       
   466     forDirectory ifTrue:[
       
   467         defaultFile := (locFilename ? defaultDir) asFilename asAbsoluteFilename.
       
   468     ] ifFalse:[
   469         (locFilename notNil and:[locFilename asFilename withoutSuffix baseName ~= '*']) ifTrue:[
   469         (locFilename notNil and:[locFilename asFilename withoutSuffix baseName ~= '*']) ifTrue:[
   470             defaultFile := defaultDir construct:(locFilename asFilename baseName).
   470             defaultFile := defaultDir construct:locFilename asFilename baseName.
   471         ].
   471         ].
   472     ] ifFalse:[
       
   473         defaultFile := locFilename asFilename asAbsoluteFilename.
       
   474     ].
   472     ].
   475     defaultFile isNil ifTrue:[
   473     defaultFile isNil ifTrue:[
   476         defaultFile := defaultDir.
   474         defaultFile := defaultDir.
   477     ].
   475     ].
   478 
   476 
   479     instance := self new.
   477     instance := self new.
   480     defaultDir notNil ifTrue:[instance directory:(defaultDir asFilename)].
   478     defaultDir notNil ifTrue:[instance directory:defaultDir].
   481     instance multipleSelect:multipleSelect ? false.
   479     instance multipleSelect:multipleSelect ? false.
   482     instance startFilename:defaultFile.
   480     instance startFilename:defaultFile.
   483     instance pattern:((pattern isNil or:[pattern isEmpty]) ifTrue:['*'] ifFalse:[pattern]).
   481     instance pattern:((pattern isNil or:[pattern isEmpty]) ifTrue:['*'] ifFalse:[pattern]).
   484     instance initialText:titleString.
   482     instance initialText:titleString.
   485     instance okLabelHolder value:okText.
   483     instance okLabelHolder value:okText.
  1325 ! !
  1323 ! !
  1326 
  1324 
  1327 !FileDialog class methodsFor:'documentation'!
  1325 !FileDialog class methodsFor:'documentation'!
  1328 
  1326 
  1329 version
  1327 version
  1330     ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.38 2003-07-31 08:21:20 penk Exp $'
  1328     ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.39 2003-08-07 14:35:50 stefan Exp $'
  1331 ! !
  1329 ! !