DirectoryTreeBrowser.st
branchjv
changeset 12401 4714b9640528
parent 12262 d25ef6bb0ef3
parent 12114 d3f28a282edd
child 12431 9f0c59c742d5
--- a/DirectoryTreeBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/DirectoryTreeBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -66,6 +66,7 @@
 "
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'instance creation'!
 
 open
@@ -104,6 +105,7 @@
 "
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'defaults'!
 
 timeForExpandOnDropInMilliseconds
@@ -111,6 +113,7 @@
     ^ 1500
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'interface specs'!
 
 windowSpec
@@ -179,6 +182,7 @@
       )
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'menu specs'!
 
 menu
@@ -399,6 +403,7 @@
       )
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -421,6 +426,7 @@
       ).
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'accessing'!
 
 allowRenameOnOneClick
@@ -453,6 +459,7 @@
     ^ updateTreeSelection
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'actions'!
 
 doDoubleClick:anIndex 
@@ -708,6 +715,7 @@
     ]
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'aspects'!
 
 allowFileOperations
@@ -801,6 +809,7 @@
     ^ treeSelectionHolder
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'change & update'!
 
 changeMatchBlock
@@ -919,6 +928,7 @@
     ^ self
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'drag & drop'!
 
 dropDestinationPath
@@ -1045,12 +1055,16 @@
         afterMilliseconds:(self class timeForExpandOnDropInMilliseconds).
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'event handling'!
 
 processEvent:anEvent
     "filter keyboard events.
      Return true, if I have eaten the event"
 
+    <resource: #keyboard (#CursorLeft #FocusPrevious #FocusNext
+                          #Cut #Copy #Delete #Replace #Paste )>
+
     |focusView key rawKey|
 
     anEvent isKeyPressEvent ifFalse:[^ false].
@@ -1103,6 +1117,7 @@
     ^ false
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'queries'!
 
 hasOpenEditor
@@ -1132,6 +1147,7 @@
 "/    ^ false
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'selection'!
 
 firstSelectedDirectory
@@ -1170,9 +1186,9 @@
     root notNil ifTrue:[ rootDir := root fileName asAbsoluteFilename ].
 
     items := OrderedCollection new.
-    aColOfFileOrDirectory do:[:file|
-        file exists ifTrue:[
-            item := self fileList findLastForFile:file inRoot:root directory:rootDir.
+    aColOfFileOrDirectory do:[:eachFile|
+        (eachFile notNil and:[eachFile exists]) ifTrue:[
+            item := self fileList findLastForFile:eachFile inRoot:root directory:rootDir.
             item isNil ifTrue:[
                 "/ set a new root directory
                 newRoot := self commonPrefixOfSelectedFiles.
@@ -1183,11 +1199,11 @@
                 ].
                 item := self fileList root.
 
-                file isDirectory ifTrue:[ directory := file ]
-                                 ifFalse:[ directory := file directory ]
+                eachFile isDirectory ifTrue:[ directory := eachFile ]
+                                 ifFalse:[ directory := eachFile directory ]
                                   .
-                directory == file ifFalse:[
-                    item := item detect:[:el| el fileName = file ] ifNone:item.
+                directory == eachFile ifFalse:[
+                    item := item detect:[:el| el fileName = eachFile ] ifNone:item.
                 ].
             ].
             item notNil ifTrue:[
@@ -1255,6 +1271,7 @@
     ^ Array with:selection. "Wrap single value into Array"
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'startup & release'!
 
 makeDependent
@@ -1357,6 +1374,7 @@
     ^ super release.
 ! !
 
+
 !DirectoryTreeBrowser::DirTreeBrowserHFL methodsFor:'accessing'!
 
 draggedItem
@@ -1369,6 +1387,7 @@
     draggedItem := anItemOrNil.
 ! !
 
+
 !DirectoryTreeBrowser::DirTreeBrowserHFL methodsFor:'protocol'!
 
 grayDirectoryIcon
@@ -1389,16 +1408,18 @@
     ^ super iconFor:anItem.
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.120 2012/07/12 11:08:30 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.122 2013-01-17 11:16:54 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.120 2012/07/12 11:08:30 cg Exp §'
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.122 2013-01-17 11:16:54 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: DirectoryTreeBrowser.st 8018 2012-07-18 17:00:57Z vranyj1 $'
 ! !
+