|
Class: DirectoryContentsBrowser
Object
|
+--Model
|
+--ApplicationModel
|
+--AbstractFileBrowser
|
+--AbstractDirectoryBrowser
|
+--DirectoryContentsBrowser
- Package:
- stx:libtool
- Category:
- Interface-Tools-File
- Version:
- rev:
1.306
date: 2019/08/17 12:42:03
- user: cg
- file: DirectoryContentsBrowser.st directory: libtool
- module: stx stc-classLibrary: libtool
- Author:
- Christian Penk (penk@bierfix)
An application for displaying a directories' contents flat (or as a tree, alternatively).
To be used as a building block in file browsers and fileSelection dialogs.
This is used as the top-right component in the new fileBrowser.
FileBrowserV2
classAccess
-
itemClass
-
self itemClass
constant
-
updateTaskCyleTime
-
time to check for changed directories or changed columns
(unless triggered by an action)
-
updateTaskPriority
-
priority of the update task
image specs
-
detailsMenuIconDown
-
-
detailsMenuIconR
-
This resource specification was automatically generated
by the ImageEditor of ST/X.
usage example(s):
self detailsMenuIconR inspect
ImageEditor openOnClass:self andSelector:#detailsMenuIconR
Icon flushCachedIcons
|
-
detailsMenuIconUp
-
instance creation
-
openIn: aDirectory
-
open a standalone broser for a directory
usage example(s):
self openIn:'.cvsignore' asFilename
|
-
openIn: aDirectory withDirectories: withDirectoriesBoolean
-
open a broswer (standalone) for a directory
usage example(s):
self openIn:Filename currentDirectory withDirectories:true
|
interface specs
-
tableColumns
-
This resource specification was automatically generated
by the DataSetBuilder of ST/X.
usage example(s):
DataSetBuilder new openOnClass:DirectoryContentsBrowser andSelector:#tableColumns
|
-
windowSpec
-
This resource specification was automatically generated
by the UIPainter of ST/X.
usage example(s):
UIPainter new openOnClass:DirectoryContentsBrowser andSelector:#windowSpec
DirectoryContentsBrowser new openInterface:#windowSpec
DirectoryContentsBrowser open
|
menu specs
-
directoryContentsBrowserMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
usage example(s):
MenuEditor new openOnClass:DirectoryContentsBrowser andSelector:#directoryContentsBrowserMenu
(Menu new fromLiteralArrayEncoding:(DirectoryContentsBrowser directoryContentsBrowserMenu)) startUp
|
-
viewBrowserMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
usage example(s):
MenuEditor new openOnClass:DirectoryContentsBrowser andSelector:#viewBrowserMenu
(Menu new fromLiteralArrayEncoding:(DirectoryContentsBrowser viewBrowserMenu)) startUp
|
-
viewBrowserMenuSpec
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
usage example(s):
MenuEditor new openOnClass:DirectoryContentsBrowser andSelector:#viewBrowserMenuSpec
(Menu new fromLiteralArrayEncoding:(DirectoryContentsBrowser viewBrowserMenuSpec)) startUp
|
accessing
-
allItems
-
-
allItems: something
-
-
browserFileList
-
-
columnDescriptors
-
get the column description
-
columnDescriptors: aListOfColumns
-
set the column description
-
directory
-
returns the current directory or nil
-
directory: aDirectory
-
change the current directory and read the items
-
directoryChangeFlag
-
-
directoryChangeFlag: aBoolean
-
-
directoryContentsChangeFlag
-
return the value of the instance variable 'directoryContentsChangeFlag' (automatically generated)
-
directoryContentsChangeFlag: aBoolean
-
set the value of the instance variable 'directoryContentsChangeFlag' (automatically generated)
-
doubleClickAction
-
-
doubleClickAction: aBlock
-
aBlock is a one arg block with selected index as argument
-
enterActionBlock
-
-
enterActionBlock: aBlock
-
-
filterChangeFlag
-
return the value of the instance variable 'filterChangeFlag' (automatically generated)
-
filterChangeFlag: aBoolean
-
set the value of the instance variable 'filterChangeFlag' (automatically generated)
-
isBusy
-
return the value of the instance variable 'isBusy' (automatically generated)
-
isBusy: something
-
set the value of the instance variable 'isBusy' (automatically generated)
-
matchBlock
-
return the value of the instance variable 'matchBlock' (automatically generated)
-
matchBlock: filterBlock
-
-
multipleSelect
-
-
multipleSelect: aBoolean
-
-
sortBlockChangeFlag
-
return the value of the instance variable 'sortBlockChangeFlag' (automatically generated)
-
sortBlockChangeFlag: aBoolean
-
set the value of the instance variable 'sortBlockChangeFlag' (automatically generated)
-
updateContentsSelection
-
return the value of the instance variable 'updateToExternFileHolder' (automatically generated)
-
updateCurrentFileNameHolderWhenSelectionChanges
-
-
updateCurrentFileNameHolderWhenSelectionChanges: aBoolean
-
actions
-
browserItemListAdd: addItemCol remove: remItemCol
-
-
currentSortOrderChanged
-
self wakeUpForSortBlockChanged.
-
doResizeImage
-
Processor activeProcess ~~ self windowGroup process ifTrue:[self halt].
-
doUpdate
-
DirectoryContents flushCache.
-
doUpdateDirectoryContents
-
DirectoryContents flushCache.
-
doubleClickedAt: anItemIndex
-
self withWaitCursorDo:[
-
enterActionFor: anItem
-
self withWaitCursorDo:[
-
noOfShownFiles: noOfShownFiles noOfFiles: noOfFiles
-
-
setBrowserItemList: aFilteredItems
-
same
-
updateDiskUsage
-
aspects
-
browserItemList
-
-
currentDirectoryDisplayed
-
Return a directory as Filename that is currently displayed in the browser
-
hasTwoImageFilesSelected
-
-
selectionInFileList
-
-
tableColumns
-
-
valueHolderForColumn: id
-
xlate #suffix -> viewType, etc...
i.e. for a columns readSelector, return my valueHolder
-
viewFileInfoString
-
-
viewSizeInBytesString
-
-
viewSizeInKiloBytesString
-
-
viewSizeString
-
-
viewSuffix
-
-
viewTimeAndDate
-
aspects-visibility
-
colVisibilityAspectFor: aKey ifAbsent: absentBlock
-
aspect for a columns visibility
-
viewDescription
-
aspect for show file description
-
viewDetails
-
aspect for show more file properties
-
viewGroup
-
aspect for show group information
-
viewIcon
-
aspect for show file-type icon
-
viewInodeNumber
-
aspect for show inode number
-
viewOwner
-
aspect for show owner information
-
viewPermissions
-
aspect for show permission information
-
viewPreview
-
aspect for show image previev
-
viewSize
-
aspect for show-size information
-
viewSizeInBytes
-
aspect for show size-in-bytes information
-
viewSizeInKiloBytes
-
aspect for show size-in-kilobytes information
-
viewTime
-
aspect for show time information
-
viewType
-
aspect for show suffix (type) information
change & update
-
currentFileNameHolderChanged
-
filename changed
-
filterBlockHolderChanged
-
-
selectionChanged
-
-
update: something with: aParameter from: changedObject
-
one of my models changed
-
updateListAfterDelete: collectionOfFiles
-
to force update of the numberOfShown files.
-
viewPreviewChanged
-
-
viewedColumnsChanged
-
drag & drop
-
doStartDrag: aDropSource in: aView
-
set the cursors before starting the drag & drop operation
-
dropDestinationPath
-
-
dropObjects: aCollectionOfDropObjects
-
drop manager wants to drop.
This is only sent, if #canDrop: returned true.
Must be redefined in order for drop to work.
-
dropOver: aDropContext
-
called during drag & drop while moving over the widget.
-
dropTargetItemChangedTo: anItem in: aDropContext
-
(anItem notNil and:[anItem isDirectory]) ifTrue:[ self halt].
-
getDisplayObjects: anArgument
-
Modified (format): / 20-06-2017 / 08:17:43 / cg
event handling
-
processEvent: anEvent
-
filter keyboard events.
Return true, if I have eaten the event
initialization
-
initialize
-
menu accessing
-
viewBrowserMenu
-
menu actions
-
doShowFileContents
-
-
enterAction
-
queries
-
allItemsOfCurrentDirectory
-
remove the '..' item
-
fileListIsEmpty
-
-
getAllFilesAsStrings
-
-
hasFilesFiltered
-
selection
-
selectAll
-
-
selectCurrentFiles
-
-
selectFiles: aColOfFilenames
-
anything changed ?
-
selectItems: aColOfItems
-
| curSel newSel|
-
selectNextFile
-
-
selectPreviousFile
-
-
selectedFileItems
-
-
selectedFileNames
-
-
selectedFiles
-
-
selectedItems
-
-
selectedItemsWithoutDotDotDirectory
-
startup & release
-
makeDependent
-
-
postBuildBrowser: aWidget
-
don't register icons anymore
-
postOpenFromMaster: fromMaster
-
-
release
-
release my resources
-
releaseAsSubCanvas
-
update columns cycle
-
findNextItemFor: aConditionBlock
-
^ self allItems detect:aBlock ifNone:[nil].
-
findNextVisibleItemFor: aConditionBlock
-
possible race condition - item removed from browserItemList
-
getFileInfoFor: anItem
-
-
getIconFor: anItem
-
do not query attributes
-
getIconForMimeType: mime for: anItem
-
-
getIconForMimeTypeByContents: anItem
-
-
getPreviewFor: anItem
-
there is no preview column
-
updateColumnsCycle
-
update items in the following order
- update item if item properties are changed
- update icon for visible items by suffix
- update icon for visible items by contents
- update file info for visible items if file info column is shown
- update preview for visible items if preview column is shown
- update icon for invisible items by suffix
- update icon for invisible items by contents
- update file info for invisible items if file info column is shown
- update preview for invisible items if preview column is shown
- update file info for invisible items if file info column is not shown
Return true, if more is to be done.
update task
-
createItemList
-
reread the whole list of items
-
debugMessage: aString
-
Debug := true
Debug := false
-
directoryChanged
-
reread the whole list of items
-
directoryContentsChanged
-
updatingColumns := true.
-
evaluateFilter: anItemsList
-
return filtered items from anItemsList
-
filterChanged
-
-
modificationCycle
-
directory vanished
-
readDirectoryItems
-
-
sortBlockChanged
-
Modified (format): / 09-04-2017 / 22:18:33 / cg
-
startUpdateTask
-
-
stopUpdateTask
-
-
updateAfterTimeout: hereDueToTimeOut
-
Transcript showCR:'START'.
-
updateStep
-
no update while scrolling
update task trigger
-
wakeUp
-
the updateTask might be nil or dead....
-
wakeUpForDirectoryChanged
-
-
wakeUpForDirectoryContentsChanged
-
-
wakeUpForFilterChanged
-
-
wakeUpForSortBlockChanged
-
update task-disk usage
-
diskUsageInKiloBytesFor: aDirectory
-
-
flushRememberedDiskUsageInfo
-
-
flushRememberedDiskUsageInfoFor: aDirectory
-
-
isDiskUsageInfoStillValid: infoForDirectory for: aDirectoryPath
-
only update info every 30 seconds
-
showDiskUsageInfoFor: aDirectory as: kiloBytes
-
pathName
-
startDiskUsageInfoProcess
-
self notify:'Symbolic link to: ' , (info path ? '') allBold
-
startDiskUsageInfoProcessFor: selectedFile
-
DirectoryContentsItem
DirectoryContentsBrowser openIn:Filename currentDirectory
|
|