--- a/FileApplicationNoteBook.st Thu Feb 27 11:46:56 2003 +0100
+++ b/FileApplicationNoteBook.st Thu Feb 27 11:48:46 2003 +0100
@@ -1,77 +1,77 @@
"{ Package: 'stx:libtool' }"
AbstractFileBrowser subclass:#FileApplicationNoteBook
- instanceVariableNames:'canvasHolder selectedEditorPage listOfApplications tabMenuIndex
- tabList selectionHistoryList privateTabList'
- classVariableNames:''
- poolDictionaries:''
- category:'Interface-Tools-File'
+ instanceVariableNames:'canvasHolder selectedEditorPage listOfApplications tabMenuIndex
+ tabList selectionHistoryList privateTabList'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Interface-Tools-File'
!
AbstractFileApplicationNoteBookComponent subclass:#ArchiveViewApplication
- instanceVariableNames:'archiveFileList enableStopButton fileTable currentSortOrder
- selectionHolder tableColumns commandProcess errorListHolder
- viewErrorList temporaryDirectory enableRemoveErrorOutput
- errorListVisibilityHolder hasListEntriesHolder archiver process
- terminateByMe columnDescriptors inDropMode'
- classVariableNames:''
- poolDictionaries:''
- privateIn:FileApplicationNoteBook
+ instanceVariableNames:'archiveFileList enableStopButton fileTable currentSortOrder
+ selectionHolder tableColumns commandProcess errorListHolder
+ viewErrorList temporaryDirectory enableRemoveErrorOutput
+ errorListVisibilityHolder hasListEntriesHolder archiver process
+ terminateByMe columnDescriptors inDropMode'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:FileApplicationNoteBook
!
Object subclass:#ArchivItem
- instanceVariableNames:'fileName size dateAndTime permissions icon ownerGroup method crc
- compressSize ratio version type isDirectory'
- classVariableNames:''
- poolDictionaries:''
- privateIn:FileApplicationNoteBook::ArchiveViewApplication
+ instanceVariableNames:'fileName size dateAndTime permissions icon ownerGroup method crc
+ compressSize ratio version type isDirectory'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:FileApplicationNoteBook::ArchiveViewApplication
!
AbstractFileApplicationNoteBookComponent subclass:#CommandResult
- instanceVariableNames:'resultStream enableStopButton process labelHolder'
- classVariableNames:''
- poolDictionaries:''
- privateIn:FileApplicationNoteBook
+ instanceVariableNames:'resultStream enableStopButton process labelHolder'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:FileApplicationNoteBook
!
AbstractFileApplicationNoteBookComponent subclass:#HtmlViewApplication
- instanceVariableNames:'htmlView labelHolder infoLabelHolder'
- classVariableNames:''
- poolDictionaries:''
- privateIn:FileApplicationNoteBook
+ instanceVariableNames:'htmlView labelHolder infoLabelHolder'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:FileApplicationNoteBook
!
AbstractFileApplicationNoteBookComponent subclass:#ImageViewApplication
- instanceVariableNames:'imageFile imageView image fitSize fitMode'
- classVariableNames:''
- poolDictionaries:''
- privateIn:FileApplicationNoteBook
+ instanceVariableNames:'imageFile imageView image fitSize fitMode'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:FileApplicationNoteBook
!
AbstractFileApplicationNoteBookComponent subclass:#Terminal
- instanceVariableNames:'terminalView'
- classVariableNames:''
- poolDictionaries:''
- privateIn:FileApplicationNoteBook
+ instanceVariableNames:'terminalView'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:FileApplicationNoteBook
!
AbstractFileApplicationNoteBookComponent subclass:#TextEditor
- instanceVariableNames:'fileContentsModel doSaveFile modifiedChannel editView enableSave
- enableReload presentation changeItemProcess closeApplication
- semaChangeItem printAsHexDump itemChanged itemRemoved
- enableHexToggle textEditorChangeModificationTime md5CheckSum
- md5HashValueComputationProcess viewModifiedChannel'
- classVariableNames:''
- poolDictionaries:''
- privateIn:FileApplicationNoteBook
+ instanceVariableNames:'fileContentsModel doSaveFile modifiedChannel editView enableSave
+ enableReload presentation changeItemProcess closeApplication
+ semaChangeItem printAsHexDump itemChanged itemRemoved
+ enableHexToggle textEditorChangeModificationTime md5CheckSum
+ md5HashValueComputationProcess viewModifiedChannel'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:FileApplicationNoteBook
!
AbstractFileApplicationNoteBookComponent subclass:#XViewApplication
- instanceVariableNames:'xView xFile vncServerPID vncPortNr vncConnection viewerPID
- vncLock vncServerIsTerminated xItem ext'
- classVariableNames:''
- poolDictionaries:''
- privateIn:FileApplicationNoteBook
+ instanceVariableNames:'xView xFile vncServerPID vncPortNr vncConnection viewerPID
+ vncLock vncServerIsTerminated xItem ext'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:FileApplicationNoteBook
!
@@ -440,6 +440,15 @@
openApplicationClass:aClass withItem:aItem withType:aType checkExisting:checkExisting
+ ^ self openApplicationClass:aClass
+ withItem:aItem
+ withType:aType
+ checkExisting:checkExisting
+ preSetItem:nil
+!
+
+openApplicationClass:aClass withItem:aItem withType:aType checkExisting:checkExisting preSetItem:aBlock
+
| existingAppl newAppl|
" do not open not readable items "
@@ -448,13 +457,16 @@
Dialog warn:'Can not open unreadable file ', aItem fileName baseName.
AbortSignal raise.
].
- existingAppl := self tryToGetExistingApplFor:aClass withItem:aItem withType:aType.
+ existingAppl := self tryToGetExistingApplFor:aClass withItem:aItem withType:aType preSetItem:aBlock.
existingAppl notNil ifTrue:[
self doSelect:existingAppl.
^ existingAppl
].
].
newAppl := aClass new.
+ aBlock notNil ifTrue:[
+ aBlock value:newAppl.
+ ].
newAppl type:aType.
(newAppl item:aItem) ifFalse:[ ^ nil ].
(aItem notNil and:[(aItem isDirectory not) and:[aType ~= #directoryDescription]]) ifTrue:[
@@ -556,7 +568,7 @@
].
!
-tryToGetExistingApplFor:aClass withItem:aItem withType:aType
+tryToGetExistingApplFor:aClass withItem:aItem withType:aType preSetItem:aBlock
| sameAppls changeAppl selAppl|
@@ -598,6 +610,9 @@
] ifFalse:[
changeAppl := sameAppls first.
].
+ aBlock notNil ifTrue:[
+ aBlock value:changeAppl.
+ ].
self changeItem:aItem for:changeAppl.
selAppl := changeAppl.
].
@@ -684,6 +699,15 @@
openTextEditorOn:aItem type:aDirDescrOrFile
^ self openApplicationClass:TextEditor withItem:aItem withType:aDirDescrOrFile
+!
+
+openTextEditorWithHexPresentationOn:aItem
+
+ ^ self openApplicationClass:TextEditor
+ withItem:aItem
+ withType:#file
+ checkExisting:true
+ preSetItem:[:aTextEditor | aTextEditor presentation:#hexDump].
! !
!FileApplicationNoteBook methodsFor:'applicationlist access'!
@@ -3775,7 +3799,8 @@
item:aDirContentsItem
- self item = aDirContentsItem ifTrue:[^ true].
+ (self item = aDirContentsItem and:[(self presentation == #hexDump) == self printAsHexDump value]) ifTrue:[^ true].
+ self printAsHexDump value:(self presentation == #hexDump).
self stopChangeItemProcess.
super item:aDirContentsItem.
(self askForChange) isNil ifTrue:[ ^ false].
@@ -3905,7 +3930,7 @@
getContents
- |file contents present text string|
+ |file contents present|
file := self fileName.
RecursionInterruptSignal handle:[ : ex |
@@ -4968,5 +4993,5 @@
!FileApplicationNoteBook class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.64 2003-02-26 16:23:22 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.65 2003-02-27 10:48:46 penk Exp $'
! !