|
Class: DirectoryContentsBrowser
Object
|
+--Model
|
+--ApplicationModel
|
+--ApplicationWithFileHistory
|
+--AbstractFileBrowser
|
+--AbstractDirectoryBrowser
|
+--DirectoryContentsBrowser
- Package:
- stx:libtool
- Category:
- Interface-Tools-File
- Version:
- rev:
1.336
date: 2023/07/05 22:21:01
- user: cg
- file: DirectoryContentsBrowser.st directory: libtool
- module: stx stc-classLibrary: libtool
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.
copyrightCOPYRIGHT (c) 2002 by eXept Software AG
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
classAccess
-
itemClass
-
self itemClass
constants
-
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:[
-
enterActionForCurrentSelectedFile
-
-
noOfShownFiles: noOfShownFiles noOfFiles: noOfFiles
-
-
setBrowserItemList: aFilteredItems
-
directories first
-
updateDiskUsage
-
aspects
-
browserItemList
-
-
currentDirectoryDisplayed
-
Return the directory as Filename that is currently being 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
-
viewMimeType
-
aspect for show mimeType
-
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
-
(comment from inherited method)
raise an error: must be redefined in concrete subclass(es)
-
hasFilesFiltered
-
selection
-
selectAll
-
-
selectCurrentFiles
-
-
selectFiles: aColOfFilenames
-
nothing 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
-
(comment from inherited method)
a subcanvas is closed or switching to a new application.
Can be redefined to perform a self release in this case.
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
|
|