--- a/HierarchicalFileList.st Wed Sep 11 14:54:23 2002 +0200
+++ b/HierarchicalFileList.st Wed Sep 11 14:54:54 2002 +0200
@@ -14,7 +14,7 @@
"{ Package: 'stx:libwidg2' }"
HierarchicalList subclass:#HierarchicalFileList
- instanceVariableNames:'icons matchBlock showCursor'
+ instanceVariableNames:'matchBlock showCursor'
classVariableNames:''
poolDictionaries:''
category:'Views-Support'
@@ -53,10 +53,9 @@
!HierarchicalFileList class methodsFor:'examples'!
-test
+examples
"
-self test
-"
+ [exBegin]
|top sel list|
list := HierarchicalFileList new.
@@ -75,16 +74,8 @@
sel indicatorAction:[:i| (list at:i) toggleExpand ].
top open.
-! !
-
-!HierarchicalFileList class methodsFor:'resources'!
-
-icons
- ^ FileBrowser icons.
-
-
-
-
+ [exEnd]
+"
! !
!HierarchicalFileList methodsFor:'accessing'!
@@ -222,52 +213,11 @@
iconFor:anItem
"returns the icon for an item
"
- |fn key suff mimeType icn|
- fn := anItem fileName.
- icons isNil ifTrue:[ icons := self class icons ].
-
- fn isDirectory ifTrue:[
- icn := (anItem isExpanded and:[anItem hasChildren]) ifTrue:[icons at:#directoryOpen ifAbsent:nil].
- icn notNil ifTrue:[^ icn].
-
- (fn isReadable and:[fn isExecutable]) ifTrue:[
- key := fn isSymbolicLink ifTrue:[#directoryLink]
- ifFalse:[#directory]
- ] ifFalse:[
- key := #directoryLocked
- ].
- ^ icons at:key ifAbsent:nil
+ (anItem isExpanded and:[anItem hasChildren]) ifTrue:[
+ ^ FileBrowser iconForKeyMatching:#directoryOpen
].
-
- fn isReadable ifFalse:[ ^ icons at:#fileLocked ifAbsent:nil ].
- fn isSymbolicLink ifTrue:[ ^ icons at:#fileLink ifAbsent:nil ].
-
- suff := fn suffix.
-
- (suff = 'bak' or:[suff = 'sav']) ifTrue:[
- suff := fn withoutSuffix suffix.
- ].
-
- suff size > 0 ifTrue:[
- ( #( 'o' 'so' 'a' ) includes:suff) ifTrue:[
- ^ icons at:#executableFile ifAbsent:nil
- ].
- mimeType := MIMETypes mimeTypeForSuffix:suff.
-
- mimeType notNil ifTrue:[
- (icn := icons at:mimeType ifAbsent:nil) notNil ifTrue:[^ icn].
-
- (mimeType startsWith:'image/') ifTrue:[
- ^ icons at:#imageFile ifAbsent:nil
- ].
- ].
- ].
-
- fn isExecutableProgram ifTrue:[
- ^ icons at:#executableFile ifAbsent:nil
- ].
- ^ icons at:#file ifAbsent:nil
+ ^ FileBrowser iconForFile:(anItem fileName)
!
matchBlockFor:anItem
@@ -618,5 +568,5 @@
!HierarchicalFileList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalFileList.st,v 1.17 2002-08-20 07:28:25 penk Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalFileList.st,v 1.18 2002-09-11 12:54:54 penk Exp $'
! !