FileSelectionBrowser.st
changeset 1353 701e41f8ff9f
parent 1260 6f81c1d73e75
child 1379 1a2e94a447e1
--- a/FileSelectionBrowser.st	Wed Feb 16 09:59:22 2000 +0100
+++ b/FileSelectionBrowser.st	Wed Feb 16 11:19:25 2000 +0100
@@ -54,6 +54,11 @@
 !FileSelectionBrowser class methodsFor:'instance creation'!
 
 request: aTitle fileName: aFileName inDirectory: dir withFileFilters: fileFilters
+    "ask for a file in some directory,
+     using a fileFilter (list of mathcPatterns).
+     Initial selection is aFileName.
+     return the pathName or nil if canceled."
+
     ^self new
         title: aTitle;
         fileName: aFileName;
@@ -62,66 +67,122 @@
         open
 
     "
-    self 
-        request: 'Select Your Profile File' 
-        fileName: '.profile' 
-        inDirectory: Filename homeDirectory 
-        withFileFilters: #('.*')
+     self 
+         request: 'Select Your Profile File' 
+         fileName: '.profile' 
+         inDirectory: Filename homeDirectory 
+         withFileFilters: #('.*')
     "
 
     "Modified: / 17.8.1998 / 10:15:50 / cg"
 !
 
-request: aTitle fileName: aFileName withFileFilters: fileFilters
-    ^self new
+request:aTitle fileName:aFileName withFileFilters:fileFilters
+    "ask for a file in some directory,
+     using a fileFilter (list of mathcPatterns).
+     Initial selection is aFileName.
+     return the pathName or nil if canceled."
+
+    ^ self new
         title: aTitle;
         fileName: aFileName;
         listOfFileFilters: fileFilters;
         open
 
     "
-    self 
-        request: 'Select Your Profile File' 
-        fileName: '/etc/fstab' 
-        withFileFilters: #('*')  
+     self 
+         request: 'Select Your Profile File' 
+         fileName: '/etc/fstab' 
+         withFileFilters: #('*')  
+    "
+
+    "Modified: / 17.8.1998 / 10:15:50 / cg"
+!
+
+request:aTitle inDirectory:aPath withFileFilters:fileFilters 
+    "ask for a file in some directory,
+     using a fileFilter (list of mathcPatterns)
+     return the pathName or nil if canceled."
+
+    ^ (self new)
+        title:aTitle;
+        directory:aPath;
+        listOfFileFilters:fileFilters;
+        open
+
+    "
+     self 
+         request: 'Select A File' 
+         inDirectory: '/etc' 
+         withFileFilters: #('*.conf')
     "
 
     "Modified: / 17.8.1998 / 10:15:50 / cg"
 !
 
-request: aTitle pathName: aPath withFileFilters: fileFilters
-    ^self new
-        title: aTitle;
-        directory: aPath;
-        listOfFileFilters: fileFilters;
-        open
+request:aTitle pathName:aPath withFileFilters:fileFilters 
+    "ask for a file in some directory,
+     using a fileFilter (list of mathcPatterns)
+     return the pathName or nil if canceled.
+     Obsolete - for backward compatibility."
+
+    ^ self
+        request:aTitle inDirectory:aPath withFileFilters:fileFilters
 
     "
-    self 
-        request: 'Select A File' 
-        pathName: '/etc' 
-        withFileFilters: #('*.conf')
+     self 
+         request: 'Select A File' 
+         pathName: '/etc' 
+         withFileFilters: #('*.conf')
     "
 
     "Modified: / 17.8.1998 / 10:15:50 / cg"
 !
 
-request: aTitle withFileFilters: fileFilters
-    ^ self new
-        title: aTitle;
-        listOfFileFilters: fileFilters;
+request:aTitle withFileFilters:fileFilters 
+    "ask for a file in the current directory,
+     using a fileFilter (list of mathcPatterns)
+     return the pathName or nil if canceled"
+
+    ^ (self new)
+        title:aTitle;
+        listOfFileFilters:fileFilters;
         open
+
     "
-    self request: 'Select A File' withFileFilters: #('.*')
+     self request:'Select A File' withFileFilters:#('.*')
+     self request:'Select A File' withFileFilters:#('*.mak;*.st')
     "
 
     "Modified: / 17.8.1998 / 10:15:49 / cg"
 !
 
 requestFileName
-    ^self new title: 'Select A File'; open
+    "ask for a file in the current directory;
+     return the pathName or nil if canceled"
+
+    ^ self new 
+        title:'Select A File';
+        open
+
+    "
+     self requestFileName
     "
-    self requestFileName
+
+    "Modified: / 17.8.1998 / 10:15:48 / cg"
+!
+
+requestFileNameInDirectory:aPath
+    "ask for a file in a directory;
+     return the pathName or nil if canceled"
+
+    ^ self new 
+        title:'Select A File'; 
+        directory:aPath; 
+        open
+
+    "
+     self requestFileNameInDirectory:'/etc' 
     "
 
     "Modified: / 17.8.1998 / 10:15:48 / cg"
@@ -462,8 +523,9 @@
 !
 
 open
+    super open.
 
-    super open.
+    "return the selected file or nil"
     accept value ifTrue:[
         ^ (self selectionOfDirectory value ? '') asFilename 
                 constructString:(self valueOfFileName value ? '')