FileDialog.st
changeset 3958 39364b0202cf
parent 3956 617ef25f6d1e
child 3959 a49470c56902
--- a/FileDialog.st	Tue Oct 08 12:05:03 2002 +0200
+++ b/FileDialog.st	Tue Oct 08 15:40:43 2002 +0200
@@ -5,7 +5,7 @@
 		enableHome directory pattern filterHolder initialText
 		doubleClickAction cancelLabelHolder okLabelHolder startFilename
 		result filterField filenameField viewFiles filenameLabelHolder
-		asLoadDialog newDirectoryVisibilityHolder'
+		asLoadDialog newDirectoryVisibilityHolder multipleSelect'
 	classVariableNames:'LastFileSelectionDirectory'
 	poolDictionaries:''
 	category:'Interface-Tools-File'
@@ -87,7 +87,8 @@
                         fromDirectory:aDirectoryPath 
                         whenBoxCreatedEvaluate:boxCreatedCallback
                         asLoadDialog:aBoolean
-                        forDirectory:true.
+                        forDirectory:true
+                        multipleSelect:false.
 
     enteredFileNameString := instance result.
     enteredFileNameString isNil ifTrue:[
@@ -213,7 +214,8 @@
                         fromDirectory:aDirectoryPath 
                         whenBoxCreatedEvaluate:boxCreatedCallback
                         asLoadDialog:aBoolean
-                        forDirectory:false.
+                        forDirectory:false
+                        multipleSelect:false.
 
     enteredFileNameString := instance result.
     (enteredFileNameString isNil or:[enteredFileNameString isEmpty]) ifTrue:[
@@ -370,7 +372,8 @@
                         fromDirectory:aDirectoryPath 
                         whenBoxCreatedEvaluate:boxCreatedCallback
                         asLoadDialog:asLoadDialog 
-                        forDirectory:false.
+                        forDirectory:false
+                        multipleSelect:true.
 
     enteredFileNames := instance selectedFiles.
     (enteredFileNames isEmpty or:[instance result isNil]) ifTrue:[
@@ -395,7 +398,7 @@
 "
 !
 
-startApplicationFor:titleString default:aFileName ok:okText abort:abortText ifFail:failBlock pattern:pattern fromDirectory:aDirectoryPath whenBoxCreatedEvaluate:boxCreatedCallback asLoadDialog:asLoadDialog forDirectory:forDirectory
+startApplicationFor:titleString default:aFileName ok:okText abort:abortText ifFail:failBlock pattern:pattern fromDirectory:aDirectoryPath whenBoxCreatedEvaluate:boxCreatedCallback asLoadDialog:asLoadDialog forDirectory:forDirectory multipleSelect:multipleSelect
     "launch a Dialog, which allows user to enter a filename.
      The files presented initially are those in aDirectoryPathOrNil, or the
      last fileBox directory (default: current directory) (if a nil path is given).
@@ -440,6 +443,7 @@
 
     instance := self new.
     defaultDir notNil ifTrue:[instance directory:(defaultDir asFilename)].
+    instance multipleSelect:multipleSelect ? false.
     instance startFilename:defaultFile.
     instance pattern:((pattern isNil or:[pattern isEmpty]) ifTrue:['*'] ifFalse:[pattern]).
     instance initialText:titleString.
@@ -555,6 +559,7 @@
               #layout: #(#LayoutFrame 70 0 -96 1 -10 1 -76 1)
               #tabable: true
               #model: #filenameHolder
+              #immediateAccept: true
               #acceptOnPointerLeave: false
               #postBuildCallback: #postBuildFileNameField:
             )
@@ -569,7 +574,7 @@
               #name: 'FilterEntryField'
               #layout: #(#LayoutFrame 70 0 -69 1 -10 1 -49 1)
               #model: #filterHolder
-              #immediateAccept: true
+              #immediateAccept: false
               #acceptOnReturn: true
               #acceptOnTab: true
               #acceptOnLostFocus: true
@@ -746,6 +751,21 @@
     initialText := something.
 !
 
+multipleSelect
+    "return the value of the instance variable 'pattern' (automatically generated)"
+
+    multipleSelect isNil ifTrue:[
+        multipleSelect := true.
+    ].
+    ^ multipleSelect
+!
+
+multipleSelect:aBoolean
+    "set the value of the instance variable 'multipleSelect' (automatically generated)"
+
+    multipleSelect := aBoolean
+!
+
 newDirectoryVisibilityHolder
     "return the value of the instance variable 'newDirectoryVisibilityHolder' (automatically generated)"
 
@@ -1047,6 +1067,7 @@
     
 
 "/     self windowGroup addPreEventHook:self.
+    treeBrowser multipleSelect:(self multipleSelect).
     treeBrowser currentFileNameHolder addDependent:self.
     treeBrowser doubleClickAction:(self doubleClickAction).
     treeBrowser enableBack addDependent:self.
@@ -1137,5 +1158,5 @@
 !FileDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.8 2002-10-08 09:43:48 penk Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.9 2002-10-08 13:40:40 penk Exp $'
 ! !