checkin from browser
authorClaus Gittinger <cg@exept.de>
Tue, 08 Apr 2003 16:04:06 +0200
changeset 4796 9131f6780fb5
parent 4795 86443bbe1451
child 4797 6e16a84c6bb5
checkin from browser
FileDialog.st
--- a/FileDialog.st	Tue Apr 08 15:47:44 2003 +0200
+++ b/FileDialog.st	Tue Apr 08 16:04:06 2003 +0200
@@ -1216,4 +1216,136 @@
     treeBrowser enableDirectoryUp addDependent:self.
     treeBrowser viewFilesInDirectoryTree addDependent:self.
     treeBrowser rootHolder value:((self directory) ? (Filename currentDirectory asAbsoluteFilename)).
-    treeBrowser viewFilesInDirectoryTree value:(self viewFiles ? tr
\ No newline at end of file
+    treeBrowser viewFilesInDirectoryTree value:(self viewFiles ? true).
+    treeBrowser viewFilesInDirectoryTree changed.
+    treeBrowser currentFileNameHolder value:(OrderedCollection with:(self startFilename)).
+    treeBrowser expandSelectedItems.
+    self asLoadDialog ifTrue:[
+        treeBrowser newVisibilityHolder value:false.
+        treeBrowser allowFileOperations value:false.
+        self newDirectoryVisibilityHolder value:false.
+    ].
+    self filenameHolder value:(self startFilename).
+    self window label:(resources string:((self initialText) ? 'File Dialog')).
+!
+
+postOpenAsSubcanvasWith:aBuilder    
+    self postOpen.
+    ^ super postOpenAsSubcanvasWith:aBuilder
+!
+
+postOpenWith:aBuilder    
+
+    self postOpen.
+    ^ super postOpenWith:aBuilder.
+! !
+
+!FileDialog methodsFor:'private'!
+
+returnWasPressedInFilterField
+    |ev|
+
+    ev := self windowGroup lastEvent.
+    (ev notNil 
+    and:[ev isKeyEvent 
+    and:[ev key == #Return
+    and:[(   ev targetView isSameOrComponentOf:filterField) 
+         or:[false "ev targetView isSameOrComponentOf:filenameField"]]]]) ifTrue:[
+        ^ true
+    ].
+    ^ false
+!
+
+returnWasPressedInFilterOrFilenameField
+    |ev|
+
+    ev := self windowGroup lastEvent.
+    (ev notNil 
+    and:[ev isKeyEvent 
+    and:[ev key == #Return
+    and:[(   ev targetView isSameOrComponentOf:filterField) 
+         or:[false "ev targetView isSameOrComponentOf:filenameField"]]]]) ifTrue:[
+        ^ true
+    ].
+    ^ false
+! !
+
+!FileDialog methodsFor:'user actions'!
+
+appendPressed
+    appendWasPressed := true.
+    self commonAcceptAction.
+!
+
+commonAcceptAction
+    filenameField accept.
+    self result:(self filenameHolder value asString).
+
+    ^ super doAccept
+!
+
+doAccept
+    "force accept - ignore in filterField"
+
+    self returnWasPressedInFilterField ifTrue:[
+        ^ self
+    ].
+    appendWasPressed := false.
+    self commonAcceptAction.
+!
+
+doBack
+
+    treeBrowser doBack.
+!
+
+doCancel
+
+    self result:nil.
+    ^ super doCancel.
+!
+
+doForward
+
+    treeBrowser doForward.
+!
+
+doGoDirectoryUp
+
+    treeBrowser doGoDirectoryUp.
+!
+
+doGotoHomeDirectory
+
+    treeBrowser doGotoHomeDirectory.
+!
+
+menuDirHistory:backOrForward
+
+    ^ treeBrowser menuDirHistory:backOrForward.
+!
+
+menuDirHistoryBack
+
+    ^ treeBrowser menuDirHistory:#back.
+!
+
+menuDirHistoryForward
+
+    ^ treeBrowser menuDirHistory:#forward.
+!
+
+newDirectory
+
+    ^ treeBrowser newDirectory
+!
+
+okPressed
+    self doAccept
+! !
+
+!FileDialog class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.33 2003-04-08 14:04:06 cg Exp $'
+! !