FileApplicationNoteBook.st
author Jan Vrany <jan.vrany@labware.com>
Wed, 05 Oct 2022 11:57:26 +0100
branchjv
changeset 19637 28f5bfaa093d
parent 19611 a4b9d283ca40
permissions -rw-r--r--
`NewSystemBrowser`: avoid updating package info when changed class is not selected This speeds up loading of packages when browser is open as it does not (needlessly) update package info which may involve scm round-trip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5140
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
     1
"
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
     2
 COPYRIGHT (c) 2002 by eXept Software AG
19606
77274bbcd92b Theming: use `SystemBrowser emphasisForChangesCode`
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
     3
 COPYRIGHT (c) 2021 LabWare
5140
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
     4
              All Rights Reserved
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
     5
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
     6
 This software is furnished under a license and may be used
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
     7
 only in accordance with the terms of that license and with the
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
     8
 inclusion of the above copyright notice.   This software may not
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
     9
 be provided or otherwise made available to, or used by, any
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
    10
 other person.  No title to or ownership of the software is
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
    11
 hereby transferred.
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
    12
"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    13
"{ Package: 'stx:libtool' }"
321c1729db5b initial checkin
penk
parents:
diff changeset
    14
15112
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
    15
"{ NameSpace: Smalltalk }"
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
    16
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    17
AbstractFileBrowser subclass:#FileApplicationNoteBook
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    18
	instanceVariableNames:'canvasHolder selectedEditorPage listOfApplications tabMenuIndex
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    19
		tabList selectionHistoryList privateTabList'
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    20
	classVariableNames:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    21
	poolDictionaries:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    22
	category:'Interface-Tools-File'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    23
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    24
321c1729db5b initial checkin
penk
parents:
diff changeset
    25
AbstractFileApplicationNoteBookComponent subclass:#ArchiveViewApplication
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    26
	instanceVariableNames:'archiveFileList enableStopButton fileTable currentSortOrder
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    27
		selectionHolder tableColumns commandProcess errorListHolder
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    28
		viewErrorList temporaryDirectory enableRemoveErrorOutput
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    29
		errorListVisibilityHolder hasListEntriesHolder archiver process
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    30
		terminateByMe columnDescriptors inDropMode'
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    31
	classVariableNames:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    32
	poolDictionaries:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    33
	privateIn:FileApplicationNoteBook
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    34
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    35
321c1729db5b initial checkin
penk
parents:
diff changeset
    36
Object subclass:#ArchivItem
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    37
	instanceVariableNames:'fileName size dateAndTime permissions icon ownerGroup method crc
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    38
		compressSize ratio version type isDirectory'
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    39
	classVariableNames:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    40
	poolDictionaries:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    41
	privateIn:FileApplicationNoteBook::ArchiveViewApplication
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    42
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    43
321c1729db5b initial checkin
penk
parents:
diff changeset
    44
AbstractFileApplicationNoteBookComponent subclass:#CommandResult
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    45
	instanceVariableNames:'resultStream enableStopButton process labelHolder'
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    46
	classVariableNames:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    47
	poolDictionaries:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    48
	privateIn:FileApplicationNoteBook
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    49
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    50
7909
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
    51
AbstractFileApplicationNoteBookComponent subclass:#DigitalNotepadFileViewApplication
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    52
	instanceVariableNames:'imageView image fitSize fitMode'
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    53
	classVariableNames:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    54
	poolDictionaries:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    55
	privateIn:FileApplicationNoteBook
7909
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
    56
!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
    57
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    58
AbstractFileApplicationNoteBookComponent subclass:#HtmlViewApplication
10566
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
    59
	instanceVariableNames:'htmlView labelHolder infoLabelHolder webBrowserPage'
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    60
	classVariableNames:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    61
	poolDictionaries:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    62
	privateIn:FileApplicationNoteBook
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    63
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    64
321c1729db5b initial checkin
penk
parents:
diff changeset
    65
AbstractFileApplicationNoteBookComponent subclass:#ImageViewApplication
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    66
	instanceVariableNames:'imageFile imageView image fitSize fitMode'
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    67
	classVariableNames:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    68
	poolDictionaries:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    69
	privateIn:FileApplicationNoteBook
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    70
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    71
321c1729db5b initial checkin
penk
parents:
diff changeset
    72
AbstractFileApplicationNoteBookComponent subclass:#Terminal
14801
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
    73
	instanceVariableNames:'terminalView scrollLockedHolder'
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    74
	classVariableNames:'DefaultLineLimit'
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    75
	poolDictionaries:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    76
	privateIn:FileApplicationNoteBook
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    77
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    78
321c1729db5b initial checkin
penk
parents:
diff changeset
    79
AbstractFileApplicationNoteBookComponent subclass:#TextEditor
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    80
	instanceVariableNames:'fileContentsModel modifiedChannel editView enableSave
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    81
		enableReload presentation changeItemProcess closeApplication
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    82
		semaChangeItem wantToPrintAsHexDump printAsHexDump itemChanged
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    83
		itemRemoved enableHexToggle md5CheckSum
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    84
		md5HashValueComputationProcess viewModifiedChannel
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    85
		textEditorModificationTime checkModifiedBlock fileEncodingHolder
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    86
		doNotShowFontDialog lockFileEncodingHolder enableSelectInBrowser
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
    87
		tagsBrowserVisibleHolder tagsBrowser editorToolBarVisibleHolder
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
    88
		editorOperationsToolBarVisibleHolder
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
    89
		editorOperationsMenuSpecHolder'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
    90
	classVariableNames:'DefaultTagsBrowserVisible MaxFileSizeLoadedWithoutAsking
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
    91
		DefaultEditorToolBarVisible DefaultEditorOperationsToolBarVisible'
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    92
	poolDictionaries:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    93
	privateIn:FileApplicationNoteBook
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
    94
!
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
    95
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
    96
AbstractFileApplicationNoteBookComponent subclass:#XMLViewApplication
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    97
	instanceVariableNames:'xmlTreeApp labelHolder infoLabelHolder'
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    98
	classVariableNames:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
    99
	poolDictionaries:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
   100
	privateIn:FileApplicationNoteBook
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
   101
!
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
   102
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   103
AbstractFileApplicationNoteBookComponent subclass:#XViewApplication
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
   104
	instanceVariableNames:'xView xFile vncServerPID vncPortNr vncConnection viewerPID
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
   105
		vncLock vncServerIsTerminated xItem ext'
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
   106
	classVariableNames:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
   107
	poolDictionaries:''
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
   108
	privateIn:FileApplicationNoteBook
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   109
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   110
5140
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   111
!FileApplicationNoteBook class methodsFor:'documentation'!
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   112
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   113
copyright
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   114
"
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   115
 COPYRIGHT (c) 2002 by eXept Software AG
19606
77274bbcd92b Theming: use `SystemBrowser emphasisForChangesCode`
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   116
 COPYRIGHT (c) 2021 LabWare
5140
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   117
              All Rights Reserved
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   118
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   119
 This software is furnished under a license and may be used
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   120
 only in accordance with the terms of that license and with the
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   121
 inclusion of the above copyright notice.   This software may not
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   122
 be provided or otherwise made available to, or used by, any
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   123
 other person.  No title to or ownership of the software is
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   124
 hereby transferred.
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   125
"
5968
a8715e97c1cc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5959
diff changeset
   126
!
a8715e97c1cc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5959
diff changeset
   127
a8715e97c1cc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5959
diff changeset
   128
documentation
a8715e97c1cc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5959
diff changeset
   129
"
a8715e97c1cc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5959
diff changeset
   130
    [Author:]
a8715e97c1cc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5959
diff changeset
   131
        Christian Penk
a8715e97c1cc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5959
diff changeset
   132
"
5140
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5120
diff changeset
   133
! !
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   134
321c1729db5b initial checkin
penk
parents:
diff changeset
   135
!FileApplicationNoteBook class methodsFor:'application list'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   136
321c1729db5b initial checkin
penk
parents:
diff changeset
   137
applicationList
7840
3b752b047d94 comment
Claus Gittinger <cg@exept.de>
parents: 7787
diff changeset
   138
    " returns a list of all applications to start by the NoteBookApplication with 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   139
                #className                         #type                    
321c1729db5b initial checkin
penk
parents:
diff changeset
   140
321c1729db5b initial checkin
penk
parents:
diff changeset
   141
            example:
321c1729db5b initial checkin
penk
parents:
diff changeset
   142
            #(  #'FooEditor'                       nil                      )
7840
3b752b047d94 comment
Claus Gittinger <cg@exept.de>
parents: 7787
diff changeset
   143
    "
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   144
321c1729db5b initial checkin
penk
parents:
diff changeset
   145
    ^ #(
7909
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
   146
            #(  #'TextEditor'                        #file                    )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
   147
            #(  #'TextEditor'                        #directoryDescription    )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
   148
            #(  #'HtmlViewApplication'               nil                      )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
   149
            #(  #'FindFileApplication'               nil                      )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
   150
            #(  #'Terminal'                          nil                      )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
   151
            #(  #'ImageViewApplication'              nil                      )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
   152
            #(  #'ArchiveViewApplication'            nil                      )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
   153
            #(  #'CommandResult'                     nil                      )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
   154
            #(  #'XViewApplication'                  nil                      )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
   155
            #(  #'DigitalNotepadFileViewApplication' nil                      )
12121
57a6e8face3b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12115
diff changeset
   156
            #(  #'XMLViewApplication'                nil                      )
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   157
       )
7840
3b752b047d94 comment
Claus Gittinger <cg@exept.de>
parents: 7787
diff changeset
   158
9788
675dca9b2692 changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9786
diff changeset
   159
    "Modified: / 21-02-2011 / 17:21:54 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   160
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   161
321c1729db5b initial checkin
penk
parents:
diff changeset
   162
classFor:aApplicationListItem
321c1729db5b initial checkin
penk
parents:
diff changeset
   163
    |rawName cls|
321c1729db5b initial checkin
penk
parents:
diff changeset
   164
321c1729db5b initial checkin
penk
parents:
diff changeset
   165
    rawName := aApplicationListItem at:1.
321c1729db5b initial checkin
penk
parents:
diff changeset
   166
    (cls := self privateClassesAt:rawName) isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   167
        cls := Smalltalk at:rawName.
321c1729db5b initial checkin
penk
parents:
diff changeset
   168
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   169
    ^ cls
321c1729db5b initial checkin
penk
parents:
diff changeset
   170
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   171
321c1729db5b initial checkin
penk
parents:
diff changeset
   172
defaultApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
   173
" returns the application to be started if no itemQuery returns true or no supportedSuffix is supported
321c1729db5b initial checkin
penk
parents:
diff changeset
   174
"
321c1729db5b initial checkin
penk
parents:
diff changeset
   175
321c1729db5b initial checkin
penk
parents:
diff changeset
   176
    ^ self applicationList detect:[: applItem|
321c1729db5b initial checkin
penk
parents:
diff changeset
   177
        (((self classFor:applItem) == self textEditorClass)
321c1729db5b initial checkin
penk
parents:
diff changeset
   178
        and:[(self typeFor:applItem) == #file])
321c1729db5b initial checkin
penk
parents:
diff changeset
   179
    ] ifNone:[nil].
321c1729db5b initial checkin
penk
parents:
diff changeset
   180
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   181
321c1729db5b initial checkin
penk
parents:
diff changeset
   182
typeFor:aApplicationListItem
321c1729db5b initial checkin
penk
parents:
diff changeset
   183
321c1729db5b initial checkin
penk
parents:
diff changeset
   184
    ^ aApplicationListItem at:2
321c1729db5b initial checkin
penk
parents:
diff changeset
   185
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   186
321c1729db5b initial checkin
penk
parents:
diff changeset
   187
!FileApplicationNoteBook class methodsFor:'classAccess'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   188
321c1729db5b initial checkin
penk
parents:
diff changeset
   189
textEditorClass
321c1729db5b initial checkin
penk
parents:
diff changeset
   190
321c1729db5b initial checkin
penk
parents:
diff changeset
   191
    ^ TextEditor
321c1729db5b initial checkin
penk
parents:
diff changeset
   192
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   193
321c1729db5b initial checkin
penk
parents:
diff changeset
   194
!FileApplicationNoteBook class methodsFor:'defaults'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   195
321c1729db5b initial checkin
penk
parents:
diff changeset
   196
openAnotherApplicationOnSameItem
321c1729db5b initial checkin
penk
parents:
diff changeset
   197
321c1729db5b initial checkin
penk
parents:
diff changeset
   198
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
   199
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   200
321c1729db5b initial checkin
penk
parents:
diff changeset
   201
!FileApplicationNoteBook class methodsFor:'interface specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   202
321c1729db5b initial checkin
penk
parents:
diff changeset
   203
windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
   204
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
   205
     by the UIPainter of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
   206
321c1729db5b initial checkin
penk
parents:
diff changeset
   207
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
   208
     the UIPainter may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
   209
321c1729db5b initial checkin
penk
parents:
diff changeset
   210
    "
6484
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   211
     UIPainter new openOnClass:FileApplicationNoteBook andSelector:#windowSpec
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   212
     FileApplicationNoteBook new openInterface:#windowSpec
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   213
     FileApplicationNoteBook open
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   214
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   215
321c1729db5b initial checkin
penk
parents:
diff changeset
   216
    <resource: #canvas>
321c1729db5b initial checkin
penk
parents:
diff changeset
   217
321c1729db5b initial checkin
penk
parents:
diff changeset
   218
    ^ 
6484
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   219
     #(FullSpec
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   220
        name: windowSpec
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   221
        window: 
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   222
       (WindowSpec
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   223
          label: 'FileBrowserV2TextEditor'
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   224
          name: 'FileBrowserV2TextEditor'
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   225
          min: (Point 10 10)
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   226
          bounds: (Rectangle 0 0 300 300)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   227
        )
6484
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   228
        component: 
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   229
       (SpecCollection
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   230
          collection: (
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   231
           (NoteBookViewSpec
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   232
              name: 'CommandAndTextEditor'
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   233
              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   234
              model: selectedEditorPage
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   235
              menu: tabList
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   236
              useIndex: true
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   237
              accessTabMenuAction: tabMenuAt:
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
   238
              destroyTabAction: destroyTabAt:
6484
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   239
              canvas: canvasHolder
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   240
              keepCanvasAlive: true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   241
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
   242
           )
321c1729db5b initial checkin
penk
parents:
diff changeset
   243
         
321c1729db5b initial checkin
penk
parents:
diff changeset
   244
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
   245
      )
321c1729db5b initial checkin
penk
parents:
diff changeset
   246
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   247
321c1729db5b initial checkin
penk
parents:
diff changeset
   248
!FileApplicationNoteBook class methodsFor:'menu specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   249
321c1729db5b initial checkin
penk
parents:
diff changeset
   250
tabMenu
321c1729db5b initial checkin
penk
parents:
diff changeset
   251
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
   252
     by the MenuEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
   253
321c1729db5b initial checkin
penk
parents:
diff changeset
   254
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
   255
     the MenuEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
   256
321c1729db5b initial checkin
penk
parents:
diff changeset
   257
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   258
     MenuEditor new openOnClass:FileApplicationNoteBook andSelector:#tabMenu
321c1729db5b initial checkin
penk
parents:
diff changeset
   259
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook tabMenu)) startUp
321c1729db5b initial checkin
penk
parents:
diff changeset
   260
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   261
321c1729db5b initial checkin
penk
parents:
diff changeset
   262
    <resource: #menu>
321c1729db5b initial checkin
penk
parents:
diff changeset
   263
321c1729db5b initial checkin
penk
parents:
diff changeset
   264
    ^ 
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   265
     #(Menu
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   266
        (
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   267
         (MenuItem
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   268
            label: 'Add Text Editor'
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   269
            itemValue: newTextEditor
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   270
            translateLabel: true
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   271
          )
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   272
         (MenuItem
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   273
            label: '-'
5307
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   274
          )
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   275
         (MenuItem
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   276
            label: 'Select in Filelist'
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   277
            itemValue: doSelectInList
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   278
            translateLabel: true
4045
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
   279
          )
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   280
         (MenuItem
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   281
            label: '-'
5186
040b261bb5d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5160
diff changeset
   282
          )
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   283
         (MenuItem
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
   284
            label: 'Rename Tab...'
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   285
            itemValue: doRenameTab
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   286
            translateLabel: true
4572
ed5f7a7f1a8d + rename tab
Claus Gittinger <cg@exept.de>
parents: 4553
diff changeset
   287
          )
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   288
         (MenuItem
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   289
            label: '-'
4572
ed5f7a7f1a8d + rename tab
Claus Gittinger <cg@exept.de>
parents: 4553
diff changeset
   290
          )
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   291
         (MenuItem
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
   292
            label: 'Close Tab'
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   293
            itemValue: doCloseApplication
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   294
            translateLabel: true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   295
          )
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   296
         (MenuItem
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   297
            enabled: closeAllApplicationsEnabled
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
   298
            label: 'Close all Tabs'
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   299
            itemValue: doCloseAllApplications
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   300
            translateLabel: true
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   301
          )
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   302
         (MenuItem
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   303
            enabled: closeAllApplicationsEnabled
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
   304
            label: 'Close all but this Tab'
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   305
            itemValue: doCloseAllOtherApplications
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   306
            translateLabel: true
5307
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   307
          )
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   308
         )
321c1729db5b initial checkin
penk
parents:
diff changeset
   309
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   310
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   311
      )
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
   312
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
   313
    "Modified: / 27-03-2007 / 11:13:52 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   314
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   315
321c1729db5b initial checkin
penk
parents:
diff changeset
   316
!FileApplicationNoteBook methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   317
321c1729db5b initial checkin
penk
parents:
diff changeset
   318
listOfApplications
321c1729db5b initial checkin
penk
parents:
diff changeset
   319
    "return the value of the instance variable 'listOfApplications' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
   320
321c1729db5b initial checkin
penk
parents:
diff changeset
   321
    listOfApplications isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   322
        listOfApplications := OrderedCollection new.
321c1729db5b initial checkin
penk
parents:
diff changeset
   323
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   324
    ^ listOfApplications
321c1729db5b initial checkin
penk
parents:
diff changeset
   325
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   326
321c1729db5b initial checkin
penk
parents:
diff changeset
   327
selectionHistoryList
321c1729db5b initial checkin
penk
parents:
diff changeset
   328
321c1729db5b initial checkin
penk
parents:
diff changeset
   329
    selectionHistoryList isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   330
        selectionHistoryList := OrderedCollection new.
321c1729db5b initial checkin
penk
parents:
diff changeset
   331
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   332
    ^ selectionHistoryList
321c1729db5b initial checkin
penk
parents:
diff changeset
   333
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   334
321c1729db5b initial checkin
penk
parents:
diff changeset
   335
selectionHistoryList:aCol
321c1729db5b initial checkin
penk
parents:
diff changeset
   336
321c1729db5b initial checkin
penk
parents:
diff changeset
   337
    selectionHistoryList := aCol 
321c1729db5b initial checkin
penk
parents:
diff changeset
   338
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   339
4360
959719f86629 category change
Claus Gittinger <cg@exept.de>
parents: 4353
diff changeset
   340
!FileApplicationNoteBook methodsFor:'accessing-applications'!
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   341
321c1729db5b initial checkin
penk
parents:
diff changeset
   342
getAllApplicationsByClass:aClass andType:aType
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   343
    ^ self listOfApplications 
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   344
        select:[ : appl  | 
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   345
            ((appl class = aClass)
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   346
            "and:[appl type = aType]")
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   347
        ].
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   348
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   349
    "Modified (format): / 29-11-2011 / 19:08:20 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   350
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   351
321c1729db5b initial checkin
penk
parents:
diff changeset
   352
getApplicationByType:aType
321c1729db5b initial checkin
penk
parents:
diff changeset
   353
321c1729db5b initial checkin
penk
parents:
diff changeset
   354
    ^ self listOfApplications detect:[ : appl  | 
321c1729db5b initial checkin
penk
parents:
diff changeset
   355
        (appl type == aType)
321c1729db5b initial checkin
penk
parents:
diff changeset
   356
    ] ifNone:[nil].
321c1729db5b initial checkin
penk
parents:
diff changeset
   357
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   358
321c1729db5b initial checkin
penk
parents:
diff changeset
   359
getIndexFor:aApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
   360
321c1729db5b initial checkin
penk
parents:
diff changeset
   361
    | index |
321c1729db5b initial checkin
penk
parents:
diff changeset
   362
321c1729db5b initial checkin
penk
parents:
diff changeset
   363
    index := self listOfApplications indexOf:aApplication.
321c1729db5b initial checkin
penk
parents:
diff changeset
   364
    index ~~ 0 ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   365
        ^ index.
321c1729db5b initial checkin
penk
parents:
diff changeset
   366
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   367
    ^ nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
   368
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   369
8513
f2e2e360cff4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8471
diff changeset
   370
getSameApplicationsFor:anApplication
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   371
8514
72d96e73deaa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8513
diff changeset
   372
    ^ self listOfApplications 
72d96e73deaa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8513
diff changeset
   373
        select:[:appl |
72d96e73deaa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8513
diff changeset
   374
            ( (appl ~= anApplication)    
72d96e73deaa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8513
diff changeset
   375
            and:[ (appl isKindOf:(anApplication class)) 
72d96e73deaa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8513
diff changeset
   376
            and:[ (appl item = (anApplication item)) 
72d96e73deaa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8513
diff changeset
   377
            and:[ (appl type == anApplication type) ]]])
72d96e73deaa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8513
diff changeset
   378
        ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   379
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   380
321c1729db5b initial checkin
penk
parents:
diff changeset
   381
!FileApplicationNoteBook methodsFor:'actions-app-common'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   382
9819
2edda6ff0600 changed:
Stefan Vogel <sv@exept.de>
parents: 9788
diff changeset
   383
changeItem:anItem for:anAppl
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   384
    | applIndex string isDirectory iconOrNil tabItem|
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   385
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   386
    anItem notNil ifTrue:[
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   387
        isDirectory := anItem isDirectory or:[anItem linkTargetIsDirectory ].
4989
Claus Gittinger <cg@exept.de>
parents: 4988
diff changeset
   388
6250
5b0673ccff1c refactored intention revealing code:
Claus Gittinger <cg@exept.de>
parents: 6214
diff changeset
   389
        isDirectory ifFalse:[
9819
2edda6ff0600 changed:
Stefan Vogel <sv@exept.de>
parents: 9788
diff changeset
   390
            (anAppl changeItem:anItem) ifFalse:[ ^ self].
2edda6ff0600 changed:
Stefan Vogel <sv@exept.de>
parents: 9788
diff changeset
   391
            self fileHistory addFirst:anItem.
4989
Claus Gittinger <cg@exept.de>
parents: 4988
diff changeset
   392
            self enableFileHistory value:true.
Claus Gittinger <cg@exept.de>
parents: 4988
diff changeset
   393
        ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   394
    ].
9819
2edda6ff0600 changed:
Stefan Vogel <sv@exept.de>
parents: 9788
diff changeset
   395
    string := anAppl getTabString.
14839
2be01fe4903c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14836
diff changeset
   396
    tabItem := Text string:string.
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   397
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   398
    iconOrNil := anAppl getTabIcon.
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   399
    iconOrNil notNil ifTrue:[
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   400
        tabItem := LabelAndIcon icon:iconOrNil string:tabItem.
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   401
    ].
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   402
    applIndex := self getIndexFor:anAppl.
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   403
    self privateTabList at:applIndex put:tabItem.
9882
5956cfea28a8 changed: #selectFiles:
Michael Beyl <mb@exept.de>
parents: 9819
diff changeset
   404
    "/ self doSelect:anAppl.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   405
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   406
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   407
changeModified:aSymbol for:anAppl
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   408
    |text stream|
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   409
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   410
    stream := WriteStream with:anAppl getTabString.
4161
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
   411
    aSymbol ~~ #unchanged ifTrue:[
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
   412
        stream space.
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
   413
        stream nextPut:$[.
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
   414
        stream nextPutAll:aSymbol asString.
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
   415
        stream nextPut:$].
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
   416
        text := stream contents asText.
19611
a4b9d283ca40 Themes: use stylesheet to define color and style for modified buffer label
Jan Vrany <jan.vrany@labware.com>
parents: 19606
diff changeset
   417
        text emphasizeAllWith:SystemBrowser emphasisForModifiedBuffer.
4161
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
   418
    ] ifFalse:[
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
   419
        text := stream contents asText.
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
   420
    ].
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   421
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   422
    self tabStringChangeTo:text for:anAppl.
19611
a4b9d283ca40 Themes: use stylesheet to define color and style for modified buffer label
Jan Vrany <jan.vrany@labware.com>
parents: 19606
diff changeset
   423
a4b9d283ca40 Themes: use stylesheet to define color and style for modified buffer label
Jan Vrany <jan.vrany@labware.com>
parents: 19606
diff changeset
   424
    "Modified: / 17-09-2021 / 15:00:56 / Jan Vrany <jan.vrany@labware.com>"
4045
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
   425
!
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
   426
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   427
closeSubCanvas:aApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
   428
3929
e373fe6a0b4d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   429
    | applIndex historyList localHistoryList selectedPage|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   430
321c1729db5b initial checkin
penk
parents:
diff changeset
   431
    applIndex := self getIndexFor:aApplication.
321c1729db5b initial checkin
penk
parents:
diff changeset
   432
    applIndex notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   433
"/        "/ UPDATE THE LAST SELECTION BECAUSE SEL INDEX IS DECREMENTED FOR HIGHER INDEXES
321c1729db5b initial checkin
penk
parents:
diff changeset
   434
"/        self lastSelection:applIndex.
321c1729db5b initial checkin
penk
parents:
diff changeset
   435
321c1729db5b initial checkin
penk
parents:
diff changeset
   436
        historyList := self selectionHistoryList.
321c1729db5b initial checkin
penk
parents:
diff changeset
   437
        historyList remove:applIndex ifAbsent:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
   438
        localHistoryList := OrderedCollection new.
321c1729db5b initial checkin
penk
parents:
diff changeset
   439
        historyList notEmpty ifTrue:[
3929
e373fe6a0b4d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   440
            selectedPage := historyList last.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   441
        ] ifFalse:[
3929
e373fe6a0b4d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   442
            selectedPage := 1.
e373fe6a0b4d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   443
        ].  
e373fe6a0b4d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   444
        self selectedEditorPage value:selectedPage.
e373fe6a0b4d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   445
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   446
        historyList do:[ : index |
321c1729db5b initial checkin
penk
parents:
diff changeset
   447
            index <= applIndex ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   448
                localHistoryList add:index
321c1729db5b initial checkin
penk
parents:
diff changeset
   449
            ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   450
                localHistoryList add:(index - 1)
321c1729db5b initial checkin
penk
parents:
diff changeset
   451
            ]
321c1729db5b initial checkin
penk
parents:
diff changeset
   452
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   453
        self selectionHistoryList:localHistoryList.
321c1729db5b initial checkin
penk
parents:
diff changeset
   454
        self listOfApplications removeIndex:applIndex.
321c1729db5b initial checkin
penk
parents:
diff changeset
   455
        self privateTabList removeIndex:applIndex.
321c1729db5b initial checkin
penk
parents:
diff changeset
   456
        self privateTabList isEmpty ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   457
            self viewNoteBookApplicationHolder value:false.
321c1729db5b initial checkin
penk
parents:
diff changeset
   458
            self enableViewNoteBookApplication value:false.
4375
05dd38dadc66 archivapplication errors removed
penk
parents: 4360
diff changeset
   459
            self changeFileBrowserTitleTo:'FileBrowser V2'.
05dd38dadc66 archivapplication errors removed
penk
parents: 4360
diff changeset
   460
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   461
        ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   462
            historyList notEmpty ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   463
                self selectedEditorPage value:(self selectionHistoryList last).
321c1729db5b initial checkin
penk
parents:
diff changeset
   464
            ]
321c1729db5b initial checkin
penk
parents:
diff changeset
   465
        ]
321c1729db5b initial checkin
penk
parents:
diff changeset
   466
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   467
321c1729db5b initial checkin
penk
parents:
diff changeset
   468
    "/ because subCanvas was configured to keep its view,
321c1729db5b initial checkin
penk
parents:
diff changeset
   469
    "/ we must destroy it here.
3987
f012466a71cd *** empty log message ***
ca
parents: 3982
diff changeset
   470
    aApplication window destroy.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   471
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   472
6484
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   473
destroyTab:tabIndex
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   474
    (self listOfApplications at:tabIndex) doClose
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   475
!
9d12c4191a47 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
   476
5307
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   477
doCloseAllApplications
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   478
    | appl |
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   479
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   480
    (Dialog confirm:(resources string:'Really close all Tabs ?')) ifFalse:[^ self].
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   481
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   482
    appl := self listOfApplications copy do:[:eachApp | eachApp doClose.].
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   483
!
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   484
6214
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   485
doCloseAllOtherApplications
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   486
    | appl currentApp |
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   487
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   488
"/    (Dialog confirm:(resources string:'Really close all Tabs ?')) ifFalse:[^ self].
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   489
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   490
    currentApp := self currentTabMenusApplication.
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   491
    appl := self listOfApplications copy do:
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   492
        [:eachApp | 
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   493
            eachApp ~~ currentApp ifTrue:[
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   494
                eachApp doClose.
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   495
            ].
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   496
        ]
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   497
!
bba5ec45b937 +close all other tabs
Claus Gittinger <cg@exept.de>
parents: 6190
diff changeset
   498
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   499
doCloseApplication
5324
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
   500
    self currentTabMenusApplication doClose.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   501
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   502
4572
ed5f7a7f1a8d + rename tab
Claus Gittinger <cg@exept.de>
parents: 4553
diff changeset
   503
doRenameTab
ed5f7a7f1a8d + rename tab
Claus Gittinger <cg@exept.de>
parents: 4553
diff changeset
   504
    | newLabel |
ed5f7a7f1a8d + rename tab
Claus Gittinger <cg@exept.de>
parents: 4553
diff changeset
   505
5335
c676d4fdd3f5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5324
diff changeset
   506
    newLabel := Dialog 
c676d4fdd3f5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5324
diff changeset
   507
                    request:'New Tab Label:' 
c676d4fdd3f5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5324
diff changeset
   508
                    initialAnswer:(self privateTabList at:tabMenuIndex).
4572
ed5f7a7f1a8d + rename tab
Claus Gittinger <cg@exept.de>
parents: 4553
diff changeset
   509
    newLabel size == 0 ifTrue:[^ self ].
ed5f7a7f1a8d + rename tab
Claus Gittinger <cg@exept.de>
parents: 4553
diff changeset
   510
    self privateTabList at:tabMenuIndex put:newLabel
ed5f7a7f1a8d + rename tab
Claus Gittinger <cg@exept.de>
parents: 4553
diff changeset
   511
!
ed5f7a7f1a8d + rename tab
Claus Gittinger <cg@exept.de>
parents: 4553
diff changeset
   512
4045
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
   513
doSelectInList
5323
407f0beaa69a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5317
diff changeset
   514
    | fileName|
407f0beaa69a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5317
diff changeset
   515
5324
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
   516
    fileName := self currentTabMenusApplication fileName.
4045
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
   517
    fileName notNil ifTrue:[
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
   518
        self gotoFile:fileName.
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
   519
    ].
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
   520
!
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
   521
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   522
openApplByFileItem:anItem
14517
65a293fbfe93 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14516
diff changeset
   523
    "open a new embedded app, or a standard system command (for example pdf reader).
65a293fbfe93 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14516
diff changeset
   524
     return the new app or nil, if none was embedded.
65a293fbfe93 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14516
diff changeset
   525
     Uses the default class list for open of applications by item "
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   526
5290
8aeb40fef0f7 wait cursor
Claus Gittinger <cg@exept.de>
parents: 5287
diff changeset
   527
    | applList applItem itemClass itemType appl|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   528
14516
805d42ab3c16 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14498
diff changeset
   529
    anItem isNil ifTrue:[ ^ nil ].
5279
165a7b841a86 open directories found
penk
parents: 5265
diff changeset
   530
    anItem isDirectory ifTrue:[
165a7b841a86 open directories found
penk
parents: 5265
diff changeset
   531
        self warn:'No Application to open for directory:', anItem fileName asString, ' found'.
165a7b841a86 open directories found
penk
parents: 5265
diff changeset
   532
        ^ nil.
165a7b841a86 open directories found
penk
parents: 5265
diff changeset
   533
    ].
10706
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   534
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   535
    self openAlwaysInTextEditor value ifFalse:[
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   536
        applList := self applicationList.
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   537
        applItem := applList 
14496
4c671a13ba46 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14462
diff changeset
   538
                        detect:[:eachApplItem|
4c671a13ba46 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14462
diff changeset
   539
                            itemClass := self class classFor:eachApplItem.
10706
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   540
                            (itemClass canOpenItem:anItem).
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   541
                        ] ifNone:[nil].
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   542
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   543
        applItem notNil ifTrue:[ 
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   544
            itemType := self class typeFor:applItem.
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   545
            itemClass := self class classFor:applItem.
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   546
            Error handle:[:ex |
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   547
                "/ catching the error, so we can still show text
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   548
            ] do:[
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   549
                appl := self openApplicationClass:itemClass withItem:anItem withType:itemType.
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   550
                appl notNil ifTrue:[ ^ appl].
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   551
            ].
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   552
        ].
15112
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
   553
        self alwaysUseSmalltalkTools value ifFalse:[
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
   554
            ((anItem fileName mimeTypeOfContents ? '') startsWith:'text') ifFalse:[
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
   555
                "/ fallback: open a system utility
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
   556
                OperatingSystem 
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
   557
                    openApplicationForDocument:anItem fileName 
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
   558
                    operation:#open
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
   559
                    mimeType:nil 
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
   560
                    ifNone:[self openDefaultApplicationByItem:anItem].
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
   561
                ^ nil.
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
   562
            ].            
f692f1792581 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14916
diff changeset
   563
        ].
10706
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   564
    ].
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   565
9786
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
   566
    ^ self openDefaultApplicationByItem:anItem.
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
   567
10706
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
   568
    "Modified: / 16-09-2011 / 16:17:58 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   569
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   570
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   571
openApplicationClass:aClass withItem:anItem withType:aType
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   572
11104
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   573
    ^ self 
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   574
        openApplicationClass:aClass 
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   575
        withItem:anItem 
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   576
        withType:aType 
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   577
        checkExisting:true
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   578
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   579
    "Modified (format): / 12-01-2012 / 01:10:50 / cg"
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   580
!
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   581
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   582
openApplicationClass:aClass withItem:anItem withType:aType checkExisting:checkExisting 
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   583
    ^ self 
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   584
        openApplicationClass:aClass
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   585
        withItem:anItem
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   586
        withType:aType
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   587
        checkExisting:checkExisting
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   588
        preSetItem:nil
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   589
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   590
    "Modified (format): / 29-11-2011 / 19:06:27 / cg"
4620
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   591
!
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   592
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   593
openApplicationClass:aClass withItem:anItem withType:aType checkExisting:checkExisting preSetItem:aBlock
4774
5119967dbd89 code cleanup
Claus Gittinger <cg@exept.de>
parents: 4759
diff changeset
   594
    |existingAppl newAppl|
5119967dbd89 code cleanup
Claus Gittinger <cg@exept.de>
parents: 4759
diff changeset
   595
5119967dbd89 code cleanup
Claus Gittinger <cg@exept.de>
parents: 4759
diff changeset
   596
    "do not open unreadable items"
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   597
    checkExisting ifTrue:[
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   598
        (anItem notNil and:[anItem isDirectory not and:[anItem fileName isReadable not]]) ifTrue:[
15489
b7255ae67cff class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15465
diff changeset
   599
            Dialog warn:(resources string:'Can not open unreadable file "%1"' with:anItem fileName baseName).
9819
2edda6ff0600 changed:
Stefan Vogel <sv@exept.de>
parents: 9788
diff changeset
   600
            AbortOperationRequest raise.
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   601
        ].
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   602
        existingAppl := self tryToGetExistingApplFor:aClass withItem:anItem withType:aType preSetItem:aBlock.
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   603
        existingAppl notNil ifTrue:[
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   604
            self doSelect:existingAppl.
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   605
            ^ existingAppl
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   606
        ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   607
    ].
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   608
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   609
    newAppl := aClass new.
5737
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   610
    newAppl masterApplication:self.
4620
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   611
    aBlock notNil ifTrue:[
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   612
        aBlock value:newAppl.    
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   613
    ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   614
    newAppl type:aType.
5737
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   615
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   616
    newAppl isTextEditor ifTrue:[
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   617
        newAppl fileEncoding:(self fileEncodingHolder value).    
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   618
        newAppl lockFileEncoding:(self lockFileEncodingHolder value).    
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   619
    ].
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   620
    (newAppl item:anItem) ifFalse:[ ^ nil ].
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   621
    (anItem notNil and:[(anItem isDirectory not) and:[aType ~= #directoryDescription]]) ifTrue:[
9819
2edda6ff0600 changed:
Stefan Vogel <sv@exept.de>
parents: 9788
diff changeset
   622
        self fileHistory addFirst:anItem.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   623
        self enableFileHistory value:true.
321c1729db5b initial checkin
penk
parents:
diff changeset
   624
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   625
    self setSameFileIndexFor:newAppl.
321c1729db5b initial checkin
penk
parents:
diff changeset
   626
    self startApplication:newAppl.
321c1729db5b initial checkin
penk
parents:
diff changeset
   627
    ^ newAppl
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   628
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   629
    "Modified (format): / 29-11-2011 / 19:06:47 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   630
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   631
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   632
openDefaultApplicationByItem:anItem
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   633
" open the default application if no application for item is available or the start of the
321c1729db5b initial checkin
penk
parents:
diff changeset
   634
  available application failed
321c1729db5b initial checkin
penk
parents:
diff changeset
   635
"
321c1729db5b initial checkin
penk
parents:
diff changeset
   636
    | applItem |
321c1729db5b initial checkin
penk
parents:
diff changeset
   637
321c1729db5b initial checkin
penk
parents:
diff changeset
   638
    applItem := self class defaultApplication.
321c1729db5b initial checkin
penk
parents:
diff changeset
   639
    applItem notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   640
        |  itemType itemClass|
321c1729db5b initial checkin
penk
parents:
diff changeset
   641
        itemType := self class typeFor:applItem.
321c1729db5b initial checkin
penk
parents:
diff changeset
   642
        itemClass := self class classFor:applItem.
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   643
        ^ self openApplicationClass:itemClass withItem:anItem withType:itemType.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   644
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   645
    ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   646
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   647
321c1729db5b initial checkin
penk
parents:
diff changeset
   648
setSameFileIndexFor:anAppl
321c1729db5b initial checkin
penk
parents:
diff changeset
   649
    |sameFiles index item|
321c1729db5b initial checkin
penk
parents:
diff changeset
   650
6250
5b0673ccff1c refactored intention revealing code:
Claus Gittinger <cg@exept.de>
parents: 6214
diff changeset
   651
    self class openAnotherApplicationOnSameItem ifFalse:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   652
        anAppl sameFileIndex:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
   653
        ^ self.
321c1729db5b initial checkin
penk
parents:
diff changeset
   654
    ].
10382
edf3a0e5ea8a changed: #setSameFileIndexFor:
Claus Gittinger <cg@exept.de>
parents: 9951
diff changeset
   655
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   656
    item := anAppl item.
321c1729db5b initial checkin
penk
parents:
diff changeset
   657
    item notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   658
        sameFiles := self getSameApplicationsFor:anAppl.
10382
edf3a0e5ea8a changed: #setSameFileIndexFor:
Claus Gittinger <cg@exept.de>
parents: 9951
diff changeset
   659
        (sameFiles notEmpty) ifTrue:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   660
            (sameFiles size == 1 and:[sameFiles first sameFileIndex isNil]) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   661
                anAppl sameFileIndex:1.
321c1729db5b initial checkin
penk
parents:
diff changeset
   662
            ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   663
                index :=  (sameFiles collect:[:el | (el sameFileIndex ? 1)]) max.
321c1729db5b initial checkin
penk
parents:
diff changeset
   664
                anAppl sameFileIndex:index + 1.
10382
edf3a0e5ea8a changed: #setSameFileIndexFor:
Claus Gittinger <cg@exept.de>
parents: 9951
diff changeset
   665
            ].
edf3a0e5ea8a changed: #setSameFileIndexFor:
Claus Gittinger <cg@exept.de>
parents: 9951
diff changeset
   666
            ^ self
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   667
        ]. 
321c1729db5b initial checkin
penk
parents:
diff changeset
   668
        anAppl sameFileIndex:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
   669
    ].
10382
edf3a0e5ea8a changed: #setSameFileIndexFor:
Claus Gittinger <cg@exept.de>
parents: 9951
diff changeset
   670
edf3a0e5ea8a changed: #setSameFileIndexFor:
Claus Gittinger <cg@exept.de>
parents: 9951
diff changeset
   671
    "Modified (format): / 24-07-2011 / 08:22:03 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   672
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   673
5007
82d60e287837 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5001
diff changeset
   674
startApplication:anApplication
14444
cea130516cc0 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14412
diff changeset
   675
    "start a subapplication in the lower panel (terminal, finder, archive viewer or text editor)"
cea130516cc0 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14412
diff changeset
   676
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   677
    | window tabItem iconOrNil|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   678
7582
ee57ad4bee5c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7540
diff changeset
   679
    anApplication window isNil ifTrue:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   680
        window := ApplicationSubView new.
5007
82d60e287837 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5001
diff changeset
   681
        anApplication createBuilder.
82d60e287837 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5001
diff changeset
   682
        window client:anApplication.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   683
    ].
5007
82d60e287837 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5001
diff changeset
   684
    self listOfApplications add:anApplication.
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   685
14839
2be01fe4903c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14836
diff changeset
   686
    tabItem := Text string:(anApplication getTabString).
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   687
    iconOrNil := anApplication getTabIcon.
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   688
    iconOrNil notNil ifTrue:[
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   689
        tabItem := LabelAndIcon icon:iconOrNil string:tabItem.
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   690
    ].
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   691
    self privateTabList add:tabItem.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   692
    self viewNoteBookApplicationHolder value:true.
321c1729db5b initial checkin
penk
parents:
diff changeset
   693
    self enableViewNoteBookApplication value:true.
9885
62bac7ad7d0c changed: #startApplication:
ab
parents: 9882
diff changeset
   694
    self withWaitCursorDo:[
62bac7ad7d0c changed: #startApplication:
ab
parents: 9882
diff changeset
   695
        self doSelect:anApplication.
62bac7ad7d0c changed: #startApplication:
ab
parents: 9882
diff changeset
   696
    ].
14444
cea130516cc0 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14412
diff changeset
   697
    anApplication postOpenWith:anApplication builder.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   698
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   699
15594
ebb982d3e6c3 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 15489
diff changeset
   700
tabStringAdd:aString for:anAppl
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   701
    | index text stream|
321c1729db5b initial checkin
penk
parents:
diff changeset
   702
15594
ebb982d3e6c3 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 15489
diff changeset
   703
    index := self getIndexFor:anAppl.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   704
    index isNil ifTrue:[ ^ self].
321c1729db5b initial checkin
penk
parents:
diff changeset
   705
    text := self privateTabList at:index.
15594
ebb982d3e6c3 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 15489
diff changeset
   706
    stream := CharacterWriteStream new.
15668
aaaddffbefe0 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15594
diff changeset
   707
    stream nextPutAll:text string.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   708
    stream space.
321c1729db5b initial checkin
penk
parents:
diff changeset
   709
    stream nextPutAll:aString.
14839
2be01fe4903c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14836
diff changeset
   710
    self privateTabList at:index put:(Text string:(stream contents)).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   711
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   712
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   713
tabStringChangeTo:aString for:anAppl
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   714
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   715
    | index text tabItem |
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   716
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   717
    index := self getIndexFor:anAppl.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   718
    index isNil ifTrue:[ ^ self].
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   719
14839
2be01fe4903c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14836
diff changeset
   720
    text := Text string:aString.
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   721
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   722
    tabItem := self privateTabList at:index.
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   723
    tabItem class == LabelAndIcon ifTrue:[
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   724
        text := LabelAndIcon icon:(tabItem icon) string:text.
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   725
    ].
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   726
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
   727
    self privateTabList at:index put:text.
4180
e3e587a5fe65 change the window label
penk
parents: 4177
diff changeset
   728
    self selectedEditorPage value == index ifTrue:[
e3e587a5fe65 change the window label
penk
parents: 4177
diff changeset
   729
        self changeFileBrowserTitleTo:aString.
e3e587a5fe65 change the window label
penk
parents: 4177
diff changeset
   730
    ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   731
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   732
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   733
tryToGetExistingApplFor:aClass withItem:anItem withType:aType preSetItem:aBlock
4549
79d1c5a31e61 *** empty log message ***
penk
parents: 4529
diff changeset
   734
    | sameAppls changeAppl selAppl|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   735
321c1729db5b initial checkin
penk
parents:
diff changeset
   736
    aClass wantNewApplicationAnyway ifTrue:[^ nil].
4549
79d1c5a31e61 *** empty log message ***
penk
parents: 4529
diff changeset
   737
    sameAppls := self getAllApplicationsByClass:aClass andType:aType.
79d1c5a31e61 *** empty log message ***
penk
parents: 4529
diff changeset
   738
    sameAppls isEmpty ifTrue:[^ nil].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   739
    ((aType == #directoryDescription) or:[aType == #commandResult]) ifTrue:[
4549
79d1c5a31e61 *** empty log message ***
penk
parents: 4529
diff changeset
   740
"/        sameAppls := sameAppl first.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   741
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   742
        (self openMultipleApplicationsForType value) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   743
        "/ open more than one application for a class and a type
321c1729db5b initial checkin
penk
parents:
diff changeset
   744
            (self class openAnotherApplicationOnSameItem) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   745
                "/ open a new application anyway, no matters if item already open
321c1729db5b initial checkin
penk
parents:
diff changeset
   746
                ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   747
            ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   748
                "/ if item already changed select the application
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   749
                selAppl := sameAppls detect:[:appl | (appl item = anItem) ] ifNone:[nil].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   750
            ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   751
        ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   752
            "/ keep in same application change the first application of the same class and type - if item not changed otherwise open new
12830
7c993d3f4519 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12480
diff changeset
   753
            sameAppls := sameAppls reject:[:appl | appl isModified ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   754
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   755
    ].
4393
194816f3a6ea Care for nil
Stefan Vogel <sv@exept.de>
parents: 4392
diff changeset
   756
    sameAppls size ~~ 0 ifTrue:[
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   757
        " take first all applications which have nil items 
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   758
          second the selected 
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   759
          third the first
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   760
        "
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   761
        | nilItemAppls |
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   762
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   763
        nilItemAppls := sameAppls select:[:appl| appl item == nil ].
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   764
        nilItemAppls notEmpty ifTrue:[sameAppls := nilItemAppls].
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   765
        (sameAppls includes:self selectedApplication) ifTrue:[
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   766
            changeAppl := self selectedApplication.
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   767
        ] ifFalse:[
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   768
            changeAppl := sameAppls first.
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   769
        ].
4620
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   770
        aBlock notNil ifTrue:[
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   771
            aBlock value:changeAppl.
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   772
        ].
5459
d90defc58d51 window label and tab string changed
penk
parents: 5458
diff changeset
   773
        changeAppl type:aType.
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   774
        self changeItem:anItem for:changeAppl.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   775
        selAppl := changeAppl.
321c1729db5b initial checkin
penk
parents:
diff changeset
   776
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   777
    ^ selAppl.
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   778
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   779
    "Modified (format): / 29-11-2011 / 19:07:57 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   780
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   781
321c1729db5b initial checkin
penk
parents:
diff changeset
   782
!FileApplicationNoteBook methodsFor:'actions-app-spec'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   783
4774
5119967dbd89 code cleanup
Claus Gittinger <cg@exept.de>
parents: 4759
diff changeset
   784
addTerminalIn:aDirectory
5119967dbd89 code cleanup
Claus Gittinger <cg@exept.de>
parents: 4759
diff changeset
   785
    |item|
5119967dbd89 code cleanup
Claus Gittinger <cg@exept.de>
parents: 4759
diff changeset
   786
5119967dbd89 code cleanup
Claus Gittinger <cg@exept.de>
parents: 4759
diff changeset
   787
    item := DirectoryContentsBrowser itemClass fileName:aDirectory.
5119967dbd89 code cleanup
Claus Gittinger <cg@exept.de>
parents: 4759
diff changeset
   788
    self openTerminalApplication:item.
5119967dbd89 code cleanup
Claus Gittinger <cg@exept.de>
parents: 4759
diff changeset
   789
!
5119967dbd89 code cleanup
Claus Gittinger <cg@exept.de>
parents: 4759
diff changeset
   790
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   791
changeDirectoryDescription
321c1729db5b initial checkin
penk
parents:
diff changeset
   792
321c1729db5b initial checkin
penk
parents:
diff changeset
   793
    | aInfoItem|
321c1729db5b initial checkin
penk
parents:
diff changeset
   794
321c1729db5b initial checkin
penk
parents:
diff changeset
   795
    aInfoItem := self getInfoItem.
321c1729db5b initial checkin
penk
parents:
diff changeset
   796
    aInfoItem isNil ifTrue:[ ^ self closeDirectoryDescription ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   797
    self openDirectoryDescription.
321c1729db5b initial checkin
penk
parents:
diff changeset
   798
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   799
5307
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   800
closeAllApplicationsEnabled
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   801
    ^ tabList value size > 1
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   802
!
45d1ce468a5f closeAll tabs
Claus Gittinger <cg@exept.de>
parents: 5305
diff changeset
   803
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   804
closeDirectoryDescription
321c1729db5b initial checkin
penk
parents:
diff changeset
   805
321c1729db5b initial checkin
penk
parents:
diff changeset
   806
    | dirContApll |
321c1729db5b initial checkin
penk
parents:
diff changeset
   807
321c1729db5b initial checkin
penk
parents:
diff changeset
   808
    dirContApll := self getApplicationByType:#directoryDescription.
321c1729db5b initial checkin
penk
parents:
diff changeset
   809
    dirContApll notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   810
        dirContApll doClose.
321c1729db5b initial checkin
penk
parents:
diff changeset
   811
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   812
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   813
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   814
doAddArchiverOn:aFilename
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   815
    |item|
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   816
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   817
    item := DirectoryContentsBrowser itemClass fileName:aFilename.
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   818
    self openArchiveViewApplication:item.
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   819
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   820
    "Created: / 29-11-2011 / 19:05:49 / cg"
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   821
!
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   822
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   823
newTextEditor
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   824
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   825
    ^ self openApplicationClass:TextEditor withItem:nil withType:#file checkExisting:false 
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   826
!
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   827
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   828
openArchiveViewApplication:anItem
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   829
    | result |
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   830
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   831
    result := self openApplicationClass:ArchiveViewApplication withItem:anItem withType:nil.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   832
    result isNil ifTrue:[
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   833
        Dialog warn:'file type of ', anItem fileName baseName, ' not yet supported'.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   834
        ^ self.
321c1729db5b initial checkin
penk
parents:
diff changeset
   835
    ].
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   836
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
   837
    "Modified (format): / 29-11-2011 / 18:57:21 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   838
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   839
321c1729db5b initial checkin
penk
parents:
diff changeset
   840
openCommandResultApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
   841
321c1729db5b initial checkin
penk
parents:
diff changeset
   842
321c1729db5b initial checkin
penk
parents:
diff changeset
   843
    ^ self openApplicationClass:CommandResult withItem:nil withType:#commandResult
321c1729db5b initial checkin
penk
parents:
diff changeset
   844
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   845
11104
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   846
openCompareDirectory:directory1 with:directory2
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   847
    |newAppl|
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   848
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   849
    newAppl := DirectoryDifferenceViewApplication new.
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   850
    newAppl masterApplication:self.
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   851
    newAppl directory1:directory1 directory2:directory2.
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   852
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   853
    self setSameFileIndexFor:newAppl.
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   854
    self startApplication:newAppl.
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   855
    ^ newAppl
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   856
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   857
    "Created: / 12-01-2012 / 01:10:05 / cg"
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   858
!
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   859
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   860
openDirectoryDescription
321c1729db5b initial checkin
penk
parents:
diff changeset
   861
321c1729db5b initial checkin
penk
parents:
diff changeset
   862
    | appl aInfoItem|
321c1729db5b initial checkin
penk
parents:
diff changeset
   863
321c1729db5b initial checkin
penk
parents:
diff changeset
   864
    aInfoItem := self getInfoItem.
321c1729db5b initial checkin
penk
parents:
diff changeset
   865
    aInfoItem notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   866
        appl := self openTextEditorOn:aInfoItem type:#directoryDescription.
321c1729db5b initial checkin
penk
parents:
diff changeset
   867
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   868
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   869
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   870
openNewTextEditorOn:anItem 
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   871
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   872
    ^ self openApplicationClass:TextEditor withItem:anItem withType:#file checkExisting:false.
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   873
!
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   874
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   875
openSearchFileOn:anItem
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   876
11104
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   877
    ^ self 
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   878
        openApplicationClass:FindFileApplication 
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   879
        withItem:anItem 
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   880
        withType:nil 
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   881
        checkExisting:false
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   882
6f9259e46cb0 added: #openCompareDirectory:with:
Claus Gittinger <cg@exept.de>
parents: 11099
diff changeset
   883
    "Modified (format): / 12-01-2012 / 01:02:30 / cg"
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   884
!
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   885
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   886
openTerminalApplication:anItem
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   887
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   888
    ^ self openApplicationClass:Terminal withItem:anItem withType:nil
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   889
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   890
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   891
openTextEditor
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   892
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   893
    ^ self openTextEditorOn:nil 
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   894
!
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
   895
4146
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
   896
openTextEditorForFile:aFilename 
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
   897
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
   898
    ^ self openTextEditorOn:(DirectoryContentsBrowser itemClass fileName:aFilename) type:#file 
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
   899
!
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
   900
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   901
openTextEditorOn:anItem 
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   902
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   903
    ^ self openTextEditorOn:anItem type:#file 
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   904
!
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   905
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   906
openTextEditorOn:anItem type:aDirDescrOrFile
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   907
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   908
    ^ self openApplicationClass:TextEditor withItem:anItem withType:aDirDescrOrFile
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   909
!
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   910
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   911
openTextEditorWithHexPresentationOn:anItem 
4620
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   912
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   913
    ^ self  openApplicationClass:TextEditor 
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
   914
            withItem:anItem 
4620
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   915
            withType:#file 
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   916
            checkExisting:true 
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
   917
            preSetItem:[:aTextEditor | aTextEditor presentation:#hexDump].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   918
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   919
321c1729db5b initial checkin
penk
parents:
diff changeset
   920
!FileApplicationNoteBook methodsFor:'applicationlist access'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   921
321c1729db5b initial checkin
penk
parents:
diff changeset
   922
applicationList
321c1729db5b initial checkin
penk
parents:
diff changeset
   923
    ^ self class applicationList
321c1729db5b initial checkin
penk
parents:
diff changeset
   924
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   925
321c1729db5b initial checkin
penk
parents:
diff changeset
   926
!FileApplicationNoteBook methodsFor:'aspects'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   927
321c1729db5b initial checkin
penk
parents:
diff changeset
   928
canvasHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
   929
321c1729db5b initial checkin
penk
parents:
diff changeset
   930
    canvasHolder isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   931
        canvasHolder := ValueHolder new.
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   932
        canvasHolder addDependent:self.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   933
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   934
    ^ canvasHolder.
321c1729db5b initial checkin
penk
parents:
diff changeset
   935
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   936
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   937
cursorColLabelHolder
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   938
    ^ self 
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   939
        aspectFor:#cursorColLabelHolder 
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   940
        ifAbsent:[
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   941
            IndirectValue for:(' ' asValue)
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   942
        ]
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   943
!
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   944
15821
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
   945
cursorLineAndColumnLabelHolder
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
   946
    ^ self 
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
   947
        aspectFor:#cursorLineAndColumnLabelHolder 
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
   948
        ifAbsent:[
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
   949
            IndirectValue for:(' ' asValue)
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
   950
        ]
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
   951
!
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
   952
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   953
cursorLineLabelHolder
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   954
    ^ self 
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   955
        aspectFor:#cursorLineLabelHolder 
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   956
        ifAbsent:[
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   957
            IndirectValue for:(' ' asValue)
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   958
        ]
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   959
!
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   960
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
   961
fileEncodingHolder
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
   962
    ^ self 
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
   963
        aspectFor:#fileEncodingHolder 
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
   964
        ifAbsent:[
5567
3e00d2d4db6d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5550
diff changeset
   965
            IndirectValue for:('iso8859-1' asValue)
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
   966
        ]
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
   967
!
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
   968
11056
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   969
inputTabColumnConversionHolder
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   970
    ^ self 
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   971
        aspectFor:#inputTabColumnConversionHolder 
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   972
        ifAbsent:[
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   973
            IndirectValue for:(8 asValue)
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   974
        ]
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   975
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   976
    "Created: / 06-01-2012 / 15:26:32 / cg"
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   977
!
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   978
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   979
lineEndConventionHolder
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   980
    ^ self 
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   981
        aspectFor:#lineEndConventionHolder 
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   982
        ifAbsent:[
15209
f7f21b82d7eb class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15112
diff changeset
   983
            IndirectValue for:(#'nl' asValue)
11056
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   984
        ]
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   985
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   986
    "Created: / 06-01-2012 / 13:03:24 / cg"
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   987
!
Claus Gittinger <cg@exept.de>
parents: 11032
diff changeset
   988
5737
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   989
lockFileEncodingHolder
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   990
    ^ self 
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   991
        aspectFor:#lockFileEncodingHolder 
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   992
        ifAbsent:[
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   993
            IndirectValue for:(false asValue)
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   994
        ]
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   995
!
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   996
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   997
modeLabelHolder
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   998
    ^ self 
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
   999
        aspectFor:#modeLabelHolder 
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1000
        ifAbsent:[
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1001
            IndirectValue for:(' ' asValue)
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1002
        ]
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1003
!
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1004
7103
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1005
modeLabelMenu       
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1006
    |app|
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1007
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1008
    (app := self selectedApplication) notNil ifTrue:[
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1009
        ^ app modeLabelMenu
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1010
    ].
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1011
    ^ nil
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1012
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1013
    "Created: / 11-09-2006 / 12:33:27 / cg"
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1014
!
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1015
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1016
modeLabelMenuHolder
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1017
    ^ self 
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1018
        aspectFor:#modeLabelMenuHolder 
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1019
        ifAbsent:[
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1020
            IndirectValue for:(nil asValue)
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1021
        ]
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1022
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1023
    "Created: / 11-09-2006 / 12:28:08 / cg"
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1024
!
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1025
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1026
privateTabList
321c1729db5b initial checkin
penk
parents:
diff changeset
  1027
321c1729db5b initial checkin
penk
parents:
diff changeset
  1028
    privateTabList isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1029
        privateTabList := List new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1030
        privateTabList addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1031
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1032
    ^ privateTabList.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1033
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1034
321c1729db5b initial checkin
penk
parents:
diff changeset
  1035
selectedEditorPage
321c1729db5b initial checkin
penk
parents:
diff changeset
  1036
321c1729db5b initial checkin
penk
parents:
diff changeset
  1037
    selectedEditorPage isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1038
        selectedEditorPage := ValueHolder new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1039
"/ if your app needs to be notified of changes, uncomment one of the lines below:
321c1729db5b initial checkin
penk
parents:
diff changeset
  1040
       selectedEditorPage addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1041
"/       selectedEditorPage onChangeSend:#selectedEditorPageChanged to:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1042
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1043
    ^ selectedEditorPage.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1044
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1045
321c1729db5b initial checkin
penk
parents:
diff changeset
  1046
tabList
321c1729db5b initial checkin
penk
parents:
diff changeset
  1047
321c1729db5b initial checkin
penk
parents:
diff changeset
  1048
    tabList isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1049
        tabList := (List new) asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1050
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1051
    ^ tabList.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1052
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1053
321c1729db5b initial checkin
penk
parents:
diff changeset
  1054
tabList:aValue
321c1729db5b initial checkin
penk
parents:
diff changeset
  1055
321c1729db5b initial checkin
penk
parents:
diff changeset
  1056
    tabList := aValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1057
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1058
321c1729db5b initial checkin
penk
parents:
diff changeset
  1059
!FileApplicationNoteBook methodsFor:'change & update'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1060
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1061
canvasChanged
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1062
    "invoked when the contentsView has been changed"
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1063
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1064
    |app|
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1065
7103
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1066
    app := self selectedApplication.
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1067
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1068
    self cursorLineLabelHolder valueHolder: (app cursorLineLabelHolder).
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1069
    self cursorColLabelHolder valueHolder: (app cursorColLabelHolder).
15821
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
  1070
    self cursorLineAndColumnLabelHolder valueHolder: (app cursorLineAndColumnLabelHolder).
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1071
    self modeLabelHolder valueHolder: (app modeLabelHolder).
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  1072
    self fileEncodingHolder valueHolder: (app fileEncodingHolder).
7288
25108c48af42 lockEncoding fix
Claus Gittinger <cg@exept.de>
parents: 7103
diff changeset
  1073
25108c48af42 lockEncoding fix
Claus Gittinger <cg@exept.de>
parents: 7103
diff changeset
  1074
    app lockFileEncodingHolder isBoolean ifTrue:[
8366
6e6842bd8b1e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8228
diff changeset
  1075
        self breakPoint:#cg
7288
25108c48af42 lockEncoding fix
Claus Gittinger <cg@exept.de>
parents: 7103
diff changeset
  1076
    ] ifFalse:[
25108c48af42 lockEncoding fix
Claus Gittinger <cg@exept.de>
parents: 7103
diff changeset
  1077
        self lockFileEncodingHolder valueHolder: (app lockFileEncodingHolder).
25108c48af42 lockEncoding fix
Claus Gittinger <cg@exept.de>
parents: 7103
diff changeset
  1078
    ].
7103
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1079
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  1080
    "Modified: / 11-09-2006 / 12:44:07 / cg"
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1081
!
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1082
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1083
update:something with:aParameter from:changedObject
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1084
    | appl sel|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1085
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1086
    changedObject == canvasHolder ifTrue:[
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1087
        self canvasChanged.
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1088
        ^ self.
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  1089
    ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1090
    changedObject == self currentDirectories ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1091
        self viewDirectoryDescription value ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1092
            self changeDirectoryDescription.  
321c1729db5b initial checkin
penk
parents:
diff changeset
  1093
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1094
        ^ self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1095
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1096
    changedObject == self viewDirectoryDescription ifTrue:[
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1097
        self viewDirectoryDescriptionChanged.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1098
        ^ self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1099
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1100
    changedObject == self privateTabList ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1101
        | privateListOfTabs |
321c1729db5b initial checkin
penk
parents:
diff changeset
  1102
        privateListOfTabs := changedObject.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1103
        privateListOfTabs size > 1 ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1104
            self tabList value:privateListOfTabs.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1105
            self tabList changed.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1106
        ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1107
            self tabList value:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1108
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1109
        ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  1110
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1111
    changedObject == self selectedEditorPage ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1112
        | listOfEdits indexOfLastSel list |
321c1729db5b initial checkin
penk
parents:
diff changeset
  1113
321c1729db5b initial checkin
penk
parents:
diff changeset
  1114
        sel := changedObject value.
17031
161a79d0fd2a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 17002
diff changeset
  1115
        "/ don't want the tabs with one application - that's why i have to change my tablist
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1116
        "/ sel goes to if - i want select the last selection
321c1729db5b initial checkin
penk
parents:
diff changeset
  1117
        sel = 0 ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1118
            ^ self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1119
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1120
        list := self selectionHistoryList.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1121
        (list includes:sel) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1122
            list remove:sel
321c1729db5b initial checkin
penk
parents:
diff changeset
  1123
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1124
        list add:sel.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1125
        self selectionHistoryList:list.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1126
        appl := self listOfApplications at:sel.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1127
        self doSelect:appl.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1128
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1129
321c1729db5b initial checkin
penk
parents:
diff changeset
  1130
    ^ super update:something with:aParameter from:changedObject
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1131
!
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1132
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1133
viewDirectoryDescriptionChanged
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1134
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1135
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1136
    |viewDirDescr|
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1137
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1138
    viewDirDescr := self viewDirectoryDescription value.
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1139
    viewDirDescr ifTrue:[
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1140
        self openDirectoryDescription.
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1141
    ] ifFalse:[
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1142
        self closeDirectoryDescription.
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1143
    ].
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1144
    ^ self.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1145
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1146
321c1729db5b initial checkin
penk
parents:
diff changeset
  1147
!FileApplicationNoteBook methodsFor:'menu & actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1148
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1149
destroyTabAt:idx
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1150
    |app|
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1151
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1152
    app := listOfApplications at:idx.
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1153
    self closeSubCanvas:app.        
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1154
    app release.
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1155
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1156
    "Created: / 11-01-2012 / 23:46:09 / cg"
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1157
!
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1158
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1159
tabMenuAt:aTab
321c1729db5b initial checkin
penk
parents:
diff changeset
  1160
    |menu|
321c1729db5b initial checkin
penk
parents:
diff changeset
  1161
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
  1162
    menu :=  Menu decodeFromLiteralArray:self class tabMenu.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1163
    tabMenuIndex := aTab.
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
  1164
    menu findGuiResourcesIn:self.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1165
    ^ menu
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
  1166
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
  1167
    "Modified: / 27-03-2007 / 10:57:25 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1168
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1169
321c1729db5b initial checkin
penk
parents:
diff changeset
  1170
!FileApplicationNoteBook methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1171
321c1729db5b initial checkin
penk
parents:
diff changeset
  1172
getSameFilesModifiedFor:aAppl
321c1729db5b initial checkin
penk
parents:
diff changeset
  1173
321c1729db5b initial checkin
penk
parents:
diff changeset
  1174
    | sameFileAppl colOfChanged |
321c1729db5b initial checkin
penk
parents:
diff changeset
  1175
321c1729db5b initial checkin
penk
parents:
diff changeset
  1176
    sameFileAppl := self getSameApplicationsFor:aAppl.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1177
    sameFileAppl notEmpty ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1178
        colOfChanged := OrderedCollection new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1179
        sameFileAppl do:[ : el |
321c1729db5b initial checkin
penk
parents:
diff changeset
  1180
            el modifiedChannel value ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1181
                colOfChanged add:el.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1182
            ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  1183
        ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  1184
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1185
    ^ colOfChanged
321c1729db5b initial checkin
penk
parents:
diff changeset
  1186
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1187
321c1729db5b initial checkin
penk
parents:
diff changeset
  1188
!FileApplicationNoteBook methodsFor:'selection'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1189
5324
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
  1190
currentTabMenusApplication
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
  1191
    "only valid within menu processing"
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
  1192
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
  1193
    ^ self listOfApplications at:tabMenuIndex
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
  1194
!
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
  1195
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1196
doSelect:anAppl
321c1729db5b initial checkin
penk
parents:
diff changeset
  1197
7467
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  1198
    | index fileName additionalInfo|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1199
321c1729db5b initial checkin
penk
parents:
diff changeset
  1200
    fileName := anAppl fileName.
4161
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  1201
    index := self getIndexFor:anAppl.
4180
e3e587a5fe65 change the window label
penk
parents: 4177
diff changeset
  1202
    self changeFileBrowserTitleTo:(self privateTabList at:index ifAbsent:nil).
4523
ae3d65269e21 added notify: method;
Claus Gittinger <cg@exept.de>
parents: 4520
diff changeset
  1203
    
7467
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  1204
    additionalInfo := anAppl additionalInfo.
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  1205
    self notify:(fileName isNil 
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  1206
                    ifTrue:[additionalInfo] 
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  1207
                    ifFalse:[(fileName asString contractAtBeginningTo:80),' ',additionalInfo]).
3982
fc30449d705d *** empty log message ***
penk
parents: 3962
diff changeset
  1208
"/        self gotoFile:fileName.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1209
    index notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1210
        canvasHolder value:(anAppl window).
321c1729db5b initial checkin
penk
parents:
diff changeset
  1211
        self selectedEditorPage value:index.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1212
    ]
7467
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  1213
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  1214
    "Modified: / 24-10-2006 / 12:32:53 / cg"
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1215
!
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1216
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1217
selectedApplication
5324
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
  1218
    | canvas |
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
  1219
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
  1220
    canvas := self canvasHolder value.
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
  1221
    canvas isNil ifTrue:[ ^ nil].
5df8cf9faeba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5323
diff changeset
  1222
    ^ canvas application.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1223
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1224
321c1729db5b initial checkin
penk
parents:
diff changeset
  1225
!FileApplicationNoteBook methodsFor:'startup & release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1226
3954
78e29a3ea4c1 next stage
penk
parents: 3951
diff changeset
  1227
closeRequest
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  1228
    "asks for permission before closing"
3954
78e29a3ea4c1 next stage
penk
parents: 3951
diff changeset
  1229
4082
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1230
    self tryCloseApplications ifTrue:[
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1231
        super closeRequest.
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1232
        ^ true
3954
78e29a3ea4c1 next stage
penk
parents: 3951
diff changeset
  1233
    ].
4082
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1234
    ^ false.
3954
78e29a3ea4c1 next stage
penk
parents: 3951
diff changeset
  1235
!
78e29a3ea4c1 next stage
penk
parents: 3951
diff changeset
  1236
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1237
makeDependent
321c1729db5b initial checkin
penk
parents:
diff changeset
  1238
321c1729db5b initial checkin
penk
parents:
diff changeset
  1239
    self viewDirectoryDescription addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1240
    self currentDirectories addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1241
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1242
321c1729db5b initial checkin
penk
parents:
diff changeset
  1243
postOpenAsSubcanvasWith:aBuilder
321c1729db5b initial checkin
penk
parents:
diff changeset
  1244
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  1245
    self viewDirectoryDescriptionChanged.
14444
cea130516cc0 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14412
diff changeset
  1246
    super postOpenAsSubcanvasWith:aBuilder.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1247
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1248
321c1729db5b initial checkin
penk
parents:
diff changeset
  1249
postOpenWith:aBuilder
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  1250
    "only invoked if the application not started from a master"
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  1251
3982
fc30449d705d *** empty log message ***
penk
parents: 3962
diff changeset
  1252
    self openTextEditorOn:(DirectoryContentsBrowser itemClass fileName:(Filename homeDirectory construct:'.bashrc')).
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  1253
    super postOpenWith:aBuilder
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1254
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1255
321c1729db5b initial checkin
penk
parents:
diff changeset
  1256
preBuildWith:aBuilder
321c1729db5b initial checkin
penk
parents:
diff changeset
  1257
321c1729db5b initial checkin
penk
parents:
diff changeset
  1258
    self masterApplication isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1259
        self masterApplication:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1260
    ].
14444
cea130516cc0 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14412
diff changeset
  1261
    super preBuildWith:aBuilder.
4082
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1262
!
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1263
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1264
tryCloseApplications
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1265
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1266
    self listOfApplications do:[:appl|
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  1267
        appl doClose ifFalse:[
4082
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1268
            ^ false.
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1269
        ].
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1270
    ].
0ca141045a56 avoid warning
penk
parents: 4076
diff changeset
  1271
    ^ true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1272
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1273
321c1729db5b initial checkin
penk
parents:
diff changeset
  1274
!FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'defaults'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1275
321c1729db5b initial checkin
penk
parents:
diff changeset
  1276
tabStringFor:aApplicationType
7687
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  1277
    "the formatString shown in a tab (language translated)"
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  1278
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  1279
    ^ 'Archive %1'
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  1280
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  1281
    "Modified: / 01-03-2007 / 21:43:13 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1282
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1283
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1284
!FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'help specs'!
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1285
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1286
flyByHelpSpec
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1287
    "This resource specification was automatically generated
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1288
     by the UIHelpTool of ST/X."
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1289
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1290
    "Do not manually edit this!! If it is corrupted,
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1291
     the UIHelpTool may not be able to read the specification."
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1292
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1293
    "
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1294
     UIHelpTool openOnClass:FileApplicationNoteBook::ArchiveViewApplication    
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1295
    "
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1296
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1297
    <resource: #help>
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1298
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1299
    ^super flyByHelpSpec addPairsFrom:#(
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1300
6100
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1301
#closeTabButton
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1302
'Close Archiver Tab'
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1303
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1304
#extractItem
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1305
'Extract...'
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1306
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1307
#removeOutputButton
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1308
'Remove Error Output'
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1309
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1310
#stopButton
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1311
'Stop'
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1312
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1313
)
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1314
!
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1315
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1316
helpSpec
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1317
    "This resource specification was automatically generated
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1318
     by the UIHelpTool of ST/X."
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1319
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1320
    "Do not manually edit this!! If it is corrupted,
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1321
     the UIHelpTool may not be able to read the specification."
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1322
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1323
    "
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1324
     UIHelpTool openOnClass:FileApplicationNoteBook::ArchiveViewApplication    
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1325
    "
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1326
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1327
    <resource: #help>
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1328
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1329
    ^super helpSpec addPairsFrom:#(
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1330
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1331
#closeButton
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1332
'Close Archiver'
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1333
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1334
#extractItem
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1335
'Extract...'
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1336
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1337
#removeOutputButton
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1338
'Remove Error Output'
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1339
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1340
#stopButton
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1341
'Stop'
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1342
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1343
)
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1344
! !
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1345
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1346
!FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'image specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1347
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1348
extract28x28Icon
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1349
    <resource: #image>
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1350
    "This resource specification was automatically generated
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1351
     by the ImageEditor of ST/X."
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1352
    "Do not manually edit this!! If it is corrupted,
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1353
     the ImageEditor may not be able to read the specification."
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1354
    "
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1355
     self extract28x28Icon inspect
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1356
     ImageEditor openOnClass:self andSelector:#extract28x28Icon
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1357
     Icon flushCachedIcons"
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1358
    
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1359
    ^ Icon 
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1360
        constantNamed:#'FileApplicationNoteBook::ArchiveViewApplication class extract28x28Icon'
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1361
        ifAbsentPut:[
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1362
            (Depth4Image new)
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1363
                width:28;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1364
                height:28;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1365
                photometric:(#palette);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1366
                bitsPerSample:(#( 4 ));
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1367
                samplesPerPixel:(1);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1368
                bits:(ByteArray 
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1369
                            fromPackedString:'
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1370
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1371
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@3L3L3L@@@@@@@@@@@@CQDMDP0@@@@@EUUAP@@L3L3L3@@@ @PUUTA@@@4QCQDL@@BHAAUUPD@@CL3L3L"H"H"DEUU
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1372
@P@@MDP4QBH"H"H @@@A@@@3L3L3H"H"H!!DQDQD@@CQDMDP0@@H DP@@@P@@L3L3L3@@@ @Q@ETA@@@4QCQDL@@@@AD@UPD@@CL3L3L0@@@@@@@@@@@@MDP4
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1373
QC@@@@@@@@@@@@@3L3L3L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1374
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b');
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1375
                colorMapFromArray:#[ 0 0 0 129 129 129 255 0 0 255 255 255 105 133 190 194 194 194 ];
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1376
                mask:((ImageMask new)
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1377
                            width:28;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1378
                            height:28;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1379
                            bits:(ByteArray 
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1380
                                        fromPackedString:'
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1381
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G?0@@A?<G? _?A?8G?1_>A?<_? _???8G???>A???? _?G?8G?1_>A?<G? _?@?0G?0@@A?<@@@_?@@@@@@
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1382
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a');
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1383
                            yourself);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1384
                yourself
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1385
        ]
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1386
!
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1387
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1388
removeBug28x28Icon
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1389
    <resource: #image>
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1390
    "This resource specification was automatically generated
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1391
     by the ImageEditor of ST/X."
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1392
    "Do not manually edit this!! If it is corrupted,
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1393
     the ImageEditor may not be able to read the specification."
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1394
    "
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1395
     self removeBug28x28Icon inspect
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1396
     ImageEditor openOnClass:self andSelector:#removeBug28x28Icon
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1397
     Icon flushCachedIcons"
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1398
    
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1399
    ^ Icon 
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1400
        constantNamed:#'FileApplicationNoteBook::ArchiveViewApplication class removeBug28x28Icon'
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1401
        ifAbsentPut:[
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1402
            (Depth2Image new)
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1403
                width:28;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1404
                height:28;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1405
                photometric:(#palette);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1406
                bitsPerSample:(#( 2 ));
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1407
                samplesPerPixel:(1);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1408
                bits:(ByteArray 
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1409
                            fromPackedString:'
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1410
UUUUUUUUT@@@@@@@@@@@@@@@@@@@B*@@@@@J(@J(@@@@J(@@* @@@J(@@B*@@@J(@@@J(@@J(@@@@* @J(@@@@B(@J+0@@@@J :*+@@@@B*:**,@@@O*****
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1411
0@@C:****,@@@N**@@@@@@O*****0@@@>+***<@@@B(N*?0@@@B*@J+0@@@B*@@* @@@B*@@B*@@@B*@@@J(@@B*@@@@* @B*@@@@B*@B*@@@@@J(@@@@@@@
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1412
@@@@@@@@@@@@@@@@@@@@@@@a');
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1413
                colorMapFromArray:#[ 0 0 0 192 192 192 255 0 0 128 0 0 ];
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1414
                mask:((ImageMask new)
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1415
                            width:28;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1416
                            height:28;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1417
                            bits:(ByteArray 
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1418
                                        fromPackedString:'
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1419
@@@@@@@@@@@@@@@@O@@C0A8@A8@O@@<@A80^@@O#O0@A>_1@@N/>@@A??0@@??>@G??? BG??8@A??>@G??? @???8@@_?<@@O/>@@G9?D@C83<@A80^@@<@
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1420
C0@^@@^@O@@C0@@@@@@@@@@@@@@@@@@a');
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1421
                            yourself);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1422
                yourself
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1423
        ]
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1424
!
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1425
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1426
removeError
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1427
    <resource: #image>
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1428
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  1429
     by the ImageEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1430
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  1431
     the ImageEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1432
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  1433
     self removeError inspect
321c1729db5b initial checkin
penk
parents:
diff changeset
  1434
     ImageEditor openOnClass:self andSelector:#removeError
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1435
     Icon flushCachedIcons"
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1436
    
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1437
    ^ Icon 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1438
        constantNamed:#'FileApplicationNoteBook::ArchiveViewApplication class removeError'
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1439
        ifAbsentPut:[
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1440
            (Depth8Image new)
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1441
                width:28;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1442
                height:22;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1443
                photometric:(#palette);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1444
                bitsPerSample:(#( 8 ));
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1445
                samplesPerPixel:(1);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1446
                bits:(ByteArray 
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1447
                            fromPackedString:'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1448
@@@@@@@@@@@FA @@@@@@@@XF@@@@@@@@@@@@@@@@@@@@@@@@@@XF@@@@@@XF@@@@@@@@@@@@@@@@@@@@@@@@@@@@A X@@@XF@@@@@@@@@@@@@@@@@@@@@@@@
321c1729db5b initial checkin
penk
parents:
diff changeset
  1449
@@@@@@@FA XF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XFA X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XF
321c1729db5b initial checkin
penk
parents:
diff changeset
  1450
@@@FA @@@@@@@@@@@@@@@@@@@@@@@@@@@@XF@@@@@@XF@@@@@@@@@@@@@@@@@@@@@@@@@@XF@@@@@@@@A X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
321c1729db5b initial checkin
penk
parents:
diff changeset
  1451
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
321c1729db5b initial checkin
penk
parents:
diff changeset
  1452
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
321c1729db5b initial checkin
penk
parents:
diff changeset
  1453
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1454
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a');
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1455
                colorMapFromArray:#[ 0 0 0 8 4 8 105 133 190 121 133 157 129 129 129 194 194 194 255 0 0 ];
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1456
                mask:((ImageMask new)
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1457
                            width:28;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1458
                            height:22;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1459
                            bits:(ByteArray 
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1460
                                        fromPackedString:'@LC@@@A!! @@@L0@@@A8@@@@L@@@@G @@@CL@@@A!! @@@0L@@@@@@@BY=5LAIUUT S5UU8D!!UUPAFU\#@@@@@@@LR9@@D)J @A:R(@@P$*@@CIN @@@@@@@@@a');
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1461
                            yourself);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1462
                yourself
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  1463
        ]
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1464
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1465
321c1729db5b initial checkin
penk
parents:
diff changeset
  1466
!FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'interface specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1467
321c1729db5b initial checkin
penk
parents:
diff changeset
  1468
windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  1469
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  1470
     by the UIPainter of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1471
321c1729db5b initial checkin
penk
parents:
diff changeset
  1472
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  1473
     the UIPainter may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1474
321c1729db5b initial checkin
penk
parents:
diff changeset
  1475
    "
3951
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  1476
     UIPainter new openOnClass:FileApplicationNoteBook::ArchiveViewApplication andSelector:#windowSpec
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  1477
     FileApplicationNoteBook::ArchiveViewApplication new openInterface:#windowSpec
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  1478
     FileApplicationNoteBook::ArchiveViewApplication open
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1479
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  1480
321c1729db5b initial checkin
penk
parents:
diff changeset
  1481
    <resource: #canvas>
321c1729db5b initial checkin
penk
parents:
diff changeset
  1482
321c1729db5b initial checkin
penk
parents:
diff changeset
  1483
    ^ 
321c1729db5b initial checkin
penk
parents:
diff changeset
  1484
     #(#FullSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  1485
        #name: #windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  1486
        #window: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  1487
       #(#WindowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  1488
          #label: 'Archive Application'
321c1729db5b initial checkin
penk
parents:
diff changeset
  1489
          #name: 'Archive Application'
321c1729db5b initial checkin
penk
parents:
diff changeset
  1490
          #min: #(#Point 10 10)
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1491
          #bounds: #(#Rectangle 16 46 692 538)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1492
          #menu: #mainMenu
321c1729db5b initial checkin
penk
parents:
diff changeset
  1493
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1494
        #component: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  1495
       #(#SpecCollection
321c1729db5b initial checkin
penk
parents:
diff changeset
  1496
          #collection: #(
321c1729db5b initial checkin
penk
parents:
diff changeset
  1497
           #(#MenuPanelSpec
4261
8cfc011b2c0c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4201
diff changeset
  1498
              #name: 'MenuArchive'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1499
              #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  1500
              #level: 0
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1501
              #menu: #menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  1502
              #textDefault: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1503
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1504
           #(#'FileBrowserV2UISpecifications::PanelSpec'
321c1729db5b initial checkin
penk
parents:
diff changeset
  1505
              #name: 'VerticalPanel'
321c1729db5b initial checkin
penk
parents:
diff changeset
  1506
              #layout: #(#LayoutFrame 0 0.0 32 0.0 0 1.0 0 1.0)
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1507
              #level: 0
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1508
              #whichView: #last
321c1729db5b initial checkin
penk
parents:
diff changeset
  1509
              #orientation: #vertical
321c1729db5b initial checkin
penk
parents:
diff changeset
  1510
              #visibility: #errorListVisibilityHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  1511
              #component: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  1512
             #(#SpecCollection
321c1729db5b initial checkin
penk
parents:
diff changeset
  1513
                #collection: #(
321c1729db5b initial checkin
penk
parents:
diff changeset
  1514
                 #(#DataSetSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  1515
                    #name: 'Table1'
321c1729db5b initial checkin
penk
parents:
diff changeset
  1516
                    #model: #selectionHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  1517
                    #menu: #fileListMenu
321c1729db5b initial checkin
penk
parents:
diff changeset
  1518
                    #hasHorizontalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1519
                    #hasVerticalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1520
                    #dataList: #archiveFileList
321c1729db5b initial checkin
penk
parents:
diff changeset
  1521
                    #useIndex: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  1522
                    #has3Dsepartors: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  1523
                    #doubleClickSelector: #dblClick
321c1729db5b initial checkin
penk
parents:
diff changeset
  1524
                    #columnHolder: #tableColumns
321c1729db5b initial checkin
penk
parents:
diff changeset
  1525
                    #multipleSelectOk: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1526
                    #verticalSpacing: 0
321c1729db5b initial checkin
penk
parents:
diff changeset
  1527
                    #postBuildCallback: #postBuildFileTable:
321c1729db5b initial checkin
penk
parents:
diff changeset
  1528
                    #properties: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  1529
                   #(#PropertyListDictionary
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1530
                      #enterSelector: #dropEnter:
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1531
                      #dragArgument: #archivApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
  1532
                      #startDragSelector: #doStartDrag:in:
321c1729db5b initial checkin
penk
parents:
diff changeset
  1533
                      #displayObjectSelector: #getDisplayObjects:
321c1729db5b initial checkin
penk
parents:
diff changeset
  1534
                      #dropObjectSelector: #getDropObjects:
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1535
                      #overSelector: nil
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1536
                      #dropArgument: #archivApplication
3951
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  1537
                      #canDropSelector: #canDrop:
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  1538
                      #leaveSelector: #dropLeave:
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1539
                      #dropSelector: #doDrop:
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1540
                    )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1541
                  )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1542
                 #(#SequenceViewSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  1543
                    #name: 'ErrorList'
321c1729db5b initial checkin
penk
parents:
diff changeset
  1544
                    #initiallyDisabled: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1545
                    #hasHorizontalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1546
                    #hasVerticalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1547
                    #backgroundColor: #(#Color 100.0 100.0 100.0)
321c1729db5b initial checkin
penk
parents:
diff changeset
  1548
                    #isMultiSelect: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1549
                    #useIndex: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  1550
                    #sequenceList: #errorListHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  1551
                  )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1552
                 )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1553
               
321c1729db5b initial checkin
penk
parents:
diff changeset
  1554
              )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1555
              #handles: #(#Any 0.5 1.0)
321c1729db5b initial checkin
penk
parents:
diff changeset
  1556
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1557
           )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1558
         
321c1729db5b initial checkin
penk
parents:
diff changeset
  1559
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1560
      )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1561
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1562
321c1729db5b initial checkin
penk
parents:
diff changeset
  1563
!FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'menu specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1564
321c1729db5b initial checkin
penk
parents:
diff changeset
  1565
fileListMenu
321c1729db5b initial checkin
penk
parents:
diff changeset
  1566
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  1567
     by the MenuEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1568
321c1729db5b initial checkin
penk
parents:
diff changeset
  1569
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  1570
     the MenuEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1571
321c1729db5b initial checkin
penk
parents:
diff changeset
  1572
    "
4475
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1573
     MenuEditor new openOnClass:FileApplicationNoteBook::ArchiveViewApplication andSelector:#fileListMenu
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1574
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::ArchiveViewApplication fileListMenu)) startUp
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1575
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  1576
321c1729db5b initial checkin
penk
parents:
diff changeset
  1577
    <resource: #menu>
321c1729db5b initial checkin
penk
parents:
diff changeset
  1578
321c1729db5b initial checkin
penk
parents:
diff changeset
  1579
    ^ 
321c1729db5b initial checkin
penk
parents:
diff changeset
  1580
     #(#Menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  1581
        #(
321c1729db5b initial checkin
penk
parents:
diff changeset
  1582
         #(#MenuItem
4475
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1583
            #enabled: #hasListEntriesHolder
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1584
            #label: 'Select All'
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1585
            #itemValue: #selectAll
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1586
            #translateLabel: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1587
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1588
         #(#MenuItem
4475
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1589
            #label: '-'
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1590
          )
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1591
         #(#MenuItem
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1592
            #enabled: #hasSelectionInList
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1593
            #label: 'Copy Filenames'
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1594
            #itemValue: #copyFilesToClipboard
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1595
            #translateLabel: true
4475
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1596
          )
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1597
         #(#MenuItem
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1598
            #label: '-'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1599
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1600
         #(#MenuItem
4475
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1601
            #enabled: #hasSelectionInList
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1602
            #label: 'Extract to Directory...'
5415
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  1603
            #itemValue: #extractSelection
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  1604
            #translateLabel: true
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  1605
          )
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  1606
         #(#MenuItem
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  1607
            #label: 'Extract All to Directory...'
4475
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1608
            #itemValue: #extractAll
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1609
            #translateLabel: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1610
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1611
         #(#MenuItem
4475
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1612
            #enabled: #canDelete
4476
e4d58ec911c8 menu item
Claus Gittinger <cg@exept.de>
parents: 4475
diff changeset
  1613
            #label: 'Delete from Archive'
4961
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  1614
            #itemValue: #removeFilesFromArchive
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1615
            #translateLabel: true
4475
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1616
            #shortcutKey: #Delete
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1617
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1618
         #(#MenuItem
5415
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  1619
            #label: '-'
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  1620
          )
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  1621
         #(#MenuItem
4475
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1622
            #enabled: #canViewFile
5415
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  1623
            #label: 'Show Contents'
4475
deb39868dfa9 menu items resorted
Claus Gittinger <cg@exept.de>
parents: 4473
diff changeset
  1624
            #itemValue: #viewFile
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1625
            #translateLabel: true
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1626
            #isVisible: #closeButtonShown
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1627
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1628
         )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1629
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  1630
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  1631
      )
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1632
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1633
    "Modified: / 12-01-2012 / 00:34:13 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1634
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1635
321c1729db5b initial checkin
penk
parents:
diff changeset
  1636
menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  1637
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  1638
     by the MenuEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1639
321c1729db5b initial checkin
penk
parents:
diff changeset
  1640
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  1641
     the MenuEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1642
321c1729db5b initial checkin
penk
parents:
diff changeset
  1643
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  1644
     MenuEditor new openOnClass:FileApplicationNoteBook::ArchiveViewApplication andSelector:#menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  1645
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::ArchiveViewApplication menu)) startUp
321c1729db5b initial checkin
penk
parents:
diff changeset
  1646
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  1647
321c1729db5b initial checkin
penk
parents:
diff changeset
  1648
    <resource: #menu>
321c1729db5b initial checkin
penk
parents:
diff changeset
  1649
321c1729db5b initial checkin
penk
parents:
diff changeset
  1650
    ^ 
321c1729db5b initial checkin
penk
parents:
diff changeset
  1651
     #(#Menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  1652
        #(
321c1729db5b initial checkin
penk
parents:
diff changeset
  1653
         #(#MenuItem
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1654
            #activeHelpKey: #stopButton
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1655
            #enabled: #enableStopButton
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1656
            #label: 'Stop'
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1657
            #itemValue: #doStopProcess
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1658
            #nameKey: #Stop
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1659
            #translateLabel: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1660
            #isButton: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1661
            #labelImage: #(#ResourceRetriever #ToolbarIconLibrary #stop22x22Icon)
321c1729db5b initial checkin
penk
parents:
diff changeset
  1662
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1663
         #(#MenuItem
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1664
            #activeHelpKey: #extractItem
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1665
            #enabled: #hasListEntriesHolder
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1666
            #label: 'Extract'
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1667
            #itemValue: #extractAll
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1668
            #translateLabel: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1669
            #isButton: true
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1670
            #labelImage: #(#ResourceRetriever #'FileApplicationNoteBook::ArchiveViewApplication' #extract28x28Icon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1671
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1672
         #(#MenuItem
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1673
            #activeHelpKey: #removeOutputButton
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1674
            #enabled: #enableRemoveErrorOutput
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1675
            #label: 'Remove Output'
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1676
            #itemValue: #removeErrorOutput
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1677
            #translateLabel: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1678
            #isButton: true
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1679
            #labelImage: #(#ResourceRetriever #'FileApplicationNoteBook::ArchiveViewApplication' #removeBug28x28Icon)
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1680
          )
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1681
         #(#MenuItem
6100
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1682
            #activeHelpKey: #closeTabButton
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1683
            #label: 'Close'
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1684
            #itemValue: #doClose
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1685
            #translateLabel: true
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1686
            #isButton: true
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1687
            #startGroup: #right
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1688
            #isVisible: #closeButtonShown
4392
feb0bffd27b8 add new Text Editor tab
penk
parents: 4375
diff changeset
  1689
            #hideMenuOnActivated: false
6093
cab3a82eaa34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6091
diff changeset
  1690
            #labelImage: #(#ResourceRetriever #ToolbarIconLibrary #removeTabIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1691
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1692
         )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1693
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  1694
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  1695
      )
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1696
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  1697
    "Modified: / 12-01-2012 / 00:34:06 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1698
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1699
321c1729db5b initial checkin
penk
parents:
diff changeset
  1700
!FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1701
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  1702
canOpenItem:anItem
5287
693e3ca577aa avoid autoloading Archiver if an obviously non-archive is double clicked.
Claus Gittinger <cg@exept.de>
parents: 5279
diff changeset
  1703
    |suffix mimeType|
693e3ca577aa avoid autoloading Archiver if an obviously non-archive is double clicked.
Claus Gittinger <cg@exept.de>
parents: 5279
diff changeset
  1704
10706
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
  1705
"/    "avoid autoloading the archiver if its definitely not an archive"
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
  1706
"/    OperatingSystem isUNIXlike ifFalse:[
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
  1707
"/        "until Archiver supports windows archives..."
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
  1708
"/        ^ false.
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
  1709
"/    ].
6518
cc70159b7a85 stc-compile on Unix
Stefan Vogel <sv@exept.de>
parents: 6484
diff changeset
  1710
5287
693e3ca577aa avoid autoloading Archiver if an obviously non-archive is double clicked.
Claus Gittinger <cg@exept.de>
parents: 5279
diff changeset
  1711
    suffix := anItem fileName suffix asLowercase.
693e3ca577aa avoid autoloading Archiver if an obviously non-archive is double clicked.
Claus Gittinger <cg@exept.de>
parents: 5279
diff changeset
  1712
    ( #('c' 'h' 'bat' 'sh') includes:suffix) ifTrue:[^ false].
693e3ca577aa avoid autoloading Archiver if an obviously non-archive is double clicked.
Claus Gittinger <cg@exept.de>
parents: 5279
diff changeset
  1713
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  1714
    ( #('xlsx' 'ets') includes:suffix) ifTrue:[^ true].
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  1715
5287
693e3ca577aa avoid autoloading Archiver if an obviously non-archive is double clicked.
Claus Gittinger <cg@exept.de>
parents: 5279
diff changeset
  1716
    mimeType := anItem mimeType.
693e3ca577aa avoid autoloading Archiver if an obviously non-archive is double clicked.
Claus Gittinger <cg@exept.de>
parents: 5279
diff changeset
  1717
    ( #('application/x-make') includes:mimeType) ifTrue:[^ false].
693e3ca577aa avoid autoloading Archiver if an obviously non-archive is double clicked.
Claus Gittinger <cg@exept.de>
parents: 5279
diff changeset
  1718
5315
7384fe48ec1e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5307
diff changeset
  1719
    Archiver isNil ifTrue:[^ false].
6518
cc70159b7a85 stc-compile on Unix
Stefan Vogel <sv@exept.de>
parents: 6484
diff changeset
  1720
    ^ (Archiver classForMimeType:mimeType fileName:anItem fileName) notNil
10706
2c487f44a355 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 10566
diff changeset
  1721
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  1722
    "Modified: / 29-11-2011 / 18:59:35 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1723
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1724
321c1729db5b initial checkin
penk
parents:
diff changeset
  1725
wantNewApplicationAnyway
321c1729db5b initial checkin
penk
parents:
diff changeset
  1726
321c1729db5b initial checkin
penk
parents:
diff changeset
  1727
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
  1728
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1729
321c1729db5b initial checkin
penk
parents:
diff changeset
  1730
!FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'tableColumns specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1731
321c1729db5b initial checkin
penk
parents:
diff changeset
  1732
tableColumns
321c1729db5b initial checkin
penk
parents:
diff changeset
  1733
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  1734
     by the DataSetBuilder of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1735
321c1729db5b initial checkin
penk
parents:
diff changeset
  1736
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  1737
     the DataSetBuilder may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1738
321c1729db5b initial checkin
penk
parents:
diff changeset
  1739
    "
5008
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  1740
     DataSetBuilder new openOnClass:FileApplicationNoteBook::ArchiveViewApplication andSelector:#tableColumns
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1741
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  1742
321c1729db5b initial checkin
penk
parents:
diff changeset
  1743
    <resource: #tableColumns>
321c1729db5b initial checkin
penk
parents:
diff changeset
  1744
321c1729db5b initial checkin
penk
parents:
diff changeset
  1745
    ^#(
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1746
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1747
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1748
         labelActionSelector: sortFileListsBy:
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1749
         labelActionArgument: 'directory'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1750
         width: 25
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1751
         minWidth: 20
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1752
         height: 16
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1753
         model: icon
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1754
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1755
         isResizeable: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1756
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1757
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1758
       )
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1759
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1760
         label: 'File Name'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1761
         id: 'fileName'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1762
         labelAlignment: left
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1763
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1764
         model: fileName
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1765
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1766
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1767
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1768
       )
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1769
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1770
         label: 'Perm'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1771
         id: 'permissions'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1772
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1773
         usePreferredWidth: true
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1774
         width: 75
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1775
         model: permissions
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1776
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1777
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1778
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1779
       )
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1780
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1781
         label: 'Version'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1782
         id: 'version'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1783
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1784
         columnAlignment: right
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1785
         width: 100
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1786
         minWidth: 50
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1787
         model: version
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1788
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1789
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1790
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1791
       )
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1792
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1793
         label: 'Type'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1794
         id: 'type'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1795
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1796
         columnAlignment: right
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1797
         width: 100
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1798
         minWidth: 50
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1799
         model: type
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1800
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1801
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1802
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1803
       )
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1804
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1805
         label: 'Owner/Group'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1806
         id: 'ownerGroup'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1807
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1808
         columnAlignment: right
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1809
         width: 100
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1810
         minWidth: 50
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1811
         model: ownerGroup
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1812
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1813
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1814
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1815
       )
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1816
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1817
         label: 'Size'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1818
         id: 'size'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1819
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1820
         columnAlignment: right
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1821
         width: 80
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1822
         model: size
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1823
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1824
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1825
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1826
       )
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1827
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1828
         label: 'Date & Time'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1829
         id: 'dateAndTime'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1830
         labelAlignment: right
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1831
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1832
         columnAlignment: right
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1833
         usePreferredWidth: true
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1834
         width: 140
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1835
         model: dateAndTime
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1836
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1837
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1838
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1839
       )
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1840
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1841
         label: 'Method'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1842
         id: 'method'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1843
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1844
         columnAlignment: center
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1845
         usePreferredWidth: true
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1846
         width: 140
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1847
         model: method
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1848
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1849
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1850
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1851
       )
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1852
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1853
         label: 'CRC'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1854
         id: 'crc'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1855
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1856
         usePreferredWidth: true
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1857
         width: 140
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1858
         model: crc
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1859
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1860
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1861
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1862
       )
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1863
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1864
         label: 'Compress Size'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1865
         id: 'compressSize'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1866
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1867
         columnAlignment: right
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1868
         usePreferredWidth: true
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1869
         width: 140
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1870
         model: compressSize
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1871
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1872
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1873
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1874
       )
5222
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1875
      (DataSetColumnSpec
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1876
         label: 'Ratio'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1877
         id: 'ratio'
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1878
         labelButtonType: Button
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1879
         columnAlignment: right
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1880
         usePreferredWidth: true
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1881
         width: 140
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1882
         model: ratio
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1883
         canSelect: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1884
         showRowSeparator: false
a9bad3ac536e sort archive table columns disabled no selector was available
penk
parents: 5221
diff changeset
  1885
         showColSeparator: false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1886
       )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1887
      )
5008
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  1888
    
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1889
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1890
321c1729db5b initial checkin
penk
parents:
diff changeset
  1891
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1893
archiver
321c1729db5b initial checkin
penk
parents:
diff changeset
  1894
    "return the value of the instance variable 'archiver' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1895
321c1729db5b initial checkin
penk
parents:
diff changeset
  1896
    ^ archiver
321c1729db5b initial checkin
penk
parents:
diff changeset
  1897
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1898
321c1729db5b initial checkin
penk
parents:
diff changeset
  1899
archiver:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  1900
    "set the value of the instance variable 'archiver' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1901
321c1729db5b initial checkin
penk
parents:
diff changeset
  1902
    archiver := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1903
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1904
321c1729db5b initial checkin
penk
parents:
diff changeset
  1905
columnDescriptors
321c1729db5b initial checkin
penk
parents:
diff changeset
  1906
    "return the value of the instance variable 'columnDescriptors' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1907
321c1729db5b initial checkin
penk
parents:
diff changeset
  1908
    ^ columnDescriptors
321c1729db5b initial checkin
penk
parents:
diff changeset
  1909
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1910
321c1729db5b initial checkin
penk
parents:
diff changeset
  1911
columnDescriptors:aListOfColumns
321c1729db5b initial checkin
penk
parents:
diff changeset
  1912
    "set the value of the instance variable 'columnDescriptors' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1913
321c1729db5b initial checkin
penk
parents:
diff changeset
  1914
    columnDescriptors = aListOfColumns ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1915
        ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  1916
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1917
321c1729db5b initial checkin
penk
parents:
diff changeset
  1918
    columnDescriptors    := OrderedCollection new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1919
321c1729db5b initial checkin
penk
parents:
diff changeset
  1920
    aListOfColumns keysAndValuesDo:[:anIndex :aDesc| |col|
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
  1921
        col := aDesc isSequenceable ifTrue:[DataSetColumnSpec decodeFromLiteralArray:aDesc]
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1922
                                   ifFalse:[aDesc].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1923
        columnDescriptors add:col.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1924
    ].
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
  1925
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
  1926
    "Modified: / 27-03-2007 / 08:46:06 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1927
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1928
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  1929
item:anItem
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  1930
    super item:anItem.
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  1931
4375
05dd38dadc66 archivapplication errors removed
penk
parents: 4360
diff changeset
  1932
    self removeErrorOutput.
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  1933
    archiver := Archiver newFor:self fileName.
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  1934
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  1935
    archiver notNil ifTrue:[
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1936
        self 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1937
            makeProcessFor:[
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  1938
                self archiver:archiver.
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1939
                self setColumnsForArchiver.
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1940
            ] 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1941
            with:'Setup archive'.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1942
        ^ true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1943
    ]. 
321c1729db5b initial checkin
penk
parents:
diff changeset
  1944
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
  1945
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1946
321c1729db5b initial checkin
penk
parents:
diff changeset
  1947
temporaryDirectory
321c1729db5b initial checkin
penk
parents:
diff changeset
  1948
    "return the value of the instance variable 'temporaryDirectory' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1949
321c1729db5b initial checkin
penk
parents:
diff changeset
  1950
    temporaryDirectory isNil ifTrue:[
13112
ade9575b2a32 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 12830
diff changeset
  1951
        temporaryDirectory := Filename newTemporaryDirectory.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1952
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1953
    ^ temporaryDirectory
321c1729db5b initial checkin
penk
parents:
diff changeset
  1954
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1955
321c1729db5b initial checkin
penk
parents:
diff changeset
  1956
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1957
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  1958
changeItem:anItem 
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  1959
    self item:anItem.
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1960
    self clearFileList.
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  1961
    self listAllFiles.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1962
    ^ true
321c1729db5b initial checkin
penk
parents:
diff changeset
  1963
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1964
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1965
clearFileList
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1966
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1967
    self archiveFileList value removeAll.
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1968
!
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  1969
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1970
copyFilesToClipboard
321c1729db5b initial checkin
penk
parents:
diff changeset
  1971
    |sel list stream|
321c1729db5b initial checkin
penk
parents:
diff changeset
  1972
321c1729db5b initial checkin
penk
parents:
diff changeset
  1973
    sel := self selectionHolder value.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1974
    list := self archiveFileList.
6482
00207f456339 isEmptyOrNil / notEmptyOrNil refactoring
Claus Gittinger <cg@exept.de>
parents: 6481
diff changeset
  1975
    (sel notEmptyOrNil) ifTrue:[
15594
ebb982d3e6c3 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 15489
diff changeset
  1976
        stream := CharacterWriteStream new.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1977
        sel do:[: key |
321c1729db5b initial checkin
penk
parents:
diff changeset
  1978
            stream nextPutAll:(key fileName asString).
321c1729db5b initial checkin
penk
parents:
diff changeset
  1979
            stream cr.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1980
        ].
6033
9393b570b70a *** empty log message ***
ca
parents: 5968
diff changeset
  1981
        self window setClipboardText:stream contents.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1982
    ].
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  1983
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  1984
    "Modified (format): / 29-11-2011 / 18:57:40 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1985
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1986
321c1729db5b initial checkin
penk
parents:
diff changeset
  1987
dblClick
321c1729db5b initial checkin
penk
parents:
diff changeset
  1988
321c1729db5b initial checkin
penk
parents:
diff changeset
  1989
    self viewFile.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1990
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1991
321c1729db5b initial checkin
penk
parents:
diff changeset
  1992
doStopProcess
321c1729db5b initial checkin
penk
parents:
diff changeset
  1993
    | archiver |
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  1994
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1995
    self stopProcess.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1996
    archiver := self archiver.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1997
    archiver notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1998
        self archiver stopProcess.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1999
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2000
    self enableStopButton value:false.
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  2001
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  2002
    "Modified (format): / 29-11-2011 / 18:57:50 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2003
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2004
321c1729db5b initial checkin
penk
parents:
diff changeset
  2005
removeErrorOutput
321c1729db5b initial checkin
penk
parents:
diff changeset
  2006
321c1729db5b initial checkin
penk
parents:
diff changeset
  2007
    self viewErrorList value:false.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2008
    self errorListHolder removeAll.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2009
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2010
321c1729db5b initial checkin
penk
parents:
diff changeset
  2011
removeTemporaryDirectory
321c1729db5b initial checkin
penk
parents:
diff changeset
  2012
321c1729db5b initial checkin
penk
parents:
diff changeset
  2013
    temporaryDirectory notNil ifTrue:[
4923
1aced17a14a7 Do not use obsolete FileDirectory
Stefan Vogel <sv@exept.de>
parents: 4913
diff changeset
  2014
        temporaryDirectory removeDirectory.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2015
        temporaryDirectory := nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2016
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2017
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2018
321c1729db5b initial checkin
penk
parents:
diff changeset
  2019
selectAll
321c1729db5b initial checkin
penk
parents:
diff changeset
  2020
321c1729db5b initial checkin
penk
parents:
diff changeset
  2021
    | sel listOfFiles|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2022
321c1729db5b initial checkin
penk
parents:
diff changeset
  2023
    sel := OrderedCollection new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2024
    listOfFiles := self archiveFileList value.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2025
    1 to:(listOfFiles size) do:[ : el |
321c1729db5b initial checkin
penk
parents:
diff changeset
  2026
        sel add:el
321c1729db5b initial checkin
penk
parents:
diff changeset
  2027
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2028
    self selectionHolder value:sel.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2029
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2030
321c1729db5b initial checkin
penk
parents:
diff changeset
  2031
updateFileBrowserIfPresentWith:aDirectory
321c1729db5b initial checkin
penk
parents:
diff changeset
  2032
321c1729db5b initial checkin
penk
parents:
diff changeset
  2033
    | master|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2034
321c1729db5b initial checkin
penk
parents:
diff changeset
  2035
    master := self masterApplication.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2036
    master notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2037
        master updateAndSelect:(OrderedCollection with:aDirectory).
321c1729db5b initial checkin
penk
parents:
diff changeset
  2038
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2039
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2040
321c1729db5b initial checkin
penk
parents:
diff changeset
  2041
viewFile
321c1729db5b initial checkin
penk
parents:
diff changeset
  2042
321c1729db5b initial checkin
penk
parents:
diff changeset
  2043
    | master item file tempDir|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2044
4001
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2045
    self canViewFile ifFalse:[^ self].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2046
    master := self masterApplication.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2047
    self selectionHolder value size = 1 ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2048
        Dialog warn:'only one file have to be selected'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2049
        ^ self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2050
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2051
    tempDir := self temporaryDirectory.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2052
    self extractSelectedFilesTo:tempDir askForExtractOptions:false.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2053
    process notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2054
        process waitUntilTerminated.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2055
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2056
    file := tempDir construct:self selectionHolder value first fileName.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2057
    file exists ifTrue:[
3982
fc30449d705d *** empty log message ***
penk
parents: 3962
diff changeset
  2058
        item := DirectoryContentsBrowser itemClass fileName:file.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2059
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2060
    master notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2061
        master openApplByFileItem:item.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2062
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2063
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2064
321c1729db5b initial checkin
penk
parents:
diff changeset
  2065
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'aspects'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2066
321c1729db5b initial checkin
penk
parents:
diff changeset
  2067
archiveFileList
321c1729db5b initial checkin
penk
parents:
diff changeset
  2068
321c1729db5b initial checkin
penk
parents:
diff changeset
  2069
    archiveFileList isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2070
        archiveFileList := List new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2071
        archiveFileList addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2072
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2073
    ^ archiveFileList.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2074
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2075
321c1729db5b initial checkin
penk
parents:
diff changeset
  2076
enableRemoveErrorOutput
321c1729db5b initial checkin
penk
parents:
diff changeset
  2077
    "return/create the 'enableRemoveErrorOutput' value holder (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2078
321c1729db5b initial checkin
penk
parents:
diff changeset
  2079
    enableRemoveErrorOutput isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2080
        enableRemoveErrorOutput := false asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2081
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2082
    ^ enableRemoveErrorOutput
321c1729db5b initial checkin
penk
parents:
diff changeset
  2083
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2084
321c1729db5b initial checkin
penk
parents:
diff changeset
  2085
enableStopButton
321c1729db5b initial checkin
penk
parents:
diff changeset
  2086
321c1729db5b initial checkin
penk
parents:
diff changeset
  2087
    enableStopButton isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2088
        enableStopButton := false asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2089
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2090
    ^ enableStopButton
321c1729db5b initial checkin
penk
parents:
diff changeset
  2091
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2092
321c1729db5b initial checkin
penk
parents:
diff changeset
  2093
errorListHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  2094
321c1729db5b initial checkin
penk
parents:
diff changeset
  2095
    errorListHolder isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2096
        errorListHolder := List new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2097
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2098
    ^ errorListHolder.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2099
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2100
321c1729db5b initial checkin
penk
parents:
diff changeset
  2101
errorListVisibilityHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  2102
321c1729db5b initial checkin
penk
parents:
diff changeset
  2103
    errorListVisibilityHolder isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2104
        errorListVisibilityHolder := false asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2105
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2106
    ^ errorListVisibilityHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  2107
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2108
321c1729db5b initial checkin
penk
parents:
diff changeset
  2109
hasSelectionInList
321c1729db5b initial checkin
penk
parents:
diff changeset
  2110
    | sel |
6482
00207f456339 isEmptyOrNil / notEmptyOrNil refactoring
Claus Gittinger <cg@exept.de>
parents: 6481
diff changeset
  2111
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2112
    sel := self selectionHolder value.
6482
00207f456339 isEmptyOrNil / notEmptyOrNil refactoring
Claus Gittinger <cg@exept.de>
parents: 6481
diff changeset
  2113
    ^ sel notEmptyOrNil
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2114
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2115
321c1729db5b initial checkin
penk
parents:
diff changeset
  2116
selectionHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  2117
    selectionHolder isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2118
        selectionHolder := ValueHolder new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2119
        selectionHolder addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2120
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2121
    ^ selectionHolder.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2122
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2123
321c1729db5b initial checkin
penk
parents:
diff changeset
  2124
tableColumns
321c1729db5b initial checkin
penk
parents:
diff changeset
  2125
321c1729db5b initial checkin
penk
parents:
diff changeset
  2126
    tableColumns isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2127
        tableColumns := self class tableColumns asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2128
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2129
    ^ tableColumns.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2130
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2131
321c1729db5b initial checkin
penk
parents:
diff changeset
  2132
viewErrorList
321c1729db5b initial checkin
penk
parents:
diff changeset
  2133
    "return/create the 'viewErrorList' value holder (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2134
321c1729db5b initial checkin
penk
parents:
diff changeset
  2135
    viewErrorList isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2136
        viewErrorList := false asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2137
        viewErrorList onChangeSend:#viewErrorListChanged to:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2138
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2139
    ^ viewErrorList
321c1729db5b initial checkin
penk
parents:
diff changeset
  2140
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2141
321c1729db5b initial checkin
penk
parents:
diff changeset
  2142
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'change & update'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2143
321c1729db5b initial checkin
penk
parents:
diff changeset
  2144
update:something with:aParameter from:changedObject
321c1729db5b initial checkin
penk
parents:
diff changeset
  2145
    changedObject == self archiveFileList ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2146
        self hasListEntriesHolder value:(changedObject notEmpty).
321c1729db5b initial checkin
penk
parents:
diff changeset
  2147
        ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  2148
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2149
    super update:something with:aParameter from:changedObject
321c1729db5b initial checkin
penk
parents:
diff changeset
  2150
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2151
321c1729db5b initial checkin
penk
parents:
diff changeset
  2152
viewErrorListChanged
321c1729db5b initial checkin
penk
parents:
diff changeset
  2153
321c1729db5b initial checkin
penk
parents:
diff changeset
  2154
    | viewListValue|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2155
321c1729db5b initial checkin
penk
parents:
diff changeset
  2156
    viewListValue := self viewErrorList value.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2157
    self enableRemoveErrorOutput value:viewListValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2158
    self errorListVisibilityHolder value:viewListValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2159
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2160
321c1729db5b initial checkin
penk
parents:
diff changeset
  2161
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'command execution'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2162
321c1729db5b initial checkin
penk
parents:
diff changeset
  2163
getErrorBlock
321c1729db5b initial checkin
penk
parents:
diff changeset
  2164
321c1729db5b initial checkin
penk
parents:
diff changeset
  2165
    ^
321c1729db5b initial checkin
penk
parents:
diff changeset
  2166
    [: x |
321c1729db5b initial checkin
penk
parents:
diff changeset
  2167
        self viewErrorList value:true.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2168
        self errorListHolder value add:x.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2169
    ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  2170
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2171
321c1729db5b initial checkin
penk
parents:
diff changeset
  2172
getErrorStream
321c1729db5b initial checkin
penk
parents:
diff changeset
  2173
321c1729db5b initial checkin
penk
parents:
diff changeset
  2174
    |errStream|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2175
321c1729db5b initial checkin
penk
parents:
diff changeset
  2176
    errStream := ActorStream new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2177
    errStream nextPutLineBlock:(self getErrorBlock).
321c1729db5b initial checkin
penk
parents:
diff changeset
  2178
    ^ errStream
321c1729db5b initial checkin
penk
parents:
diff changeset
  2179
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2180
321c1729db5b initial checkin
penk
parents:
diff changeset
  2181
getOutBlock
4961
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2182
    |archiveOutputParser|
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2183
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2184
    archiveOutputParser := archiver listFilesReader.
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2185
5413
7d58900ca76e extract in the current selected directory
penk
parents: 5406
diff changeset
  2186
    ^ [: line | |item|
4961
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2187
        item := archiveOutputParser parseLine:line forItemClass:ArchivItem.
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2188
        item notNil ifTrue:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2189
            self archiveFileList value add:item
321c1729db5b initial checkin
penk
parents:
diff changeset
  2190
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2191
    ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  2192
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2193
321c1729db5b initial checkin
penk
parents:
diff changeset
  2194
getOutStream
321c1729db5b initial checkin
penk
parents:
diff changeset
  2195
321c1729db5b initial checkin
penk
parents:
diff changeset
  2196
    |outStream|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2197
321c1729db5b initial checkin
penk
parents:
diff changeset
  2198
    outStream := ActorStream new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2199
    outStream nextPutLineBlock:(self getOutBlock).
321c1729db5b initial checkin
penk
parents:
diff changeset
  2200
    ^ outStream
321c1729db5b initial checkin
penk
parents:
diff changeset
  2201
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2202
321c1729db5b initial checkin
penk
parents:
diff changeset
  2203
makeProcessFor:aBlock
321c1729db5b initial checkin
penk
parents:
diff changeset
  2204
    self makeProcessFor:aBlock with:''
321c1729db5b initial checkin
penk
parents:
diff changeset
  2205
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2206
321c1729db5b initial checkin
penk
parents:
diff changeset
  2207
makeProcessFor:aBlock with:string
321c1729db5b initial checkin
penk
parents:
diff changeset
  2208
    process notNil ifTrue:[
6054
ef93df40e07d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6033
diff changeset
  2209
        (process waitUntilTerminatedWithTimeout:10) ifTrue:[
ef93df40e07d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6033
diff changeset
  2210
            (Dialog confirm:'Terminate the current active archive operation ?') ifFalse:[^ self].
ef93df40e07d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6033
diff changeset
  2211
            process terminate.
ef93df40e07d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6033
diff changeset
  2212
        ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2213
        terminateByMe ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2214
            terminateByMe := false.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2215
            ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  2216
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2217
    ].
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2218
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2219
    process := [   [        
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2220
                        self notify:string.
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2221
                        aBlock value.
6190
b3ab1d955319 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6173
diff changeset
  2222
                        self notify:nil.
4890
b3f7edcf4981 Stream streamErrorSignal -> StreamError
Stefan Vogel <sv@exept.de>
parents: 4880
diff changeset
  2223
                    ] ensure:[ 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2224
                        process := nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2225
                        self enableStopButton value:false.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2226
                    ] 
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2227
                ] newProcess.
15465
74d2b7497f7c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15232
diff changeset
  2228
    process priority:(Processor userBackgroundPriority).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2229
    process name:'ArchiveApplicationProcess'.
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2230
    process resume.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2231
    self enableStopButton value:true.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2232
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2233
321c1729db5b initial checkin
penk
parents:
diff changeset
  2234
setColumnsForArchiver
321c1729db5b initial checkin
penk
parents:
diff changeset
  2235
321c1729db5b initial checkin
penk
parents:
diff changeset
  2236
    | newColumns archiverColumns allColumns iconColumn|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2237
4965
a251b39fb4a2 dont use a column-descriptors id-field
Claus Gittinger <cg@exept.de>
parents: 4964
diff changeset
  2238
    archiverColumns := archiver columns collect:[:el| el first].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2239
    allColumns := OrderedCollection new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2240
    newColumns := OrderedCollection new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2241
    self class tableColumns do:[:el|
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
  2242
        allColumns add:(DataSetColumnSpec decodeFromLiteralArray:el).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2243
    ].
4965
a251b39fb4a2 dont use a column-descriptors id-field
Claus Gittinger <cg@exept.de>
parents: 4964
diff changeset
  2244
    iconColumn := allColumns detect:[: col | (col readSelector asSymbol) = #icon] ifNone:[nil].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2245
    iconColumn notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2246
        newColumns add:iconColumn.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2247
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2248
    allColumns do:[:col|
4965
a251b39fb4a2 dont use a column-descriptors id-field
Claus Gittinger <cg@exept.de>
parents: 4964
diff changeset
  2249
        (archiverColumns includes:(col readSelector asSymbol)) ifTrue:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2250
            newColumns add:col.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2251
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2252
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2253
    self tableColumns value:newColumns.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2254
    self columnDescriptors:(self tableColumns value).
7765
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
  2255
Claus Gittinger <cg@exept.de>
parents: 7693
diff changeset
  2256
    "Modified: / 27-03-2007 / 08:46:03 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2257
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2258
321c1729db5b initial checkin
penk
parents:
diff changeset
  2259
stopProcess
321c1729db5b initial checkin
penk
parents:
diff changeset
  2260
321c1729db5b initial checkin
penk
parents:
diff changeset
  2261
    |task|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2262
321c1729db5b initial checkin
penk
parents:
diff changeset
  2263
    terminateByMe := true.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2264
    (task := process) notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2265
        process := nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2266
4645
fcf36da5b305 Convert Object>>errorSignal -> Error
Stefan Vogel <sv@exept.de>
parents: 4626
diff changeset
  2267
        Error handle:[:ex|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2268
            Dialog warn:ex description.
4645
fcf36da5b305 Convert Object>>errorSignal -> Error
Stefan Vogel <sv@exept.de>
parents: 4626
diff changeset
  2269
        ] do:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2270
            task isDead ifFalse:[
3919
c3cb2ca2f2c8 next stage
penk
parents: 3906
diff changeset
  2271
                task terminateWithAllSubprocessesInGroup.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2272
                task waitUntilTerminated.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2273
            ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  2274
        ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  2275
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2276
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2277
321c1729db5b initial checkin
penk
parents:
diff changeset
  2278
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'command helper'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2279
321c1729db5b initial checkin
penk
parents:
diff changeset
  2280
selectDirectoryDialog
321c1729db5b initial checkin
penk
parents:
diff changeset
  2281
321c1729db5b initial checkin
penk
parents:
diff changeset
  2282
    | dir directory haveDirectory|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2283
321c1729db5b initial checkin
penk
parents:
diff changeset
  2284
    directory := self fileName directory.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2285
    haveDirectory := false.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2286
    [haveDirectory] whileFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2287
        dir := Dialog requestDirectoryName:'Which directory ?' default:dir.
3988
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2288
        dir isEmpty ifTrue:[ ^ nil].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2289
        dir := dir asFilename.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2290
        (dir isExecutable not or:[dir isWritable not]) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2291
            Dialog warn:'cant write to: ', dir asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2292
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2293
        haveDirectory := true.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2294
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2295
    ^ dir
3988
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2296
!
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2297
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2298
selectDirectoryDialog:message
5413
7d58900ca76e extract in the current selected directory
penk
parents: 5406
diff changeset
  2299
    |dir haveDirectory answer|
7d58900ca76e extract in the current selected directory
penk
parents: 5406
diff changeset
  2300
7d58900ca76e extract in the current selected directory
penk
parents: 5406
diff changeset
  2301
    dir := self masterApplication currentDirectory.
7d58900ca76e extract in the current selected directory
penk
parents: 5406
diff changeset
  2302
    dir isNil ifTrue:[
7d58900ca76e extract in the current selected directory
penk
parents: 5406
diff changeset
  2303
        dir := archiver fileName withoutSuffix.        
5221
e18f159cd2b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5202
diff changeset
  2304
"/        (fn exists and:[fn isDirectory]) ifTrue:[
e18f159cd2b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5202
diff changeset
  2305
"/            dir := fn        
e18f159cd2b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5202
diff changeset
  2306
"/        ] ifFalse:[
e18f159cd2b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5202
diff changeset
  2307
"/            dir := fn directory       
e18f159cd2b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5202
diff changeset
  2308
"/        ].
4981
0476a3d2d4ef archiver fix in SelectDirectoryDialog (nil fileName)
Claus Gittinger <cg@exept.de>
parents: 4977
diff changeset
  2309
    ].
5221
e18f159cd2b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5202
diff changeset
  2310
3988
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2311
    haveDirectory := false.
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2312
    [haveDirectory] whileFalse:[
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2313
        dir := Dialog requestDirectoryName:message default:dir.
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2314
        dir isEmpty ifTrue:[ ^ nil].
4396
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2315
3988
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2316
        dir := dir asFilename.
4396
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2317
        dir exists ifFalse:[
5610
bbb8d7ef1de8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5609
diff changeset
  2318
            answer := Dialog confirm:(resources stringWithCRs:'Directory %1 does not exist.\\Create ?' with:(dir asString allBold)).
4396
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2319
            answer isNil ifTrue:[
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2320
                ^ nil
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2321
            ].
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2322
            answer ifTrue:[
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2323
                dir makeDirectory.
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2324
                dir exists ifFalse:[
5610
bbb8d7ef1de8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5609
diff changeset
  2325
                    Dialog warn:(resources stringWithCRs:'Cannot create directory %1 !!' with:(dir asString allBold)).
4396
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2326
                ]
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2327
            ].
3988
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2328
        ].
4396
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2329
        dir exists ifTrue:[
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2330
            (dir isExecutable not or:[dir isWritable not]) ifTrue:[
5610
bbb8d7ef1de8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5609
diff changeset
  2331
                Dialog warn:(resources stringWithCRs:'Cannot write into directory %1 !!' with:dir asString allBold).
4396
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2332
            ] ifFalse:[
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2333
                haveDirectory := true.
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2334
            ].
eb8622726488 dialog strings; added create directory to extract operation
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  2335
        ].
3988
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2336
    ].
fd7cc4e7983f *** empty log message ***
ca
parents: 3987
diff changeset
  2337
    ^ dir
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2338
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2339
321c1729db5b initial checkin
penk
parents:
diff changeset
  2340
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands add'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2341
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2342
addFilesToArchive:colOfFiles 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2343
    self archiver 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2344
        outStream:nil
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2345
        errorStream:(self getErrorStream)
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2346
        synchron:true.
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2347
4961
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2348
"/    self 
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2349
"/        makeProcessFor:[ 
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2350
"/            self archiver addFilesToArchive:colOfFiles.
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2351
"/        ]
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2352
"/        with:'Adding files to archive'.
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2353
    "/ synchronous - otherwise list below fails
7b1d05219028 no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 4953
diff changeset
  2354
    self archiver addFilesToArchive:colOfFiles.
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2355
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2356
    "/ ugly code alarm.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2357
    (self archiver class == Archiver zipArchive) ifTrue:[
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2358
        self listAllFiles
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2359
    ] ifFalse:[
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2360
        self listFiles:colOfFiles
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2361
    ].
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2362
    ^ true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2363
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2364
321c1729db5b initial checkin
penk
parents:
diff changeset
  2365
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands extract'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2366
321c1729db5b initial checkin
penk
parents:
diff changeset
  2367
extractAll
321c1729db5b initial checkin
penk
parents:
diff changeset
  2368
321c1729db5b initial checkin
penk
parents:
diff changeset
  2369
    self extractSelectedFilesTo:nil withSelection:#all
321c1729db5b initial checkin
penk
parents:
diff changeset
  2370
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2371
321c1729db5b initial checkin
penk
parents:
diff changeset
  2372
extractSelectedFilesTo:aDirectory askForExtractOptions:askForExtractOptionsBoolean
321c1729db5b initial checkin
penk
parents:
diff changeset
  2373
321c1729db5b initial checkin
penk
parents:
diff changeset
  2374
    self extractSelectedFilesTo:aDirectory withSelection:#selection askForExtractOptions:askForExtractOptionsBoolean
321c1729db5b initial checkin
penk
parents:
diff changeset
  2375
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2376
321c1729db5b initial checkin
penk
parents:
diff changeset
  2377
extractSelectedFilesTo:aDirectory withSelection:selectOrAll
321c1729db5b initial checkin
penk
parents:
diff changeset
  2378
321c1729db5b initial checkin
penk
parents:
diff changeset
  2379
    self extractSelectedFilesTo:aDirectory withSelection:selectOrAll askForExtractOptions:true.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2380
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2381
321c1729db5b initial checkin
penk
parents:
diff changeset
  2382
extractSelectedFilesTo:aDirectory withSelection:selectOrAll askForExtractOptions:askForExtractOptionsBoolean
321c1729db5b initial checkin
penk
parents:
diff changeset
  2383
321c1729db5b initial checkin
penk
parents:
diff changeset
  2384
    | dir|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2385
321c1729db5b initial checkin
penk
parents:
diff changeset
  2386
    aDirectory isNil ifTrue:[
5413
7d58900ca76e extract in the current selected directory
penk
parents: 5406
diff changeset
  2387
        dir := self selectDirectoryDialog:'Extract into Directory?'.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2388
        dir isNil ifTrue:[^ self].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2389
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2390
        dir := aDirectory.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2391
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2392
    selectOrAll == #all ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2393
       self extractAllTo:dir.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2394
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2395
    selectOrAll == #selection ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2396
        self extractSelectionTo:dir askForExtractOptions:askForExtractOptionsBoolean
321c1729db5b initial checkin
penk
parents:
diff changeset
  2397
    ].
4001
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2398
"/    self updateFileBrowserIfPresentWith:dir.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2399
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2400
321c1729db5b initial checkin
penk
parents:
diff changeset
  2401
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands extract private'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2402
321c1729db5b initial checkin
penk
parents:
diff changeset
  2403
extractAllTo:aDirectory 
321c1729db5b initial checkin
penk
parents:
diff changeset
  2404
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2405
    self archiver 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2406
        outStream:nil 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2407
        errorStream:(self getErrorStream) 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2408
        synchron:true.
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2409
    self 
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2410
        makeProcessFor:[ self archiver extractFilesTo:aDirectory ] 
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2411
        with:'Extracting all files'.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2412
    ^ true.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2413
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2414
5415
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  2415
extractSelection
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  2416
    self extractSelectedFilesTo:nil withSelection:#selection askForExtractOptions:true
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  2417
!
20210169445f allow single extract from an archive
Claus Gittinger <cg@exept.de>
parents: 5414
diff changeset
  2418
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2419
extractSelectionTo:aDirectory askForExtractOptions:askForExtractOptionsBoolean
321c1729db5b initial checkin
penk
parents:
diff changeset
  2420
    |  sel index extractWithDirectoryPart extractAllFilesInSelectedDirectories extractFiles|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2421
321c1729db5b initial checkin
penk
parents:
diff changeset
  2422
    extractWithDirectoryPart := true.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2423
    extractAllFilesInSelectedDirectories := false.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2424
    sel := self selectionHolder value.
6482
00207f456339 isEmptyOrNil / notEmptyOrNil refactoring
Claus Gittinger <cg@exept.de>
parents: 6481
diff changeset
  2425
    (sel isEmptyOrNil) ifTrue:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2426
        sel := self archiveFileList value.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2427
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2428
    sel := sel do:[:item|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2429
        item fileName: item fileName
321c1729db5b initial checkin
penk
parents:
diff changeset
  2430
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2431
    (askForExtractOptionsBoolean and:[self archiver class ~= Archiver zipArchive]) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2432
        extractFiles := self selRemoveFilesForDirs:sel.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2433
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2434
        extractFiles := sel.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2435
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2436
    
321c1729db5b initial checkin
penk
parents:
diff changeset
  2437
    askForExtractOptionsBoolean ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2438
        index := extractFiles findFirst:[: el | el hasDirectoryPart].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2439
        index ~= 0 ifTrue:[
4964
911fb209dcfc output parsing refactored;
Claus Gittinger <cg@exept.de>
parents: 4961
diff changeset
  2440
            extractWithDirectoryPart := (Dialog confirmWithCancel:'Extract with directory part ?\\(I.e. create empty directories as required to preserve relative path)' withCRs default:true).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2441
            extractWithDirectoryPart isNil ifTrue:[^ false].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2442
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2443
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2444
    extractWithDirectoryPart ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2445
        self extractWithDirectoryPartTo:aDirectory with:extractFiles.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2446
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2447
        self extractWithOutDirectoryPartTo:aDirectory with:extractFiles.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2448
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2449
    ^ true
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  2450
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  2451
    "Modified (format): / 29-11-2011 / 18:57:54 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2452
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2453
321c1729db5b initial checkin
penk
parents:
diff changeset
  2454
extractWithDirectoryPartTo:aDirectory with:extractFiles
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2455
    self archiver 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2456
        outStream:nil 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2457
        errorStream:(self getErrorStream) 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2458
        synchron:true.
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2459
    self 
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2460
        makeProcessFor:[ self archiver extractFiles:extractFiles to:aDirectory ] 
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2461
        with:('Extracting files to %1' bindWith:aDirectory asString).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2462
    ^ true.
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  2463
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  2464
    "Modified (format): / 29-11-2011 / 18:57:58 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2465
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2466
321c1729db5b initial checkin
penk
parents:
diff changeset
  2467
extractWithOutDirectoryPartTo:aDirectory with:extractFiles
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2468
    self archiver 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2469
        outStream:nil 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2470
        errorStream:(self getErrorStream) 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2471
        synchron:true.
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2472
    self 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2473
        makeProcessFor:[
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2474
            self archiver 
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2475
                extractFiles:(extractFiles collect:[:item| item fileName])
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2476
                withoutDirectoryTo:aDirectory.
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2477
        ] 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2478
        with:('Extracting files to %1' bindWith:aDirectory asString).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2479
    ^ true.
10922
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  2480
ad955bd3b4b1 added: #doAddArchiverOn:
Claus Gittinger <cg@exept.de>
parents: 10761
diff changeset
  2481
    "Modified (format): / 29-11-2011 / 18:58:01 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2482
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2483
321c1729db5b initial checkin
penk
parents:
diff changeset
  2484
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands list'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2485
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2486
listAllFiles
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2487
    self archiveFileList value removeAll.
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2488
    self listFiles:nil
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2489
!
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2490
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2491
listFiles:aColOfFilesOrNil 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2492
    process notNil ifTrue:[
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2493
        process waitUntilTerminated
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2494
    ].
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2495
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2496
    archiver notNil ifTrue:[
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2497
        self archiver 
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2498
            outStream:(self getOutStream)
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2499
            errorStream:(self getErrorStream)
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2500
            synchron:true.
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2501
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2502
        self 
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2503
            makeProcessFor:[self archiver listFiles:aColOfFilesOrNil]
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2504
            with:'List files'
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2505
    ]
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2506
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2507
321c1729db5b initial checkin
penk
parents:
diff changeset
  2508
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands remove'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2509
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2510
removeFilesFromArchive
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2511
    |sel realSel list firtsPre stringCol stringRealSel|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2512
321c1729db5b initial checkin
penk
parents:
diff changeset
  2513
    sel := self selectionHolder value.
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2514
    stringCol := sel collect:[:item | item fileName].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2515
    firtsPre := stringCol at:1.
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2516
    stringCol from:2 do:[:el | firtsPre := firtsPre commonPrefixWith:el].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2517
    list := self archiveFileList value.
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2518
"/    realSel := OrderedCollection new.
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2519
"/    list do:[:item | 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2520
"/        ((item fileName) startsWith:firtsPre) ifTrue:[
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2521
"/            realSel add:item
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2522
"/        ]
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2523
"/    ].
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2524
    realSel := list select:[:item | (item fileName) startsWith:firtsPre].
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2525
    stringRealSel := realSel collect:[:item | item fileName].
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2526
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2527
    self archiver 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2528
        outStream:nil
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2529
        errorStream:(self getErrorStream)
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2530
        synchron:true.
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2531
    self 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2532
        makeProcessFor:[ self archiver removeFilesFromArchive:stringCol ]
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2533
        with:'Remove files'.
4462
b14fcc67ff8e removeAll: changed to removeAllFoundIn:
Michael Beyl <mb@exept.de>
parents: 4417
diff changeset
  2534
    self archiveFileList value removeAllFoundIn:realSel
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2535
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2536
321c1729db5b initial checkin
penk
parents:
diff changeset
  2537
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'drag & drop'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2538
3951
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2539
canDrop:aContext
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2540
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2541
    ^ inDropMode
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2542
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2543
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2544
doDrop:aContext 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2545
    |col source arg objects|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2546
321c1729db5b initial checkin
penk
parents:
diff changeset
  2547
    source := aContext dropSource.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2548
    arg := source argument.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2549
    objects := aContext dropObjects.
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2550
    col := objects collect:[:dropObject | dropObject theObject].
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2551
    ^ self addFilesToArchive:col
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2552
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2553
321c1729db5b initial checkin
penk
parents:
diff changeset
  2554
doStartDrag:aDropSource in:aView
9359
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2555
    "set the cursors before starting the drag & drop operation"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2556
4018
43e02c59719d *** empty log message ***
penk
parents: 4001
diff changeset
  2557
    archiver class canDragnDrop ifFalse:[^ self].
9359
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2558
    super doStartDrag:aDropSource in:aView
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2559
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2560
3951
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2561
dropEnter:aContext
6377
5c3a4c5d70cc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6376
diff changeset
  2562
    | dropObjects|
3951
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2563
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2564
    inDropMode := false.
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2565
    (aContext dropSource receiver == self) ifTrue:[^ self].
6377
5c3a4c5d70cc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6376
diff changeset
  2566
    dropObjects := aContext dropObjects.
5c3a4c5d70cc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6376
diff changeset
  2567
5c3a4c5d70cc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6376
diff changeset
  2568
    dropObjects do:[:aObject| |checkObject checkObjectString|
3951
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2569
        aObject isFileObject ifFalse:[^ self].
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2570
        checkObject := aObject theObject.
6250
5b0673ccff1c refactored intention revealing code:
Claus Gittinger <cg@exept.de>
parents: 6214
diff changeset
  2571
        checkObject isFilename ifFalse:[^ self].
3951
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2572
        checkObject isSpecialFile ifTrue:[^ self].
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2573
    ].
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2574
    inDropMode := true.
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2575
!
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2576
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2577
dropLeave:aContext
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2578
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2579
    inDropMode := false.
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2580
!
af8ef74cb43b next stage
penk
parents: 3950
diff changeset
  2581
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2582
getDisplayObjects:anArgument
9359
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2583
    "retrieve the objects displayed during a drag"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2584
321c1729db5b initial checkin
penk
parents:
diff changeset
  2585
    | sel string size fnName stream|
9359
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2586
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2587
    sel := self selectionHolder value.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2588
    size := sel size.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2589
    size == 0  ifTrue:[^ ''].
9359
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2590
15594
ebb982d3e6c3 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 15489
diff changeset
  2591
    stream := CharacterWriteStream new.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2592
    stream nextPutAll:(sel first fileName asFilename baseName asString).
321c1729db5b initial checkin
penk
parents:
diff changeset
  2593
    size == 1 ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2594
        fnName := 'ui_menuitem.xpm'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2595
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2596
        fnName := 'ui_submenu_open.xpm'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2597
        stream nextPutAll:' ... '.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2598
        stream nextPutAll:(sel last fileName asFilename baseName asString).
321c1729db5b initial checkin
penk
parents:
diff changeset
  2599
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2600
    string := stream contents.
9359
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2601
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2602
    ^ Array with:(LabelAndIcon 
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2603
                    icon:(Image fromFile:fnName)
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2604
                    string:(Text string:string emphasis:#bold))
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2605
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2606
321c1729db5b initial checkin
penk
parents:
diff changeset
  2607
getDropObjects:anArgument
9359
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2608
    "common code, used in subclasses"
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2609
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2610
    |sel|
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2611
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2612
    sel := self selectionHolder value.
9359
44d36e85cb39 support drag&drop from the find-file resultlist
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
  2613
    ^ sel collect:[:el| DropObject newFileInArchive:(el fileName asFilename) ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2614
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2615
321c1729db5b initial checkin
penk
parents:
diff changeset
  2616
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'event handling'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2617
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2618
processEvent:anEvent 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2619
    "filter keyboard events.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2620
     Return true, if I have eaten the event"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2621
12115
2c76fe73e8e0 changed: #processEvent:
Claus Gittinger <cg@exept.de>
parents: 12089
diff changeset
  2622
    <resource: #keyboard (#Delete )>
2c76fe73e8e0 changed: #processEvent:
Claus Gittinger <cg@exept.de>
parents: 12089
diff changeset
  2623
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2624
    |focusView key rawKey|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2625
321c1729db5b initial checkin
penk
parents:
diff changeset
  2626
    anEvent isKeyPressEvent ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2627
        focusView := anEvent targetView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2628
        key := anEvent key.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2629
        rawKey := anEvent rawKey.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2630
        (focusView isSameOrComponentOf:self window) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2631
            (key == #Delete) ifTrue:[
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2632
                self removeFilesFromArchive.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2633
                ^ true
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2634
            ]
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2635
        ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  2636
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2637
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
  2638
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2639
321c1729db5b initial checkin
penk
parents:
diff changeset
  2640
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'initialization & release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2641
321c1729db5b initial checkin
penk
parents:
diff changeset
  2642
postBuildFileTable:aWidget
321c1729db5b initial checkin
penk
parents:
diff changeset
  2643
321c1729db5b initial checkin
penk
parents:
diff changeset
  2644
    fileTable := aWidget scrolledView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2645
    fileTable wantsFocusWithPointerEnter.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2646
"/    FileBrowser icons keysAndValuesDo:[:aKey :anIcon|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2647
"/        fileTable registerImage:anIcon key:aKey.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2648
"/    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2649
    self columnDescriptors:(self class tableColumns).
321c1729db5b initial checkin
penk
parents:
diff changeset
  2650
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2651
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2652
postOpenWith:aBuilder 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2653
    |currentDir contents suffix fileName file archivItem|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2654
321c1729db5b initial checkin
penk
parents:
diff changeset
  2655
    self windowGroup addPreEventHook:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2656
    self masterApplication isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2657
        self masterApplication:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2658
        currentDir := Filename homeDirectory.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2659
        contents := currentDir directoryContents.
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2660
        fileName := contents 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2661
                    detect:[:file | 
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2662
                        suffix := file asFilename suffix asLowercase.
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2663
                        suffix = 'tgz'
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2664
                    ]
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2665
                    ifNone:[nil].
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2666
        fileName isNil ifTrue:[
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2667
            Dialog warn:'cant find a Zip file in ' , currentDir asString.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2668
            ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  2669
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2670
        file := currentDir construct:fileName.
3982
fc30449d705d *** empty log message ***
penk
parents: 3962
diff changeset
  2671
        archivItem := DirectoryContentsBrowser itemClass fileName:file.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2672
        (self item:archivItem) ifFalse:[
4803
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2673
            Dialog warn:'file type of ' , item fileName asString , ' not supported'.
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2674
            ^ self
9224c562e352 archiv -> archive
Claus Gittinger <cg@exept.de>
parents: 4774
diff changeset
  2675
        ]
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2676
    ].
4905
2fa2537a4a74 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4890
diff changeset
  2677
    self listAllFiles.
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  2678
    super postOpenWith:aBuilder
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2679
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2680
321c1729db5b initial checkin
penk
parents:
diff changeset
  2681
release
321c1729db5b initial checkin
penk
parents:
diff changeset
  2682
    self archiver release.
14065
a6da1191dfc5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13905
diff changeset
  2683
    super release.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2684
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2685
321c1729db5b initial checkin
penk
parents:
diff changeset
  2686
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2687
321c1729db5b initial checkin
penk
parents:
diff changeset
  2688
canDelete
321c1729db5b initial checkin
penk
parents:
diff changeset
  2689
321c1729db5b initial checkin
penk
parents:
diff changeset
  2690
    ^ (self hasOneSelectionInList and:[archiver class canRemoveFiles])
321c1729db5b initial checkin
penk
parents:
diff changeset
  2691
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2692
4001
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2693
canViewFile
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2694
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2695
    ^ self archiver class canViewFile and:[self hasOneSelectionInList]
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2696
!
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2697
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2698
hasListEntriesHolder
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2699
    "return/create the 'hasListEntriesHolder' value holder (automatically generated)"
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2700
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2701
    hasListEntriesHolder isNil ifTrue:[
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2702
        hasListEntriesHolder := false asValue.
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2703
    ].
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2704
    ^ hasListEntriesHolder
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2705
!
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2706
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2707
hasOneSelectionInList
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2708
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2709
    | sel |
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2710
    sel := self selectionHolder value.
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2711
    ^ (sel notNil and:[sel notEmpty and:[sel size = 1]])
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2712
!
ef0ac34526b0 archiver dont goes to extracted file
penk
parents: 3989
diff changeset
  2713
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2714
selRemoveFilesForDirs:aSel
321c1729db5b initial checkin
penk
parents:
diff changeset
  2715
321c1729db5b initial checkin
penk
parents:
diff changeset
  2716
    |stringCol newSel string|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2717
321c1729db5b initial checkin
penk
parents:
diff changeset
  2718
    stringCol := (aSel collect:[: item| item fileName]).
321c1729db5b initial checkin
penk
parents:
diff changeset
  2719
    newSel := aSel copy.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2720
    aSel do:[:item |
321c1729db5b initial checkin
penk
parents:
diff changeset
  2721
        item isDirectory ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2722
            string := item fileName.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2723
            stringCol doWithIndex:[:filename : index|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2724
                (filename ~= string and:[filename startsWith:string]) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2725
                    newSel remove:(aSel at:index) ifAbsent:[nil].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2726
                ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  2727
            ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  2728
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2729
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2730
    ^ newSel.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2731
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2732
321c1729db5b initial checkin
penk
parents:
diff changeset
  2733
!FileApplicationNoteBook::ArchiveViewApplication methodsFor:'sorting'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2734
321c1729db5b initial checkin
penk
parents:
diff changeset
  2735
generateSortBlock:instanceName
321c1729db5b initial checkin
penk
parents:
diff changeset
  2736
321c1729db5b initial checkin
penk
parents:
diff changeset
  2737
    | aSymbol cmpOp sortCaselessLocal|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2738
321c1729db5b initial checkin
penk
parents:
diff changeset
  2739
    aSymbol := instanceName asSymbol.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2740
    sortCaselessLocal := self sortCaseless value.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2741
    currentSortOrder isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2742
        currentSortOrder := aSymbol.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2743
        currentSortOrder := Dictionary new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2744
        currentSortOrder at:#column put:aSymbol.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2745
        currentSortOrder at:#reverse put:false.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2746
        currentSortOrder at:#sortCaseless put:sortCaselessLocal.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2747
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2748
        (currentSortOrder at:#column) = aSymbol ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2749
            "/ same column like before - change sort order
321c1729db5b initial checkin
penk
parents:
diff changeset
  2750
            | isReverse |
321c1729db5b initial checkin
penk
parents:
diff changeset
  2751
            isReverse := currentSortOrder at:#reverse.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2752
            currentSortOrder at:#reverse put:(isReverse not).
321c1729db5b initial checkin
penk
parents:
diff changeset
  2753
        ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2754
            "/ another column - remark column
321c1729db5b initial checkin
penk
parents:
diff changeset
  2755
            currentSortOrder at:#column put:aSymbol.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2756
        ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  2757
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2758
    (currentSortOrder at:#reverse) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2759
        cmpOp := #'>'
321c1729db5b initial checkin
penk
parents:
diff changeset
  2760
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2761
        cmpOp := #'<'
321c1729db5b initial checkin
penk
parents:
diff changeset
  2762
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2763
    ^ [:a :b | 
321c1729db5b initial checkin
penk
parents:
diff changeset
  2764
            |entry1 entry2|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2765
321c1729db5b initial checkin
penk
parents:
diff changeset
  2766
            entry1 := (a perform:aSymbol).
321c1729db5b initial checkin
penk
parents:
diff changeset
  2767
            entry2 := (b perform:aSymbol).
321c1729db5b initial checkin
penk
parents:
diff changeset
  2768
            aSymbol = #fileName ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2769
                sortCaselessLocal ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2770
                    entry1 := entry1 asString asLowercase.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2771
                    entry2 := entry2 asString asLowercase.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2772
                ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  2773
                    entry1 := entry1 asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2774
                    entry2 := entry2 asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2775
                ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2776
            ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2777
            entry1 perform:cmpOp with:entry2
321c1729db5b initial checkin
penk
parents:
diff changeset
  2778
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  2779
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2780
321c1729db5b initial checkin
penk
parents:
diff changeset
  2781
sortList:instanceName 
321c1729db5b initial checkin
penk
parents:
diff changeset
  2782
321c1729db5b initial checkin
penk
parents:
diff changeset
  2783
321c1729db5b initial checkin
penk
parents:
diff changeset
  2784
    |sortBlock fileList sortCol|
321c1729db5b initial checkin
penk
parents:
diff changeset
  2785
321c1729db5b initial checkin
penk
parents:
diff changeset
  2786
    sortBlock := self generateSortBlock:instanceName.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2787
    fileList := self archiveFileList value.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2788
    sortCol := SortedCollection sortBlock:sortBlock.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2789
    sortCol addAll:fileList.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2790
    fileList removeAll.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2791
    fileList addAll:sortCol.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2792
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  2793
321c1729db5b initial checkin
penk
parents:
diff changeset
  2794
!FileApplicationNoteBook::ArchiveViewApplication::ArchivItem methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2795
321c1729db5b initial checkin
penk
parents:
diff changeset
  2796
compressSize
321c1729db5b initial checkin
penk
parents:
diff changeset
  2797
    "return the value of the instance variable 'compressSize' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2798
321c1729db5b initial checkin
penk
parents:
diff changeset
  2799
    ^ compressSize
321c1729db5b initial checkin
penk
parents:
diff changeset
  2800
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2801
321c1729db5b initial checkin
penk
parents:
diff changeset
  2802
compressSize:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  2803
    "set the value of the instance variable 'compressSize' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2804
321c1729db5b initial checkin
penk
parents:
diff changeset
  2805
    compressSize := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2806
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2807
321c1729db5b initial checkin
penk
parents:
diff changeset
  2808
crc
321c1729db5b initial checkin
penk
parents:
diff changeset
  2809
    "return the value of the instance variable 'crc' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2810
321c1729db5b initial checkin
penk
parents:
diff changeset
  2811
    ^ crc
321c1729db5b initial checkin
penk
parents:
diff changeset
  2812
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2813
321c1729db5b initial checkin
penk
parents:
diff changeset
  2814
crc:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  2815
    "set the value of the instance variable 'crc' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2816
321c1729db5b initial checkin
penk
parents:
diff changeset
  2817
    crc := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2818
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2819
321c1729db5b initial checkin
penk
parents:
diff changeset
  2820
dateAndTime
321c1729db5b initial checkin
penk
parents:
diff changeset
  2821
    "return the value of the instance variable 'dateAndTime' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2822
321c1729db5b initial checkin
penk
parents:
diff changeset
  2823
    ^ dateAndTime
321c1729db5b initial checkin
penk
parents:
diff changeset
  2824
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2825
321c1729db5b initial checkin
penk
parents:
diff changeset
  2826
dateAndTime:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  2827
    "set the value of the instance variable 'dateAndTime' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2828
321c1729db5b initial checkin
penk
parents:
diff changeset
  2829
    dateAndTime := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2830
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2831
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2832
day:day
9402
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2833
    |ts|
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2834
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2835
    dateAndTime isNil ifTrue:[
5784
11ee27b3b78f Rename AbsoluteTime to Timestamp
Stefan Vogel <sv@exept.de>
parents: 5745
diff changeset
  2836
        ts := Timestamp now.
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2837
    ] ifFalse:[
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2838
        ts := dateAndTime
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2839
    ].
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2840
5784
11ee27b3b78f Rename AbsoluteTime to Timestamp
Stefan Vogel <sv@exept.de>
parents: 5745
diff changeset
  2841
    dateAndTime := Timestamp 
9402
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2842
                        year:ts year 
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2843
                        month:ts month 
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2844
                        day:day
9402
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2845
                        hour:ts hour
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2846
                        minute:ts minutes
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2847
                        second:ts minutes
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2848
!
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2849
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2850
dayString:dayString
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2851
    self day:(Integer readFrom:dayString)
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2852
!
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2853
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2854
fileName
321c1729db5b initial checkin
penk
parents:
diff changeset
  2855
    "return the value of the instance variable 'fileName' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2856
321c1729db5b initial checkin
penk
parents:
diff changeset
  2857
    ^ fileName
321c1729db5b initial checkin
penk
parents:
diff changeset
  2858
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2859
321c1729db5b initial checkin
penk
parents:
diff changeset
  2860
fileName:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  2861
    "set the value of the instance variable 'fileName' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2862
321c1729db5b initial checkin
penk
parents:
diff changeset
  2863
    fileName := something withoutSpaces.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2864
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2865
321c1729db5b initial checkin
penk
parents:
diff changeset
  2866
icon
321c1729db5b initial checkin
penk
parents:
diff changeset
  2867
    "return the value of the instance variable 'icon' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2868
321c1729db5b initial checkin
penk
parents:
diff changeset
  2869
    ^ icon
321c1729db5b initial checkin
penk
parents:
diff changeset
  2870
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2871
321c1729db5b initial checkin
penk
parents:
diff changeset
  2872
icon:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  2873
    "set the value of the instance variable 'icon' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2874
321c1729db5b initial checkin
penk
parents:
diff changeset
  2875
    icon := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2876
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2877
321c1729db5b initial checkin
penk
parents:
diff changeset
  2878
isDirectory
321c1729db5b initial checkin
penk
parents:
diff changeset
  2879
    "return the value of the instance variable 'directory' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2880
321c1729db5b initial checkin
penk
parents:
diff changeset
  2881
    ^ isDirectory
321c1729db5b initial checkin
penk
parents:
diff changeset
  2882
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2883
321c1729db5b initial checkin
penk
parents:
diff changeset
  2884
isDirectory:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  2885
    "set the value of the instance variable 'isDirectory' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2886
321c1729db5b initial checkin
penk
parents:
diff changeset
  2887
    isDirectory := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2888
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2889
321c1729db5b initial checkin
penk
parents:
diff changeset
  2890
method
321c1729db5b initial checkin
penk
parents:
diff changeset
  2891
    "return the value of the instance variable 'method' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2893
    ^ method
321c1729db5b initial checkin
penk
parents:
diff changeset
  2894
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2895
321c1729db5b initial checkin
penk
parents:
diff changeset
  2896
method:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  2897
    "set the value of the instance variable 'method' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2898
321c1729db5b initial checkin
penk
parents:
diff changeset
  2899
    method := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2900
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2901
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2902
month:month
9402
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2903
    |ts|
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2904
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2905
    dateAndTime isNil ifTrue:[
5784
11ee27b3b78f Rename AbsoluteTime to Timestamp
Stefan Vogel <sv@exept.de>
parents: 5745
diff changeset
  2906
        ts := Timestamp now.
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2907
    ] ifFalse:[
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2908
        ts := dateAndTime
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2909
    ].
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2910
5784
11ee27b3b78f Rename AbsoluteTime to Timestamp
Stefan Vogel <sv@exept.de>
parents: 5745
diff changeset
  2911
    dateAndTime := Timestamp 
9402
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2912
                        year:ts year 
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2913
                        month:month 
9402
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2914
                        day:ts day
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2915
                        hour:ts hour
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2916
                        minute:ts minutes
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2917
                        second:ts minutes
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2918
!
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2919
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2920
monthName:monthName
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2921
    self month:(Date indexOfMonth:monthName)
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2922
!
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2923
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  2924
ownerGroup
321c1729db5b initial checkin
penk
parents:
diff changeset
  2925
    "return the value of the instance variable 'owner' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2926
321c1729db5b initial checkin
penk
parents:
diff changeset
  2927
    ^ ownerGroup
321c1729db5b initial checkin
penk
parents:
diff changeset
  2928
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2929
321c1729db5b initial checkin
penk
parents:
diff changeset
  2930
ownerGroup:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  2931
    "set the value of the instance variable 'owner' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2932
321c1729db5b initial checkin
penk
parents:
diff changeset
  2933
    ownerGroup := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2934
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2935
321c1729db5b initial checkin
penk
parents:
diff changeset
  2936
permissions
321c1729db5b initial checkin
penk
parents:
diff changeset
  2937
    "return the value of the instance variable 'permissions' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2938
321c1729db5b initial checkin
penk
parents:
diff changeset
  2939
    ^ permissions
321c1729db5b initial checkin
penk
parents:
diff changeset
  2940
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2941
321c1729db5b initial checkin
penk
parents:
diff changeset
  2942
permissions:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  2943
    "set the value of the instance variable 'permissions' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2944
321c1729db5b initial checkin
penk
parents:
diff changeset
  2945
    permissions := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2946
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2947
321c1729db5b initial checkin
penk
parents:
diff changeset
  2948
ratio
321c1729db5b initial checkin
penk
parents:
diff changeset
  2949
    "return the value of the instance variable 'ratio' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2950
321c1729db5b initial checkin
penk
parents:
diff changeset
  2951
    ^ ratio
321c1729db5b initial checkin
penk
parents:
diff changeset
  2952
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2953
321c1729db5b initial checkin
penk
parents:
diff changeset
  2954
ratio:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  2955
    "set the value of the instance variable 'ratio' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2956
321c1729db5b initial checkin
penk
parents:
diff changeset
  2957
    ratio := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2958
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2959
321c1729db5b initial checkin
penk
parents:
diff changeset
  2960
size
321c1729db5b initial checkin
penk
parents:
diff changeset
  2961
    "return the value of the instance variable 'size' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2962
321c1729db5b initial checkin
penk
parents:
diff changeset
  2963
    ^ size
321c1729db5b initial checkin
penk
parents:
diff changeset
  2964
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2965
321c1729db5b initial checkin
penk
parents:
diff changeset
  2966
size:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  2967
    "set the value of the instance variable 'size' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2968
321c1729db5b initial checkin
penk
parents:
diff changeset
  2969
    size := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  2970
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2971
321c1729db5b initial checkin
penk
parents:
diff changeset
  2972
sizeAsNumber
321c1729db5b initial checkin
penk
parents:
diff changeset
  2973
    "return the value of the instance variable 'size' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  2974
321c1729db5b initial checkin
penk
parents:
diff changeset
  2975
    ^ size asInteger
321c1729db5b initial checkin
penk
parents:
diff changeset
  2976
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  2977
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2978
time:time
9402
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2979
    |ts|
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2980
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2981
    dateAndTime isNil ifTrue:[
5784
11ee27b3b78f Rename AbsoluteTime to Timestamp
Stefan Vogel <sv@exept.de>
parents: 5745
diff changeset
  2982
        ts := Timestamp now.
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2983
    ] ifFalse:[
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2984
        ts := dateAndTime
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2985
    ].
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2986
5784
11ee27b3b78f Rename AbsoluteTime to Timestamp
Stefan Vogel <sv@exept.de>
parents: 5745
diff changeset
  2987
    dateAndTime := Timestamp 
9402
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2988
                        year:ts day 
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2989
                        month:ts day 
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2990
                        day:ts day
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2991
                        hour:time hours
9402
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2992
                        minute:time minutes
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  2993
                        second:time seconds
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2994
!
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2995
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2996
timeString:timeString
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2997
    self time:(Time readFrom:timeString)
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2998
!
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  2999
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3000
type
321c1729db5b initial checkin
penk
parents:
diff changeset
  3001
    "return the value of the instance variable 'type' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  3002
321c1729db5b initial checkin
penk
parents:
diff changeset
  3003
    ^ type
321c1729db5b initial checkin
penk
parents:
diff changeset
  3004
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3005
321c1729db5b initial checkin
penk
parents:
diff changeset
  3006
type:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  3007
    "set the value of the instance variable 'type' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  3008
321c1729db5b initial checkin
penk
parents:
diff changeset
  3009
    type := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3010
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3011
321c1729db5b initial checkin
penk
parents:
diff changeset
  3012
version
321c1729db5b initial checkin
penk
parents:
diff changeset
  3013
    "return the value of the instance variable 'version' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  3014
321c1729db5b initial checkin
penk
parents:
diff changeset
  3015
    ^ version
321c1729db5b initial checkin
penk
parents:
diff changeset
  3016
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3017
321c1729db5b initial checkin
penk
parents:
diff changeset
  3018
version:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  3019
    "set the value of the instance variable 'version' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  3020
321c1729db5b initial checkin
penk
parents:
diff changeset
  3021
    version := something.
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3022
!
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3023
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3024
year:year
9402
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  3025
    |ts|
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3026
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3027
    dateAndTime isNil ifTrue:[
5784
11ee27b3b78f Rename AbsoluteTime to Timestamp
Stefan Vogel <sv@exept.de>
parents: 5745
diff changeset
  3028
        ts := Timestamp now.
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3029
    ] ifFalse:[
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3030
        ts := dateAndTime
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3031
    ].
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3032
5784
11ee27b3b78f Rename AbsoluteTime to Timestamp
Stefan Vogel <sv@exept.de>
parents: 5745
diff changeset
  3033
    dateAndTime := Timestamp 
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3034
                        year:year 
9402
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  3035
                        month:ts month 
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  3036
                        day:ts day
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  3037
                        hour:ts hour
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  3038
                        minute:ts minutes
74b2643f677b Do not use obsolete methods
Stefan Vogel <sv@exept.de>
parents: 9399
diff changeset
  3039
                        second:ts minutes
5414
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3040
!
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3041
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3042
yearString:yearString
41ac318add1f more initializers
Claus Gittinger <cg@exept.de>
parents: 5413
diff changeset
  3043
    self year:(Integer readFrom:yearString)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3044
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3045
321c1729db5b initial checkin
penk
parents:
diff changeset
  3046
!FileApplicationNoteBook::ArchiveViewApplication::ArchivItem methodsFor:'printing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3047
8002
031dca544927 Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents: 7970
diff changeset
  3048
printOn:aStream
031dca544927 Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents: 7970
diff changeset
  3049
    aStream nextPutAll:self fileName asString
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3050
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3051
321c1729db5b initial checkin
penk
parents:
diff changeset
  3052
!FileApplicationNoteBook::ArchiveViewApplication::ArchivItem methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3053
321c1729db5b initial checkin
penk
parents:
diff changeset
  3054
hasDirectoryPart
321c1729db5b initial checkin
penk
parents:
diff changeset
  3055
321c1729db5b initial checkin
penk
parents:
diff changeset
  3056
    ^ self fileName asFilename components size ~= 1
321c1729db5b initial checkin
penk
parents:
diff changeset
  3057
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3058
321c1729db5b initial checkin
penk
parents:
diff changeset
  3059
!FileApplicationNoteBook::CommandResult class methodsFor:'defaults'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3060
321c1729db5b initial checkin
penk
parents:
diff changeset
  3061
tabStringFor:aApplicationType
7687
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3062
    "the formatString shown in a tab (language translated)"
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3063
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3064
    ^ 'Command Output'
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3065
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3066
    "Modified: / 01-03-2007 / 21:43:31 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3067
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3068
321c1729db5b initial checkin
penk
parents:
diff changeset
  3069
wantNewApplicationAnyway
321c1729db5b initial checkin
penk
parents:
diff changeset
  3070
321c1729db5b initial checkin
penk
parents:
diff changeset
  3071
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
  3072
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3073
321c1729db5b initial checkin
penk
parents:
diff changeset
  3074
!FileApplicationNoteBook::CommandResult class methodsFor:'interface specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3075
321c1729db5b initial checkin
penk
parents:
diff changeset
  3076
windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3077
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  3078
     by the UIPainter of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  3079
321c1729db5b initial checkin
penk
parents:
diff changeset
  3080
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  3081
     the UIPainter may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  3082
321c1729db5b initial checkin
penk
parents:
diff changeset
  3083
    "
4169
ff1be729f504 progressIndicator added
penk
parents: 4161
diff changeset
  3084
     UIPainter new openOnClass:FileApplicationNoteBook::CommandResult andSelector:#windowSpec
ff1be729f504 progressIndicator added
penk
parents: 4161
diff changeset
  3085
     FileApplicationNoteBook::CommandResult new openInterface:#windowSpec
ff1be729f504 progressIndicator added
penk
parents: 4161
diff changeset
  3086
     FileApplicationNoteBook::CommandResult open
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3087
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  3088
321c1729db5b initial checkin
penk
parents:
diff changeset
  3089
    <resource: #canvas>
321c1729db5b initial checkin
penk
parents:
diff changeset
  3090
321c1729db5b initial checkin
penk
parents:
diff changeset
  3091
    ^ 
321c1729db5b initial checkin
penk
parents:
diff changeset
  3092
     #(#FullSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3093
        #name: #windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3094
        #window: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  3095
       #(#WindowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3096
          #label: 'NoteBookApplication::CommandResult'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3097
          #name: 'NoteBookApplication::CommandResult'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3098
          #min: #(#Point 10 10)
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  3099
          #bounds: #(#Rectangle 220 193 723 546)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3100
          #menu: #mainMenu
321c1729db5b initial checkin
penk
parents:
diff changeset
  3101
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3102
        #component: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  3103
       #(#SpecCollection
321c1729db5b initial checkin
penk
parents:
diff changeset
  3104
          #collection: #(
321c1729db5b initial checkin
penk
parents:
diff changeset
  3105
           #(#MenuPanelSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3106
              #name: 'ToolBar1'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3107
              #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  3108
              #level: 0
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3109
              #menu: #menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  3110
              #textDefault: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  3111
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3112
           #(#ArbitraryComponentSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3113
              #name: 'ArbitraryComponent1'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3114
              #layout: #(#LayoutFrame 0 0.0 32 0 0 1.0 0 1)
321c1729db5b initial checkin
penk
parents:
diff changeset
  3115
              #hasHorizontalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  3116
              #hasVerticalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  3117
              #hasBorder: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  3118
              #component: #TextCollector
321c1729db5b initial checkin
penk
parents:
diff changeset
  3119
              #postBuildCallback: #postBuildTextCollector:
321c1729db5b initial checkin
penk
parents:
diff changeset
  3120
            )
4169
ff1be729f504 progressIndicator added
penk
parents: 4161
diff changeset
  3121
           #(#ProgressIndicatorSpec
ff1be729f504 progressIndicator added
penk
parents: 4161
diff changeset
  3122
              #name: 'ProgressIndicator1'
ff1be729f504 progressIndicator added
penk
parents: 4161
diff changeset
  3123
              #layout: #(#LayoutFrame 125 0 11 0 231 0 21 0)
4180
e3e587a5fe65 change the window label
penk
parents: 4177
diff changeset
  3124
              #visibilityChannel: #enableStopButton
4169
ff1be729f504 progressIndicator added
penk
parents: 4161
diff changeset
  3125
              #backgroundColor: #(#Color 0.0 66.9993 66.9993)
ff1be729f504 progressIndicator added
penk
parents: 4161
diff changeset
  3126
              #showPercentage: false
ff1be729f504 progressIndicator added
penk
parents: 4161
diff changeset
  3127
              #isActivityIndicator: true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3128
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3129
           )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3130
         
321c1729db5b initial checkin
penk
parents:
diff changeset
  3131
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3132
      )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3133
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3134
321c1729db5b initial checkin
penk
parents:
diff changeset
  3135
!FileApplicationNoteBook::CommandResult class methodsFor:'menu specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3136
321c1729db5b initial checkin
penk
parents:
diff changeset
  3137
menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  3138
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  3139
     by the MenuEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  3140
321c1729db5b initial checkin
penk
parents:
diff changeset
  3141
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  3142
     the MenuEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  3143
321c1729db5b initial checkin
penk
parents:
diff changeset
  3144
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  3145
     MenuEditor new openOnClass:FileApplicationNoteBook::CommandResult andSelector:#menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  3146
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::CommandResult menu)) startUp
321c1729db5b initial checkin
penk
parents:
diff changeset
  3147
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  3148
321c1729db5b initial checkin
penk
parents:
diff changeset
  3149
    <resource: #menu>
321c1729db5b initial checkin
penk
parents:
diff changeset
  3150
321c1729db5b initial checkin
penk
parents:
diff changeset
  3151
    ^ 
321c1729db5b initial checkin
penk
parents:
diff changeset
  3152
     #(#Menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  3153
        #(
321c1729db5b initial checkin
penk
parents:
diff changeset
  3154
         #(#MenuItem
321c1729db5b initial checkin
penk
parents:
diff changeset
  3155
            #label: 'Stop'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3156
            #translateLabel: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  3157
            #isButton: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  3158
            #nameKey: #Stop
321c1729db5b initial checkin
penk
parents:
diff changeset
  3159
            #value: #doStopProcess
321c1729db5b initial checkin
penk
parents:
diff changeset
  3160
            #enabled: #enableStopButton
321c1729db5b initial checkin
penk
parents:
diff changeset
  3161
            #labelImage: #(#ResourceRetriever #ToolbarIconLibrary #stop22x22Icon 'Stop')
321c1729db5b initial checkin
penk
parents:
diff changeset
  3162
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3163
         #(#MenuItem
6100
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  3164
            #activeHelpKey: #closeTabButton
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3165
            #label: 'Close'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3166
            #translateLabel: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  3167
            #isButton: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  3168
            #nameKey: #Close
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  3169
            #isVisible: #closeButtonShown
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3170
            #startGroup: #right
321c1729db5b initial checkin
penk
parents:
diff changeset
  3171
            #value: #doClose
6093
cab3a82eaa34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6091
diff changeset
  3172
            #labelImage: #(#ResourceRetriever #ToolbarIconLibrary #removeTabIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3173
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3174
         )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3175
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  3176
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  3177
      )
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  3178
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  3179
    "Modified: / 12-01-2012 / 00:33:56 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3180
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3181
321c1729db5b initial checkin
penk
parents:
diff changeset
  3182
!FileApplicationNoteBook::CommandResult methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3183
321c1729db5b initial checkin
penk
parents:
diff changeset
  3184
resultStream
321c1729db5b initial checkin
penk
parents:
diff changeset
  3185
    "return the value of the instance variable 'resultStream' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  3186
321c1729db5b initial checkin
penk
parents:
diff changeset
  3187
    ^ resultStream
321c1729db5b initial checkin
penk
parents:
diff changeset
  3188
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3189
321c1729db5b initial checkin
penk
parents:
diff changeset
  3190
resultStream:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  3191
    "set the value of the instance variable 'resultStream' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  3192
321c1729db5b initial checkin
penk
parents:
diff changeset
  3193
    resultStream := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3194
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3195
321c1729db5b initial checkin
penk
parents:
diff changeset
  3196
!FileApplicationNoteBook::CommandResult methodsFor:'actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3197
321c1729db5b initial checkin
penk
parents:
diff changeset
  3198
changeTabTo:aString 
321c1729db5b initial checkin
penk
parents:
diff changeset
  3199
321c1729db5b initial checkin
penk
parents:
diff changeset
  3200
    | masterApplication |
321c1729db5b initial checkin
penk
parents:
diff changeset
  3201
321c1729db5b initial checkin
penk
parents:
diff changeset
  3202
    masterApplication := self masterApplication.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3203
    masterApplication isNil ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  3204
        masterApplication tabStringChangeTo:aString for:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3205
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  3206
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3207
321c1729db5b initial checkin
penk
parents:
diff changeset
  3208
doStopProcess
321c1729db5b initial checkin
penk
parents:
diff changeset
  3209
321c1729db5b initial checkin
penk
parents:
diff changeset
  3210
    | myProcess |
321c1729db5b initial checkin
penk
parents:
diff changeset
  3211
321c1729db5b initial checkin
penk
parents:
diff changeset
  3212
    myProcess := self process value.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3213
    myProcess notNil ifTrue:[
4523
ae3d65269e21 added notify: method;
Claus Gittinger <cg@exept.de>
parents: 4520
diff changeset
  3214
        self notify:('kill ', myProcess name).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3215
        myProcess terminate.    
321c1729db5b initial checkin
penk
parents:
diff changeset
  3216
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  3217
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3218
321c1729db5b initial checkin
penk
parents:
diff changeset
  3219
!FileApplicationNoteBook::CommandResult methodsFor:'aspects'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3220
321c1729db5b initial checkin
penk
parents:
diff changeset
  3221
enableStopButton
321c1729db5b initial checkin
penk
parents:
diff changeset
  3222
321c1729db5b initial checkin
penk
parents:
diff changeset
  3223
    enableStopButton isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  3224
        enableStopButton := false asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3225
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  3226
    ^ enableStopButton
321c1729db5b initial checkin
penk
parents:
diff changeset
  3227
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3228
321c1729db5b initial checkin
penk
parents:
diff changeset
  3229
process
321c1729db5b initial checkin
penk
parents:
diff changeset
  3230
    "return/create the 'process' value holder (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  3231
321c1729db5b initial checkin
penk
parents:
diff changeset
  3232
    process isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  3233
        process := ValueHolder new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3234
        process addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3235
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  3236
    ^ process
321c1729db5b initial checkin
penk
parents:
diff changeset
  3237
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3238
321c1729db5b initial checkin
penk
parents:
diff changeset
  3239
!FileApplicationNoteBook::CommandResult methodsFor:'change & update'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3240
321c1729db5b initial checkin
penk
parents:
diff changeset
  3241
update:something with:aParameter from:changedObject
321c1729db5b initial checkin
penk
parents:
diff changeset
  3242
    changedObject == self process ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  3243
        self enableStopButton value:changedObject value notNil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3244
        ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  3245
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  3246
    super update:something with:aParameter from:changedObject
321c1729db5b initial checkin
penk
parents:
diff changeset
  3247
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3248
321c1729db5b initial checkin
penk
parents:
diff changeset
  3249
!FileApplicationNoteBook::CommandResult methodsFor:'initialization & release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3250
321c1729db5b initial checkin
penk
parents:
diff changeset
  3251
postBuildTextCollector:aBuilder
321c1729db5b initial checkin
penk
parents:
diff changeset
  3252
321c1729db5b initial checkin
penk
parents:
diff changeset
  3253
    self resultStream:aBuilder scrolledView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3254
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3255
321c1729db5b initial checkin
penk
parents:
diff changeset
  3256
postOpenWith:aBuilder
321c1729db5b initial checkin
penk
parents:
diff changeset
  3257
    "This is a hook method generated by the Browser.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3258
     It will be invoked right after the applications window has been opened.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3259
     Add any app-specific actions here (starting background processes etc.).
321c1729db5b initial checkin
penk
parents:
diff changeset
  3260
     See also #postBuildWith:, which is invoked before opening."
321c1729db5b initial checkin
penk
parents:
diff changeset
  3261
321c1729db5b initial checkin
penk
parents:
diff changeset
  3262
    "/ add any code here ...
321c1729db5b initial checkin
penk
parents:
diff changeset
  3263
321c1729db5b initial checkin
penk
parents:
diff changeset
  3264
    self masterApplication isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  3265
        self masterApplication:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3266
    ].
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  3267
    super postOpenWith:aBuilder
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3268
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3269
321c1729db5b initial checkin
penk
parents:
diff changeset
  3270
release
321c1729db5b initial checkin
penk
parents:
diff changeset
  3271
321c1729db5b initial checkin
penk
parents:
diff changeset
  3272
    self doStopProcess.
14065
a6da1191dfc5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13905
diff changeset
  3273
    super release
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3274
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3275
321c1729db5b initial checkin
penk
parents:
diff changeset
  3276
!FileApplicationNoteBook::CommandResult methodsFor:'printing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3277
8002
031dca544927 Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents: 7970
diff changeset
  3278
printOn:aStream
031dca544927 Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents: 7970
diff changeset
  3279
    aStream nextPutAll:'CommandResult Application'.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3280
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3281
7909
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3282
!FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'defaults'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3283
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3284
tabStringFor:anApplicationType
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3285
    "the formatString shown in a tab (language translated)"
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3286
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3287
    ^ 'Note in %1'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3288
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3289
    "Modified: / 01-03-2007 / 21:43:23 / cg"
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3290
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3291
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3292
!FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'documentation'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3293
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3294
documentation
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3295
"
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3296
    a previewer-plugin for digital-notepad recordings as
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3297
    provided by the waltop (tevion) MD85276 digital ink notepad.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3298
"
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3299
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3300
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3301
!FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'help specs'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3302
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3303
flyByHelpSpec
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3304
    "This resource specification was automatically generated
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3305
     by the UIHelpTool of ST/X."
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3306
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3307
    "Do not manually edit this!! If it is corrupted,
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3308
     the UIHelpTool may not be able to read the specification."
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3309
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3310
    "
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3311
     UIHelpTool openOnClass:FileApplicationNoteBook::HtmlViewApplication    
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3312
    "
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3313
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3314
    <resource: #help>
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3315
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3316
    ^ super flyByHelpSpec addPairsFrom:#(
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3317
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3318
#'fitImageSize'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3319
'Shrink to Fit View'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3320
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3321
)
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3322
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3323
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3324
!FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'interface specs'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3325
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3326
windowSpec
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3327
    "This resource specification was automatically generated
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3328
     by the UIPainter of ST/X."
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3329
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3330
    "Do not manually edit this!! If it is corrupted,
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3331
     the UIPainter may not be able to read the specification."
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3332
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3333
    "
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3334
     UIPainter new openOnClass:FileApplicationNoteBook::DigitalNotepadFileViewApplication andSelector:#windowSpec
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3335
     FileApplicationNoteBook::DigitalNotepadFileViewApplication new openInterface:#windowSpec
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3336
     FileApplicationNoteBook::DigitalNotepadFileViewApplication open
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3337
    "
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3338
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3339
    <resource: #canvas>
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3340
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3341
    ^ 
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3342
     #(FullSpec
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3343
        name: windowSpec
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3344
        window: 
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3345
       (WindowSpec
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3346
          label: 'NotepadViewer'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3347
          name: 'NotepadViewer'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3348
          min: (Point 10 10)
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3349
          bounds: (Rectangle 0 0 676 492)
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3350
          menu: mainMenu
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3351
        )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3352
        component: 
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3353
       (SpecCollection
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3354
          collection: (
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3355
           (MenuPanelSpec
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3356
              name: 'Menu'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3357
              layout: (LayoutFrame 0 0.0 0 0 0 1.0 32 0)
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3358
              level: 0
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3359
              visibilityChannel: isEmbeddedApplication
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3360
              menu: menu
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3361
              textDefault: true
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3362
            )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3363
           (ArbitraryComponentSpec
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3364
              name: 'TOPFileView'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3365
              layout: (LayoutFrame 0 0.0 32 0.0 0 1.0 0 1.0)
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3366
              hasHorizontalScrollBar: true
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3367
              hasVerticalScrollBar: true
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3368
              miniScrollerHorizontal: false
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3369
              miniScrollerVertical: false
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3370
              hasBorder: false
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3371
              component: TOPFileViewer
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3372
              postBuildCallback: postBuildImageView:
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3373
            )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3374
           )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3375
         
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3376
        )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3377
      )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3378
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3379
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3380
!FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'menu specs'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3381
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3382
menu
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3383
    "This resource specification was automatically generated
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3384
     by the MenuEditor of ST/X."
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3385
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3386
    "Do not manually edit this!! If it is corrupted,
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3387
     the MenuEditor may not be able to read the specification."
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3388
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3389
    "
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3390
     MenuEditor new openOnClass:FileApplicationNoteBook::ImageViewApplication andSelector:#menu
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3391
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::ImageViewApplication menu)) startUp
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3392
    "
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3393
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3394
    <resource: #menu>
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3395
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3396
    ^ 
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3397
     #(#Menu
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3398
        #(
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3399
"/         #(#MenuItem
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3400
"/            #label: 'Edit'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3401
"/            #itemValue: #editImage
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3402
"/            #nameKey: #EditImage
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3403
"/            #translateLabel: true
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3404
"/            #isButton: true
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3405
"/            #labelImage: #(#ResourceRetriever #ToolbarIconLibrary #startImageEditorIcon)
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3406
"/          )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3407
"/         #(#MenuItem
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3408
"/            #label: '-'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3409
"/          )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3410
         #(#MenuItem
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3411
            #activeHelpKey: #fitImageSize
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3412
            #label: 'FitSize'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3413
            #translateLabel: true
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3414
            #isButton: true
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3415
            #triggerOnDown: true
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3416
            #indication: #fitSize
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3417
            #labelImage: #(#ResourceRetriever #ToolbarIconLibrary #fitImageSizeToViewIcon)
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3418
          )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3419
         #(#MenuItem
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3420
            #label: '-'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3421
          )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3422
         #(#MenuItem
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3423
            #activeHelpKey: #closeTabButton
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3424
            #label: 'Close'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3425
            #itemValue: #doClose
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3426
            #translateLabel: true
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3427
            #isButton: true
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3428
            #startGroup: #right
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3429
            #hideMenuOnActivated: false
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3430
            #labelImage: #(#ResourceRetriever #ToolbarIconLibrary #removeTabIcon)
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3431
          )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3432
         )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3433
        nil
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3434
        nil
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3435
      )
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3436
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3437
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3438
!FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'queries'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3439
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3440
canOpenItem:anItem
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3441
    ^ anItem mimeType = 'application/x-waltop-digital-notepad'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3442
!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3443
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3444
wantNewApplicationAnyway
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3445
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3446
    ^ false
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3447
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3448
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3449
!FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'accessing'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3450
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3451
imageView
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3452
    ^ imageView
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3453
!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3454
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3455
imageView:something
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3456
    imageView := something.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3457
!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3458
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3459
updateImageInfo
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3460
"/    |fn msg|
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3461
"/
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3462
"/    image notNil ifTrue:[
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3463
"/        fn := image fileName.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3464
"/        fn isNil ifTrue:[
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3465
"/            fn := 'unnamed'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3466
"/        ] ifFalse:[
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3467
"/            fn :=  fn asFilename baseName.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3468
"/        ].
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3469
"/        msg := '%1  %2x%3 depth:%4'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3470
"/                bindWith:fn allBold
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3471
"/                with:image width
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3472
"/                with:image height
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3473
"/                with:image depth.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3474
"/    ].
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3475
"/    self notify:msg.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3476
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3477
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3478
!FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'actions'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3479
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3480
changeItem:anItem
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3481
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3482
    self item:anItem.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3483
    self setupImageView.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3484
    ^ true
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3485
!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3486
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3487
setupImageView
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3488
    imageView readFile:self fileName
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3489
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3490
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3491
!FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'aspects'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3492
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3493
fitSize
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3494
    "return/create the 'fitSize' value holder (automatically generated)"
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3495
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3496
    fitSize isNil ifTrue:[
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3497
        fitSize := ValueHolder new.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3498
        fitSize addDependent:self.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3499
    ].
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3500
    ^ fitSize
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3501
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3502
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3503
!FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'change & update'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3504
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3505
update:something with:aParameter from:changedObject
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3506
    changedObject == self fitSize ifTrue:[
7910
cd3856f32730 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7909
diff changeset
  3507
        changedObject value ifTrue:[
cd3856f32730 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7909
diff changeset
  3508
            imageView adjust:#fit.
cd3856f32730 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7909
diff changeset
  3509
        ] ifFalse:[
cd3856f32730 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7909
diff changeset
  3510
            imageView adjust:nil.
cd3856f32730 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7909
diff changeset
  3511
        ].
7909
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3512
        ^ self
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3513
    ].
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3514
    super update:something with:aParameter from:changedObject
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3515
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3516
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3517
!FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'initialization & release'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3518
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3519
postBuildImageView:aWidget
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3520
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3521
    self imageView: aWidget scrolledView.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3522
"/    self imageView wantsFocusWithPointerEnter.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3523
!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3524
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3525
postOpenWith:aBuilder 
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3526
    "only invoked if the application is not started from a master"
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3527
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3528
    |currentDir contents fileName|
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3529
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3530
    self masterApplication isNil ifTrue:[
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3531
        self masterApplication:nil.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3532
        currentDir := Filename currentDirectory.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3533
        contents := currentDir directoryContents.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3534
        fileName := contents 
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3535
                    detect:[:file | 
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3536
                        file asFilename mimeTypeOfContents = 'application/x-waltop-digital-notepad'
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3537
                    ]
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3538
                    ifNone:[nil].
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3539
        fileName isNil ifTrue:[
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3540
            Dialog warn:'Cant find a TOP-file in ' , currentDir asString.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3541
            ^ self
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3542
        ].
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3543
        self item:(DirectoryContentsBrowser itemClass fileName:(currentDir construct:fileName))
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3544
    ].
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3545
    self setupImageView.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3546
    super postOpenWith:aBuilder
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3547
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3548
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3549
!FileApplicationNoteBook::HtmlViewApplication class methodsFor:'defaults'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3550
321c1729db5b initial checkin
penk
parents:
diff changeset
  3551
tabStringFor:aApplicationType
7687
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3552
    "the formatString shown in a tab (language translated)"
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3553
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3554
    ^ 'HTML View for %1'
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3555
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3556
    "Modified: / 01-03-2007 / 21:43:18 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3557
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3558
5406
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3559
!FileApplicationNoteBook::HtmlViewApplication class methodsFor:'help specs'!
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3560
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3561
helpSpec
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3562
    "This resource specification was automatically generated
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3563
     by the UIHelpTool of ST/X."
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3564
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3565
    "Do not manually edit this!! If it is corrupted,
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3566
     the UIHelpTool may not be able to read the specification."
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3567
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3568
    "
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3569
     UIHelpTool openOnClass:FileApplicationNoteBook::HtmlViewApplication    
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3570
    "
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3571
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3572
    <resource: #help>
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3573
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3574
    ^ super helpSpec addPairsFrom:#(
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3575
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3576
#'Edit Source'
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3577
''
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3578
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3579
)
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3580
! !
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3581
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3582
!FileApplicationNoteBook::HtmlViewApplication class methodsFor:'interface specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3583
321c1729db5b initial checkin
penk
parents:
diff changeset
  3584
windowSpec
10566
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3585
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3586
    | webKitView |
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3587
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3588
    ^((webKitView := (Smalltalk at:#WebKitView)) notNil 
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3589
        and:[webKitView isAvailable])
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3590
        ifTrue:[self windowSpec_WebBrowserPage]
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3591
        ifFalse:[self windowSpec_HTMLView]
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3592
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3593
    "Modified: / 11-08-2011 / 00:33:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3594
!
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3595
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3596
windowSpec_HTMLView
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3597
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  3598
     by the UIPainter of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  3599
321c1729db5b initial checkin
penk
parents:
diff changeset
  3600
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  3601
     the UIPainter may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  3602
321c1729db5b initial checkin
penk
parents:
diff changeset
  3603
    "
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  3604
     UIPainter new openOnClass:FileApplicationNoteBook::HtmlViewApplication andSelector:#windowSpec
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  3605
     FileApplicationNoteBook::HtmlViewApplication new openInterface:#windowSpec
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  3606
     FileApplicationNoteBook::HtmlViewApplication open
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3607
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  3608
321c1729db5b initial checkin
penk
parents:
diff changeset
  3609
    <resource: #canvas>
321c1729db5b initial checkin
penk
parents:
diff changeset
  3610
321c1729db5b initial checkin
penk
parents:
diff changeset
  3611
    ^ 
321c1729db5b initial checkin
penk
parents:
diff changeset
  3612
     #(#FullSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3613
        #name: #windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3614
        #window: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  3615
       #(#WindowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3616
          #label: 'NoteBookApplication::HtmlView'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3617
          #name: 'NoteBookApplication::HtmlView'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3618
          #min: #(#Point 10 10)
321c1729db5b initial checkin
penk
parents:
diff changeset
  3619
          #bounds: #(#Rectangle 16 42 692 534)
321c1729db5b initial checkin
penk
parents:
diff changeset
  3620
          #menu: #mainMenu
321c1729db5b initial checkin
penk
parents:
diff changeset
  3621
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3622
        #component: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  3623
       #(#SpecCollection
321c1729db5b initial checkin
penk
parents:
diff changeset
  3624
          #collection: #(
321c1729db5b initial checkin
penk
parents:
diff changeset
  3625
           #(#MenuPanelSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3626
              #name: 'MenuHtml'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3627
              #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  3628
              #level: 0
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3629
              #visibilityChannel: #isEmbeddedApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
  3630
              #menu: #menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  3631
              #textDefault: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  3632
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3633
           #(#ArbitraryComponentSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3634
              #name: 'HTMLView'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3635
              #layout: #(#LayoutFrame 0 0.0 32 0.0 0 1.0 0 1)
321c1729db5b initial checkin
penk
parents:
diff changeset
  3636
              #hasHorizontalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  3637
              #hasVerticalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  3638
              #miniScrollerHorizontal: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  3639
              #miniScrollerVertical: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  3640
              #hasBorder: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  3641
              #component: #HTMLDocumentView
321c1729db5b initial checkin
penk
parents:
diff changeset
  3642
              #postBuildCallback: #postBuildHtmlView:
321c1729db5b initial checkin
penk
parents:
diff changeset
  3643
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3644
           #(#LabelSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  3645
              #label: 'FileLabel'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3646
              #name: 'FileLabel'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3647
              #layout: #(#LayoutFrame 212 0 2 0 -73 1 30 0)
321c1729db5b initial checkin
penk
parents:
diff changeset
  3648
              #level: -1
321c1729db5b initial checkin
penk
parents:
diff changeset
  3649
              #translateLabel: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  3650
              #labelChannel: #labelHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  3651
              #adjust: #left
321c1729db5b initial checkin
penk
parents:
diff changeset
  3652
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3653
           )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3654
         
321c1729db5b initial checkin
penk
parents:
diff changeset
  3655
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3656
      )
10566
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3657
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3658
    "Created: / 11-08-2011 / 00:19:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3659
!
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3660
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3661
windowSpec_WebBrowserPage
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3662
    "This resource specification was automatically generated
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3663
     by the UIPainter of ST/X."
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3664
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3665
    "Do not manually edit this!! If it is corrupted,
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3666
     the UIPainter may not be able to read the specification."
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3667
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3668
    "
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3669
     UIPainter new openOnClass:FileApplicationNoteBook::HtmlViewApplication andSelector:#windowSpec_WebBrowserPage
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3670
     FileApplicationNoteBook::HtmlViewApplication new openInterface:#windowSpec_WebBrowserPage
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3671
    "
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3672
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3673
    <resource: #canvas>
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3674
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3675
    ^ 
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3676
     #(FullSpec
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3677
        name: #'windowSpec_WebBrowserPage'
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3678
        window: 
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3679
       (WindowSpec
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3680
          label: 'NoteBookApplication::HtmlView'
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3681
          name: 'NoteBookApplication::HtmlView'
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3682
          min: (Point 10 10)
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3683
          bounds: (Rectangle 0 0 676 492)
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3684
          menu: menuJustClose
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3685
        )
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3686
        component: 
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3687
       (SpecCollection
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3688
          collection: (
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3689
           (MenuPanelSpec
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3690
              name: 'MenuClose'
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3691
              layout: (LayoutFrame -25 1 0 0 0 1.0 30 0)
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3692
              level: 0
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3693
              visibilityChannel: isEmbeddedApplication
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3694
              menu: menuJustClose
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3695
              textDefault: true
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3696
            )
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3697
           (SubCanvasSpec
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3698
              name: 'ToolBar'
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3699
              layout: (LayoutFrame 0 0 0 0 -25 1 30 0)
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3700
              hasHorizontalScrollBar: false
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3701
              hasVerticalScrollBar: false
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3702
              minorKey: toolBarSpec
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3703
              clientKey: webBrowserPage
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3704
              createNewBuilder: false
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3705
            )
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3706
           (SubCanvasSpec
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3707
              name: 'Content'
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3708
              layout: (LayoutFrame 0 0 30 0 0 1 0 1)
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3709
              hasHorizontalScrollBar: false
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3710
              hasVerticalScrollBar: false
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3711
              minorKey: contentSpec
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3712
              clientKey: webBrowserPage
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3713
              createNewBuilder: false
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3714
            )
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3715
           )
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3716
         
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3717
        )
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3718
      )
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3719
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3720
    "Modified: / 11-08-2011 / 00:34:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3721
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3722
321c1729db5b initial checkin
penk
parents:
diff changeset
  3723
!FileApplicationNoteBook::HtmlViewApplication class methodsFor:'menu specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3724
321c1729db5b initial checkin
penk
parents:
diff changeset
  3725
menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  3726
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  3727
     by the MenuEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  3728
321c1729db5b initial checkin
penk
parents:
diff changeset
  3729
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  3730
     the MenuEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  3731
321c1729db5b initial checkin
penk
parents:
diff changeset
  3732
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  3733
     MenuEditor new openOnClass:FileApplicationNoteBook::HtmlViewApplication andSelector:#menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  3734
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::HtmlViewApplication menu)) startUp
321c1729db5b initial checkin
penk
parents:
diff changeset
  3735
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  3736
321c1729db5b initial checkin
penk
parents:
diff changeset
  3737
    <resource: #menu>
321c1729db5b initial checkin
penk
parents:
diff changeset
  3738
321c1729db5b initial checkin
penk
parents:
diff changeset
  3739
    ^ 
5406
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3740
     #(Menu
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3741
        (
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3742
         (MenuItem
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3743
            label: 'Reload'
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3744
            itemValue: doReload
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3745
            translateLabel: true
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3746
            isButton: true
6286
fac153824f35 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6250
diff changeset
  3747
            labelImage: (ResourceRetriever ToolbarIconLibrary reloadTextFromFileIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3748
          )
5406
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3749
         (MenuItem
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3750
            label: 'Back'
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3751
            itemValue: doGoBack
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3752
            translateLabel: true
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3753
            isButton: true
6286
fac153824f35 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6250
diff changeset
  3754
            labelImage: (ResourceRetriever ToolbarIconLibrary historyBackIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3755
          )
5406
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3756
         (MenuItem
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  3757
            label: '-'
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  3758
          )
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  3759
         (MenuItem
5406
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3760
            label: 'Print'
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3761
            itemValue: doPrint
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3762
            translateLabel: true
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3763
            isButton: true
6286
fac153824f35 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6250
diff changeset
  3764
            labelImage: (ResourceRetriever ToolbarIconLibrary printerIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3765
          )
5406
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3766
         (MenuItem
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  3767
            label: '-'
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  3768
          )
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  3769
         (MenuItem
5406
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3770
            activeHelpKey: #'Edit Source'
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3771
            label: 'Edit'
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3772
            itemValue: doEdit
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3773
            translateLabel: true
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3774
            isButton: true
6093
cab3a82eaa34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6091
diff changeset
  3775
            labelImage: (ResourceRetriever ToolbarIconLibrary editFileIcon)
5406
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3776
          )
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3777
         (MenuItem
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  3778
            activeHelpKey: closeTabButton
5406
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3779
            label: 'Close'
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3780
            itemValue: doClose
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3781
            translateLabel: true
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3782
            isButton: true
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3783
            startGroup: right
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3784
            hideMenuOnActivated: false
6093
cab3a82eaa34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6091
diff changeset
  3785
            labelImage: (ResourceRetriever ToolbarIconLibrary removeTabIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3786
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3787
         )
321c1729db5b initial checkin
penk
parents:
diff changeset
  3788
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  3789
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  3790
      )
10566
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3791
!
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3792
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3793
menuJustClose
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3794
    "This resource specification was automatically generated
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3795
     by the MenuEditor of ST/X."
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3796
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3797
    "Do not manually edit this!! If it is corrupted,
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3798
     the MenuEditor may not be able to read the specification."
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3799
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3800
    "
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3801
     MenuEditor new openOnClass:FileApplicationNoteBook::HtmlViewApplication andSelector:#menuJustClose
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3802
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::HtmlViewApplication menuJustClose)) startUp
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3803
    "
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3804
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3805
    <resource: #menu>
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3806
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3807
    ^ 
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3808
     #(Menu
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3809
        (
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3810
         (MenuItem
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3811
            activeHelpKey: closeTabButton
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3812
            label: 'Close'
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3813
            itemValue: doClose
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3814
            translateLabel: true
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3815
            isButton: true
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3816
            startGroup: right
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3817
            hideMenuOnActivated: false
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3818
            labelImage: (ResourceRetriever ToolbarIconLibrary removeTabIcon)
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3819
          )
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3820
         )
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3821
        nil
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3822
        nil
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3823
      )
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3824
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3825
321c1729db5b initial checkin
penk
parents:
diff changeset
  3826
!FileApplicationNoteBook::HtmlViewApplication class methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3827
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  3828
canOpenItem:anItem
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  3829
13715
dab7e512b771 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13406
diff changeset
  3830
    ^ (anItem hasMimeType and:[anItem mimeType isHtmlType])
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3831
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3832
321c1729db5b initial checkin
penk
parents:
diff changeset
  3833
wantNewApplicationAnyway
321c1729db5b initial checkin
penk
parents:
diff changeset
  3834
321c1729db5b initial checkin
penk
parents:
diff changeset
  3835
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
  3836
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3837
321c1729db5b initial checkin
penk
parents:
diff changeset
  3838
!FileApplicationNoteBook::HtmlViewApplication methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3839
321c1729db5b initial checkin
penk
parents:
diff changeset
  3840
htmlView
321c1729db5b initial checkin
penk
parents:
diff changeset
  3841
    "return the value of the instance variable 'imageView' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  3842
321c1729db5b initial checkin
penk
parents:
diff changeset
  3843
    ^ htmlView
321c1729db5b initial checkin
penk
parents:
diff changeset
  3844
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3845
321c1729db5b initial checkin
penk
parents:
diff changeset
  3846
htmlView:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  3847
    "set the value of the instance variable 'imageView' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  3848
321c1729db5b initial checkin
penk
parents:
diff changeset
  3849
    htmlView := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3850
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3851
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  3852
item:anItem 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3853
321c1729db5b initial checkin
penk
parents:
diff changeset
  3854
    |retVal|
321c1729db5b initial checkin
penk
parents:
diff changeset
  3855
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  3856
    self labelHolder value:anItem fileName asString.
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  3857
    retVal := super item:anItem.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3858
    self setupHtmlView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3859
    ^ retVal
321c1729db5b initial checkin
penk
parents:
diff changeset
  3860
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3861
15232
0e892557798d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15230
diff changeset
  3862
!FileApplicationNoteBook::HtmlViewApplication methodsFor:'accessing-subApps'!
10566
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3863
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3864
webBrowserPage
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3865
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3866
    webBrowserPage isNil ifTrue:[
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3867
        webBrowserPage := Tools::WebBrowserPage new.
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3868
        webBrowserPage urlHolder: self labelHolder
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3869
    ].
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3870
    ^webBrowserPage
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3871
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3872
    "Created: / 11-08-2011 / 00:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3873
! !
8b18bf86bef4 Uses WebKit based WebBrowserPage if available
vrany
parents: 10382
diff changeset
  3874
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3875
!FileApplicationNoteBook::HtmlViewApplication methodsFor:'actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3876
5406
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3877
doEdit
7540
69a739c09f2c edit the shown (not the initial) file of the html view
Claus Gittinger <cg@exept.de>
parents: 7487
diff changeset
  3878
    self masterApplication 
69a739c09f2c edit the shown (not the initial) file of the html view
Claus Gittinger <cg@exept.de>
parents: 7487
diff changeset
  3879
        openTextEditorForFile:(htmlView currentDocument)
69a739c09f2c edit the shown (not the initial) file of the html view
Claus Gittinger <cg@exept.de>
parents: 7487
diff changeset
  3880
"/        openTextEditorOn:item.
69a739c09f2c edit the shown (not the initial) file of the html view
Claus Gittinger <cg@exept.de>
parents: 7487
diff changeset
  3881
69a739c09f2c edit the shown (not the initial) file of the html view
Claus Gittinger <cg@exept.de>
parents: 7487
diff changeset
  3882
    "Modified: / 24-11-2006 / 11:14:51 / cg"
5406
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3883
!
abf2d30dfb17 add edit button fot HTML Viewer
penk
parents: 5335
diff changeset
  3884
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3885
doGoBack
321c1729db5b initial checkin
penk
parents:
diff changeset
  3886
321c1729db5b initial checkin
penk
parents:
diff changeset
  3887
    self htmlView menu_back.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3888
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3889
321c1729db5b initial checkin
penk
parents:
diff changeset
  3890
doGoHome
321c1729db5b initial checkin
penk
parents:
diff changeset
  3891
321c1729db5b initial checkin
penk
parents:
diff changeset
  3892
    self htmlView menu_home.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3893
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3894
321c1729db5b initial checkin
penk
parents:
diff changeset
  3895
doHelp
321c1729db5b initial checkin
penk
parents:
diff changeset
  3896
321c1729db5b initial checkin
penk
parents:
diff changeset
  3897
    self htmlView menu_help.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3898
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3899
321c1729db5b initial checkin
penk
parents:
diff changeset
  3900
doPrint
321c1729db5b initial checkin
penk
parents:
diff changeset
  3901
321c1729db5b initial checkin
penk
parents:
diff changeset
  3902
    self htmlView menu_print.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3903
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3904
321c1729db5b initial checkin
penk
parents:
diff changeset
  3905
doReload
321c1729db5b initial checkin
penk
parents:
diff changeset
  3906
321c1729db5b initial checkin
penk
parents:
diff changeset
  3907
    self htmlView menu_reload.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3908
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3909
321c1729db5b initial checkin
penk
parents:
diff changeset
  3910
setupHtmlView
321c1729db5b initial checkin
penk
parents:
diff changeset
  3911
321c1729db5b initial checkin
penk
parents:
diff changeset
  3912
    | html file directory|
321c1729db5b initial checkin
penk
parents:
diff changeset
  3913
321c1729db5b initial checkin
penk
parents:
diff changeset
  3914
    html := self htmlView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3915
    html isNil ifTrue:[^ self].
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  3916
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3917
    file := self fileName.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3918
    directory := file directoryName.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3919
    html homeDocument:(file asString).
321c1729db5b initial checkin
penk
parents:
diff changeset
  3920
    html setTopDirectoryName:directory.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3921
    html uriHolder:self labelHolder.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3922
    html infoHolder:self notifyChannel.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3923
    html linkButtonPanel:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3924
    ^ html
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  3925
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  3926
    "Modified: / 17-02-2011 / 14:01:35 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3927
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3928
321c1729db5b initial checkin
penk
parents:
diff changeset
  3929
!FileApplicationNoteBook::HtmlViewApplication methodsFor:'aspects'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3930
321c1729db5b initial checkin
penk
parents:
diff changeset
  3931
labelHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  3932
321c1729db5b initial checkin
penk
parents:
diff changeset
  3933
    labelHolder isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  3934
        labelHolder := '' asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3935
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  3936
    ^ labelHolder.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3937
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3938
321c1729db5b initial checkin
penk
parents:
diff changeset
  3939
!FileApplicationNoteBook::HtmlViewApplication methodsFor:'initialization & release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3940
321c1729db5b initial checkin
penk
parents:
diff changeset
  3941
postBuildHtmlView:aWidget
321c1729db5b initial checkin
penk
parents:
diff changeset
  3942
321c1729db5b initial checkin
penk
parents:
diff changeset
  3943
    self htmlView: aWidget scrolledView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3944
    self htmlView wantsFocusWithPointerEnter.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3945
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3946
321c1729db5b initial checkin
penk
parents:
diff changeset
  3947
postOpenWith:aBuilder 
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  3948
    "only invoked if the application not started from a master"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3949
321c1729db5b initial checkin
penk
parents:
diff changeset
  3950
    |currentDir contents suffix fileName|
321c1729db5b initial checkin
penk
parents:
diff changeset
  3951
321c1729db5b initial checkin
penk
parents:
diff changeset
  3952
    self masterApplication isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  3953
        self masterApplication:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3954
        currentDir := Filename homeDirectory.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3955
321c1729db5b initial checkin
penk
parents:
diff changeset
  3956
        contents := currentDir directoryContents.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3957
        fileName := contents 
321c1729db5b initial checkin
penk
parents:
diff changeset
  3958
                    detect:[:file | 
321c1729db5b initial checkin
penk
parents:
diff changeset
  3959
                        suffix := file asFilename suffix asLowercase.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3960
                        suffix = 'html'
321c1729db5b initial checkin
penk
parents:
diff changeset
  3961
                    ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  3962
                    ifNone:[nil].
321c1729db5b initial checkin
penk
parents:
diff changeset
  3963
        fileName isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  3964
            Dialog warn:'cant find a HTML file in ' , currentDir asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
  3965
            ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  3966
        ].
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  3967
        self item:(DirectoryContentsBrowser itemClass 
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  3968
                        fileName:('../../doc/online/english/TOP.html') asFilename asAbsoluteFilename).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3969
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  3970
    self setupHtmlView.
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  3971
    super postOpenWith:aBuilder
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  3972
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  3973
    "Modified: / 17-02-2011 / 13:27:12 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3974
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3975
321c1729db5b initial checkin
penk
parents:
diff changeset
  3976
!FileApplicationNoteBook::ImageViewApplication class methodsFor:'defaults'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  3977
321c1729db5b initial checkin
penk
parents:
diff changeset
  3978
tabStringFor:aApplicationType
7687
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3979
    "the formatString shown in a tab (language translated)"
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3980
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3981
    ^ 'Image in %1'
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3982
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  3983
    "Modified: / 01-03-2007 / 21:43:23 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  3984
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  3985
7909
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3986
!FileApplicationNoteBook::ImageViewApplication class methodsFor:'documentation'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3987
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3988
documentation
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3989
"
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3990
    a previewer-plugin for bitmap images (jpg, xpm, tiff, gif, etc.)
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3991
    Offers edit and adjust-size button functions.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3992
"
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3993
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  3994
6100
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  3995
!FileApplicationNoteBook::ImageViewApplication class methodsFor:'help specs'!
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  3996
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  3997
flyByHelpSpec
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  3998
    "This resource specification was automatically generated
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  3999
     by the UIHelpTool of ST/X."
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4000
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4001
    "Do not manually edit this!! If it is corrupted,
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4002
     the UIHelpTool may not be able to read the specification."
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4003
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4004
    "
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4005
     UIHelpTool openOnClass:FileApplicationNoteBook::HtmlViewApplication    
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4006
    "
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4007
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4008
    <resource: #help>
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4009
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4010
    ^ super flyByHelpSpec addPairsFrom:#(
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4011
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4012
#'fitImageSize'
14906
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4013
'Shrink image to fit view'
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4014
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4015
#'showHex'
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4016
'Show a hex dump of the file''s contents'
6100
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4017
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4018
)
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4019
! !
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  4020
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4021
!FileApplicationNoteBook::ImageViewApplication class methodsFor:'image specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4022
321c1729db5b initial checkin
penk
parents:
diff changeset
  4023
fitSize20x20Icon
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4024
    <resource: #image>
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4025
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  4026
     by the ImageEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4027
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  4028
     the ImageEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4029
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  4030
     self fitSize20x20Icon inspect
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4031
     ImageEditor openOnClass:self andSelector:#fitSize20x20Icon"
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4032
    
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4033
    ^ Icon 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4034
        constantNamed:#'FileApplicationNoteBook::ImageViewApplication class fitSize20x20Icon'
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4035
        ifAbsentPut:[
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4036
            (Depth4Image new)
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4037
                width:20;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4038
                height:20;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4039
                photometric:(#palette);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4040
                bitsPerSample:(#( 4 ));
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4041
                samplesPerPixel:(1);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4042
                bits:(ByteArray 
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4043
                            fromPackedString:'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4044
@@DQDQDQDQDP@@@PDQDQDQDQ@P@A@ADQDQDQDP@PD@@PDQDQDPD@@QDQ@ADQDQ@@DQDQD@@@@@@@@@DQDQDPQDQDQ@DQDQDQDDQUUTPADQDQDQAEUUUT@QDQ
321c1729db5b initial checkin
penk
parents:
diff changeset
  4045
DQDPQEUUQ@DQDQDQDDQFQDPADQDQDQADQ$QD@QDQDQDPL3X3Q@DQDQDQDCL3L3LADQDQD@@@@@@@@@DQDQD@DQDQDP@QDQ@@DADQDQDA@@DA@ADQDQDQDP@P
321c1729db5b initial checkin
penk
parents:
diff changeset
  4046
@@@QDQDQDQDA@@@ADQDQDQDQD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
321c1729db5b initial checkin
penk
parents:
diff changeset
  4047
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4048
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a');
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4049
                colorMapFromArray:#[ 0 0 0 255 255 255 0 0 0 0 137 0 174 218 230 0 206 0 133 60 36 ];
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4050
                mask:((ImageMask new)
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4051
                            width:20;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4052
                            height:20;
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4053
                            bits:(ByteArray 
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4054
                                        fromPackedString:'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4055
8@A00@@0(@APE@J@C@L@G?>@A?8@A?8@A?8@A?8@A?8@A?8@A?8@A?8@G?>@C@L@E@J@(@AP0@@08@A0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
321c1729db5b initial checkin
penk
parents:
diff changeset
  4056
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
321c1729db5b initial checkin
penk
parents:
diff changeset
  4057
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
321c1729db5b initial checkin
penk
parents:
diff changeset
  4058
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
14412
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4059
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a');
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4060
                            yourself);
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4061
                yourself
7440739e2b8b Use ImageMask instead of Depth1Image for masks
Stefan Vogel <sv@exept.de>
parents: 14124
diff changeset
  4062
        ]
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4063
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4064
321c1729db5b initial checkin
penk
parents:
diff changeset
  4065
!FileApplicationNoteBook::ImageViewApplication class methodsFor:'interface specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4066
321c1729db5b initial checkin
penk
parents:
diff changeset
  4067
windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4068
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  4069
     by the UIPainter of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4070
321c1729db5b initial checkin
penk
parents:
diff changeset
  4071
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  4072
     the UIPainter may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4073
321c1729db5b initial checkin
penk
parents:
diff changeset
  4074
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  4075
     UIPainter new openOnClass:FileApplicationNoteBook::ImageViewApplication andSelector:#windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4076
     FileApplicationNoteBook::ImageViewApplication new openInterface:#windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4077
     FileApplicationNoteBook::ImageViewApplication open
321c1729db5b initial checkin
penk
parents:
diff changeset
  4078
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  4079
321c1729db5b initial checkin
penk
parents:
diff changeset
  4080
    <resource: #canvas>
321c1729db5b initial checkin
penk
parents:
diff changeset
  4081
321c1729db5b initial checkin
penk
parents:
diff changeset
  4082
    ^ 
321c1729db5b initial checkin
penk
parents:
diff changeset
  4083
     #(#FullSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4084
        #name: #windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4085
        #window: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  4086
       #(#WindowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4087
          #label: 'ImageViewer'
321c1729db5b initial checkin
penk
parents:
diff changeset
  4088
          #name: 'ImageViewer'
321c1729db5b initial checkin
penk
parents:
diff changeset
  4089
          #min: #(#Point 10 10)
321c1729db5b initial checkin
penk
parents:
diff changeset
  4090
          #bounds: #(#Rectangle 16 42 692 534)
321c1729db5b initial checkin
penk
parents:
diff changeset
  4091
          #menu: #mainMenu
321c1729db5b initial checkin
penk
parents:
diff changeset
  4092
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4093
        #component: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  4094
       #(#SpecCollection
321c1729db5b initial checkin
penk
parents:
diff changeset
  4095
          #collection: #(
321c1729db5b initial checkin
penk
parents:
diff changeset
  4096
           #(#MenuPanelSpec
4261
8cfc011b2c0c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4201
diff changeset
  4097
              #name: 'MenuImage'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4098
              #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  4099
              #level: 0
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4100
              #visibilityChannel: #isEmbeddedApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
  4101
              #menu: #menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  4102
              #textDefault: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  4103
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4104
           #(#ArbitraryComponentSpec
4261
8cfc011b2c0c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4201
diff changeset
  4105
              #name: 'ImageView'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4106
              #layout: #(#LayoutFrame 0 0.0 32 0.0 0 1.0 0 1.0)
321c1729db5b initial checkin
penk
parents:
diff changeset
  4107
              #hasHorizontalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  4108
              #hasVerticalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  4109
              #miniScrollerHorizontal: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  4110
              #miniScrollerVertical: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  4111
              #hasBorder: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  4112
              #component: #ImageView
321c1729db5b initial checkin
penk
parents:
diff changeset
  4113
              #postBuildCallback: #postBuildImageView:
321c1729db5b initial checkin
penk
parents:
diff changeset
  4114
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4115
           )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4116
         
321c1729db5b initial checkin
penk
parents:
diff changeset
  4117
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4118
      )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4119
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4120
321c1729db5b initial checkin
penk
parents:
diff changeset
  4121
!FileApplicationNoteBook::ImageViewApplication class methodsFor:'menu specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4122
321c1729db5b initial checkin
penk
parents:
diff changeset
  4123
menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  4124
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  4125
     by the MenuEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4126
321c1729db5b initial checkin
penk
parents:
diff changeset
  4127
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  4128
     the MenuEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4129
14906
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4130
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4131
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  4132
     MenuEditor new openOnClass:FileApplicationNoteBook::ImageViewApplication andSelector:#menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  4133
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::ImageViewApplication menu)) startUp
321c1729db5b initial checkin
penk
parents:
diff changeset
  4134
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  4135
321c1729db5b initial checkin
penk
parents:
diff changeset
  4136
    <resource: #menu>
321c1729db5b initial checkin
penk
parents:
diff changeset
  4137
321c1729db5b initial checkin
penk
parents:
diff changeset
  4138
    ^ 
14906
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4139
     #(Menu
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4140
        (
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4141
         (MenuItem
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4142
            label: 'Edit'
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4143
            itemValue: editImage
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4144
            nameKey: EditImage
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4145
            isButton: true
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4146
            labelImage: (ResourceRetriever ToolbarIconLibrary startImageEditorIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4147
          )
14906
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4148
         (MenuItem
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4149
            label: '-'
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4150
          )
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4151
         (MenuItem
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4152
            activeHelpKey: fitImageSize
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4153
            label: 'FitSize'
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4154
            isButton: true
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4155
            triggerOnDown: true
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4156
            indication: fitSize
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4157
            labelImage: (ResourceRetriever ToolbarIconLibrary fitImageSizeToViewIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4158
          )
14906
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4159
         (MenuItem
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4160
            label: '-'
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4161
          )
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4162
         (MenuItem
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4163
            activeHelpKey: showHex
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4164
            label: 'ShowHex'
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4165
            itemValue: showHex
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4166
            isButton: true
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4167
            triggerOnDown: true
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4168
            labelImage: (ResourceRetriever ToolbarIconLibrary hexToggleIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4169
          )
14906
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4170
         (MenuItem
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4171
            label: ''
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4172
          )
14906
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4173
         (MenuItem
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4174
            activeHelpKey: closeTabButton
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4175
            label: 'Close'
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4176
            itemValue: doClose
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4177
            isButton: true
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4178
            startGroup: right
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4179
            hideMenuOnActivated: false
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4180
            labelImage: (ResourceRetriever ToolbarIconLibrary removeTabIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4181
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4182
         )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4183
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  4184
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  4185
      )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4186
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4187
321c1729db5b initial checkin
penk
parents:
diff changeset
  4188
!FileApplicationNoteBook::ImageViewApplication class methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4189
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  4190
canOpenItem:anItem
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  4191
13715
dab7e512b771 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13406
diff changeset
  4192
    ^ (anItem hasMimeType and:[anItem mimeType isImageType])
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4193
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4194
321c1729db5b initial checkin
penk
parents:
diff changeset
  4195
wantNewApplicationAnyway
321c1729db5b initial checkin
penk
parents:
diff changeset
  4196
321c1729db5b initial checkin
penk
parents:
diff changeset
  4197
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
  4198
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4199
321c1729db5b initial checkin
penk
parents:
diff changeset
  4200
!FileApplicationNoteBook::ImageViewApplication methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4201
321c1729db5b initial checkin
penk
parents:
diff changeset
  4202
image:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  4203
    image := something.
4417
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4204
    self updateImageInfo.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4205
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4206
321c1729db5b initial checkin
penk
parents:
diff changeset
  4207
imageView
321c1729db5b initial checkin
penk
parents:
diff changeset
  4208
    ^ imageView
321c1729db5b initial checkin
penk
parents:
diff changeset
  4209
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4210
321c1729db5b initial checkin
penk
parents:
diff changeset
  4211
imageView:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  4212
    imageView := something.
4417
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4213
!
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4214
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4215
updateImageInfo
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4216
    |fn msg|
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4217
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4218
    image notNil ifTrue:[
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4219
        fn := image fileName.
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4220
        fn isNil ifTrue:[
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4221
            fn := 'unnamed'
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4222
        ] ifFalse:[
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4223
            fn :=  fn asFilename baseName.
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4224
        ].
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4225
        msg := '%1  %2x%3 depth:%4'
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4226
                bindWith:fn allBold
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4227
                with:image width
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4228
                with:image height
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4229
                with:image depth.
8f0a9e2bafc1 image info
Claus Gittinger <cg@exept.de>
parents: 4396
diff changeset
  4230
    ].
4523
ae3d65269e21 added notify: method;
Claus Gittinger <cg@exept.de>
parents: 4520
diff changeset
  4231
    self notify:msg.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4232
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4233
321c1729db5b initial checkin
penk
parents:
diff changeset
  4234
!FileApplicationNoteBook::ImageViewApplication methodsFor:'actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4235
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  4236
changeItem:anItem
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  4237
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5008
diff changeset
  4238
    self item:anItem.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4239
    self setupImageView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4240
    ^ true
321c1729db5b initial checkin
penk
parents:
diff changeset
  4241
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4242
321c1729db5b initial checkin
penk
parents:
diff changeset
  4243
editImage
321c1729db5b initial checkin
penk
parents:
diff changeset
  4244
    |img|
321c1729db5b initial checkin
penk
parents:
diff changeset
  4245
321c1729db5b initial checkin
penk
parents:
diff changeset
  4246
    img := self image.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4247
    img notNil ifTrue:[
6833
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  4248
"/        self withWaitCursorDo:[
4855
c113852ec9ba waitCursor
Claus Gittinger <cg@exept.de>
parents: 4803
diff changeset
  4249
            img edit.
6833
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  4250
"/        ]
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  4251
    ].
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  4252
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  4253
    "Modified: / 25-07-2006 / 09:09:20 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4254
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4255
321c1729db5b initial checkin
penk
parents:
diff changeset
  4256
image
321c1729db5b initial checkin
penk
parents:
diff changeset
  4257
    |img fn e|
321c1729db5b initial checkin
penk
parents:
diff changeset
  4258
321c1729db5b initial checkin
penk
parents:
diff changeset
  4259
    fn := self fileName.
14819
0248509ac90d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14808
diff changeset
  4260
    Image badImageFormatQuerySignal handle:[:ex |
0248509ac90d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14808
diff changeset
  4261
        e := ex description.
16146
ea50169210ca #FEATURE
Claus Gittinger <cg@exept.de>
parents: 16049
diff changeset
  4262
        "/ ex mayProceed ifTrue:[ ex proceed ].
14819
0248509ac90d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14808
diff changeset
  4263
    ] do:[
0248509ac90d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14808
diff changeset
  4264
        img := Image fromFile:fn.
0248509ac90d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14808
diff changeset
  4265
    ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4266
    img isNil ifTrue:[
14819
0248509ac90d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14808
diff changeset
  4267
        e isNil ifTrue:[
0248509ac90d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14808
diff changeset
  4268
            fn exists ifTrue:[
0248509ac90d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14808
diff changeset
  4269
                e := 'Unknown/unsupported image format'
0248509ac90d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14808
diff changeset
  4270
            ] ifFalse:[
0248509ac90d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14808
diff changeset
  4271
                e := 'No such image'
0248509ac90d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14808
diff changeset
  4272
            ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4273
        ].
16146
ea50169210ca #FEATURE
Claus Gittinger <cg@exept.de>
parents: 16049
diff changeset
  4274
        Dialog warn:('Error while reading image:\n%s' printfWith:e).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4275
        ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  4276
    ].
14907
647b035e2f5f class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14906
diff changeset
  4277
    e notNil ifTrue:[
647b035e2f5f class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14906
diff changeset
  4278
        Dialog information:'An error occurred while decoding some parts of the image.\However, some image data was retrieved...' withCRs.
647b035e2f5f class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14906
diff changeset
  4279
    ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4280
    ^ img.
14906
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4281
!
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4282
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4283
showHex
b8003fbf8094 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14841
diff changeset
  4284
    masterApplication openTextEditorWithHexPresentationOn:item
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4285
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4286
321c1729db5b initial checkin
penk
parents:
diff changeset
  4287
!FileApplicationNoteBook::ImageViewApplication methodsFor:'aspects'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4288
321c1729db5b initial checkin
penk
parents:
diff changeset
  4289
fitSize
321c1729db5b initial checkin
penk
parents:
diff changeset
  4290
    "return/create the 'fitSize' value holder (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  4291
321c1729db5b initial checkin
penk
parents:
diff changeset
  4292
    fitSize isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  4293
        fitSize := ValueHolder new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4294
        fitSize addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4295
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  4296
    ^ fitSize
321c1729db5b initial checkin
penk
parents:
diff changeset
  4297
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4298
321c1729db5b initial checkin
penk
parents:
diff changeset
  4299
!FileApplicationNoteBook::ImageViewApplication methodsFor:'change & update'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4300
321c1729db5b initial checkin
penk
parents:
diff changeset
  4301
update:something with:aParameter from:changedObject
321c1729db5b initial checkin
penk
parents:
diff changeset
  4302
    changedObject == self fitSize ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  4303
        changedObject value ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  4304
            imageView adjust:#fitBig.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4305
        ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  4306
            imageView adjust:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4307
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  4308
        ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  4309
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  4310
    super update:something with:aParameter from:changedObject
321c1729db5b initial checkin
penk
parents:
diff changeset
  4311
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4312
14576
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4313
!FileApplicationNoteBook::ImageViewApplication methodsFor:'event handling'!
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4314
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4315
processEvent:anEvent
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4316
    |view rawKey key|
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4317
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4318
    view := anEvent view.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4319
    anEvent isKeyPressEvent ifTrue:[
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4320
        (imageView notNil 
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4321
            and:[view notNil
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4322
            and:[(view == imageView)]]
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4323
        ) ifTrue:[
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4324
            rawKey := anEvent rawKey.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4325
            key := anEvent key.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4326
            (rawKey == #CursorDown) ifTrue:[
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4327
                masterApplication selectNextFile; enterAction.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4328
                ^ true.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4329
            ].
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4330
            (rawKey == #CursorUp) ifTrue:[
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4331
                masterApplication selectPreviousFile; enterAction.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4332
                ^ true.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4333
            ].
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4334
            key == $q ifTrue:[
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4335
                self doClose.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4336
                ^ true.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4337
            ].
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4338
            ((key == #Escape) or:[key == $x]) ifTrue:[
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4339
                self topView collapse.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4340
                ^ true.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4341
            ].
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4342
            ((key == #Cut) 
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4343
              or:[(key == #BackSpace)
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4344
              or:[key == #Delete]]) ifTrue:[
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4345
                masterApplication deleteFiles.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4346
                ^ true
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4347
            ].
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4348
            ^ false
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4349
        ]
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4350
    ].
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4351
    ^ false
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4352
! !
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4353
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4354
!FileApplicationNoteBook::ImageViewApplication methodsFor:'initialization & release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4355
321c1729db5b initial checkin
penk
parents:
diff changeset
  4356
postBuildImageView:aWidget
321c1729db5b initial checkin
penk
parents:
diff changeset
  4357
321c1729db5b initial checkin
penk
parents:
diff changeset
  4358
    self imageView: aWidget scrolledView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4359
    self imageView wantsFocusWithPointerEnter.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4360
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4361
14576
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4362
postOpenAsSubcanvasWith:aBuilder 
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4363
    "invoked if the application is embedded in some other view"
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4364
16049
Claus Gittinger <cg@exept.de>
parents: 16000
diff changeset
  4365
    |wg|
Claus Gittinger <cg@exept.de>
parents: 16000
diff changeset
  4366
    
Claus Gittinger <cg@exept.de>
parents: 16000
diff changeset
  4367
    (wg := self imageView windowGroup) notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 16000
diff changeset
  4368
        wg addPreEventHook:self.
Claus Gittinger <cg@exept.de>
parents: 16000
diff changeset
  4369
    ].
14576
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4370
    super postOpenAsSubcanvasWith:aBuilder
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4371
!
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4372
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4373
postOpenWith:aBuilder 
7909
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  4374
    "only invoked if the application is not started from a master"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4375
321c1729db5b initial checkin
penk
parents:
diff changeset
  4376
    |currentDir contents suffix fileName|
321c1729db5b initial checkin
penk
parents:
diff changeset
  4377
321c1729db5b initial checkin
penk
parents:
diff changeset
  4378
    self masterApplication isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  4379
        self masterApplication:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4380
        currentDir := Filename currentDirectory.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4381
        contents := currentDir directoryContents.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4382
        fileName := contents 
321c1729db5b initial checkin
penk
parents:
diff changeset
  4383
                    detect:[:file | 
321c1729db5b initial checkin
penk
parents:
diff changeset
  4384
                        suffix := file asFilename suffix asLowercase.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4385
                        Image isImageFileSuffix:suffix
321c1729db5b initial checkin
penk
parents:
diff changeset
  4386
                    ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  4387
                    ifNone:[nil].
321c1729db5b initial checkin
penk
parents:
diff changeset
  4388
        fileName isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  4389
            Dialog warn:'cant find a Image in ' , currentDir asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4390
            ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  4391
        ].
3982
fc30449d705d *** empty log message ***
penk
parents: 3962
diff changeset
  4392
        self item:(DirectoryContentsBrowser itemClass fileName:(currentDir construct:fileName))
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4393
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  4394
    self setupImageView.
14576
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4395
    self imageView windowGroup addPreEventHook:self.
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  4396
    super postOpenWith:aBuilder
14576
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4397
!
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4398
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4399
setupImageView
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4400
    [
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4401
        |img|
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4402
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4403
"/        imageView withCursor:(Cursor wait) do:[
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4404
            img := self image.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4405
            img notNil ifTrue:[
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4406
                self image:img.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4407
                imageView image:img
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4408
            ].
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4409
"/        ].
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4410
    ] fork.
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4411
c9b94a8aacb5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14517
diff changeset
  4412
    "Modified: / 25-07-2006 / 09:09:33 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4413
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4414
321c1729db5b initial checkin
penk
parents:
diff changeset
  4415
!FileApplicationNoteBook::Terminal class methodsFor:'defaults'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4416
4758
553688ada6b3 transcript buffer size
Claus Gittinger <cg@exept.de>
parents: 4744
diff changeset
  4417
defaultLineLimit
553688ada6b3 transcript buffer size
Claus Gittinger <cg@exept.de>
parents: 4744
diff changeset
  4418
    "the number of buffered lines"
553688ada6b3 transcript buffer size
Claus Gittinger <cg@exept.de>
parents: 4744
diff changeset
  4419
4759
cdc53b0b3e52 transcript buffer size
Claus Gittinger <cg@exept.de>
parents: 4758
diff changeset
  4420
    ^ DefaultLineLimit ? TextCollector defaultLineLimit
7787
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  4421
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  4422
    "
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  4423
     DefaultLineLimit := 30000
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  4424
    "
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  4425
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  4426
    "Modified: / 05-04-2007 / 17:03:11 / cg"
4758
553688ada6b3 transcript buffer size
Claus Gittinger <cg@exept.de>
parents: 4744
diff changeset
  4427
!
553688ada6b3 transcript buffer size
Claus Gittinger <cg@exept.de>
parents: 4744
diff changeset
  4428
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4429
tabStringFor:aApplicationType
7687
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4430
    "the formatString shown in a tab (language translated)"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4431
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  4432
    ^ 'Terminal'
7687
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4433
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4434
    "Modified: / 01-03-2007 / 21:43:38 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4435
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4436
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4437
!FileApplicationNoteBook::Terminal class methodsFor:'help specs'!
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4438
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4439
helpSpec
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4440
    "This resource specification was automatically generated
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4441
     by the UIHelpTool of ST/X."
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4442
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4443
    "Do not manually edit this!! If it is corrupted,
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4444
     the UIHelpTool may not be able to read the specification."
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4445
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4446
    "
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4447
     UIHelpTool openOnClass:FileApplicationNoteBook::Terminal    
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4448
    "
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4449
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4450
    <resource: #help>
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4451
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4452
    ^ super helpSpec addPairsFrom:#(
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4453
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4454
#closeTabButton
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4455
''
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4456
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4457
)
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4458
! !
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4459
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4460
!FileApplicationNoteBook::Terminal class methodsFor:'interface specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4461
321c1729db5b initial checkin
penk
parents:
diff changeset
  4462
windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4463
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  4464
     by the UIPainter of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4465
321c1729db5b initial checkin
penk
parents:
diff changeset
  4466
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  4467
     the UIPainter may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4468
321c1729db5b initial checkin
penk
parents:
diff changeset
  4469
    "
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  4470
     UIPainter new openOnClass:FileApplicationNoteBook::Terminal andSelector:#windowSpec
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  4471
     FileApplicationNoteBook::Terminal new openInterface:#windowSpec
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  4472
     FileApplicationNoteBook::Terminal open
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4473
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  4474
321c1729db5b initial checkin
penk
parents:
diff changeset
  4475
    <resource: #canvas>
321c1729db5b initial checkin
penk
parents:
diff changeset
  4476
321c1729db5b initial checkin
penk
parents:
diff changeset
  4477
    ^ 
5661
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4478
     #(FullSpec
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4479
        name: windowSpec
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4480
        window: 
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4481
       (WindowSpec
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4482
          label: 'Terminal'
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4483
          name: 'Terminal'
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4484
          min: (Point 10 10)
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4485
          bounds: (Rectangle 0 0 692 537)
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4486
          "/ menu: mainMenu
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4487
        )
5661
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4488
        component: 
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4489
       (SpecCollection
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4490
          collection: (
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4491
           (MenuPanelSpec
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4492
              name: 'MenuTerminal'
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4493
              layout: (LayoutFrame 0 0.0 0 0 0 1.0 32 0)
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4494
              level: 0
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4495
              menu: toolbarMenu
5661
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4496
              textDefault: true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4497
            )
5661
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4498
           (ArbitraryComponentSpec
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4499
              name: 'TerminalView'
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4500
              layout: (LayoutFrame 0 0.0 32 0.0 0 1.0 0 1.0)
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4501
              hasHorizontalScrollBar: true
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4502
              hasVerticalScrollBar: true
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4503
              miniScrollerHorizontal: true
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4504
              miniScrollerVertical: false
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4505
              autoHideScrollBars: false
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4506
              hasBorder: false
706b3e6cfd1f terminal has a fixed scrollbar to avoid
Claus Gittinger <cg@exept.de>
parents: 5646
diff changeset
  4507
              component: terminalView
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4508
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4509
           )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4510
         
321c1729db5b initial checkin
penk
parents:
diff changeset
  4511
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4512
      )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4513
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4514
321c1729db5b initial checkin
penk
parents:
diff changeset
  4515
!FileApplicationNoteBook::Terminal class methodsFor:'menu specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4516
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4517
toolbarMenu
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4518
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  4519
     by the MenuEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4520
321c1729db5b initial checkin
penk
parents:
diff changeset
  4521
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  4522
     the MenuEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4523
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4524
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4525
    "
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4526
     MenuEditor new openOnClass:FileApplicationNoteBook::Terminal andSelector:#toolbarMenu
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4527
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::Terminal toolbarMenu)) startUp
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4528
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  4529
321c1729db5b initial checkin
penk
parents:
diff changeset
  4530
    <resource: #menu>
321c1729db5b initial checkin
penk
parents:
diff changeset
  4531
321c1729db5b initial checkin
penk
parents:
diff changeset
  4532
    ^ 
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4533
     #(Menu
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4534
        (
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4535
         (MenuItem
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4536
            label: 'Save As...'
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4537
            itemValue: saveAs
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4538
            nameKey: Save
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4539
            isButton: true
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4540
            labelImage: (ResourceRetriever ToolbarIconLibrary saveToFileAsIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4541
          )
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4542
         (MenuItem
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4543
            activeHelpKey: closeTabButton
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4544
            label: 'Close'
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4545
            itemValue: doClose
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4546
            isButton: true
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4547
            startGroup: right
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4548
            isVisible: closeButtonShown
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4549
            hideMenuOnActivated: false
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4550
            labelImage: (ResourceRetriever ToolbarIconLibrary removeTabIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4551
          )
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4552
         (MenuItem
14801
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4553
            label: 'Scroll Lock'
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4554
            itemValue: scrollLockedChanged
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4555
            isButton: true
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4556
            startGroup: right
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4557
            indication: scrollLockedHolder
14802
99e863c55e0f class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14801
diff changeset
  4558
            labelImage: (ResourceRetriever ToolbarIconLibrary scrollLockIcon)
14801
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4559
          )
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4560
         (MenuItem
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4561
            label: 'Clear Console Output'
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4562
            itemValue: menuClearConsole
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4563
            isButton: true
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4564
            startGroup: right
14802
99e863c55e0f class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14801
diff changeset
  4565
            labelImage: (ResourceRetriever ToolbarIconLibrary clearConsoleIcon)
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4566
          )
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4567
         )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4568
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  4569
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  4570
      )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4571
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4572
321c1729db5b initial checkin
penk
parents:
diff changeset
  4573
!FileApplicationNoteBook::Terminal methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4574
321c1729db5b initial checkin
penk
parents:
diff changeset
  4575
terminalView
321c1729db5b initial checkin
penk
parents:
diff changeset
  4576
321c1729db5b initial checkin
penk
parents:
diff changeset
  4577
    terminalView isNil ifTrue:[
13905
519c20b1a23c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13812
diff changeset
  4578
        (OperatingSystem isUNIXlike 
14458
bba439082438 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14444
diff changeset
  4579
                "/ mhm - xterm embedding seems to no longer work; the default from user prefs is therefore false
bba439082438 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14444
diff changeset
  4580
                and:[UserPreferences current useXTermViewIfAvailable 
13905
519c20b1a23c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13812
diff changeset
  4581
                and:[XTermView notNil 
519c20b1a23c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13812
diff changeset
  4582
                and:[XTermView isAvailable]]]) ifTrue:[
13812
d797f0c1e183 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13776
diff changeset
  4583
            terminalView := XTermView new.
13905
519c20b1a23c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13812
diff changeset
  4584
            terminalView workingDirectory: item fileName pathName.
519c20b1a23c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13812
diff changeset
  4585
            terminalView lineLimit:(self class defaultLineLimit).
13812
d797f0c1e183 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13776
diff changeset
  4586
        ] ifFalse:[
d797f0c1e183 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13776
diff changeset
  4587
            VT100TerminalView isNil ifTrue:[
d797f0c1e183 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13776
diff changeset
  4588
                Dialog warn:('Missing class: ' , 'VT100TerminalView' allBold).
d797f0c1e183 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13776
diff changeset
  4589
                AbortOperationRequest raise 
d797f0c1e183 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13776
diff changeset
  4590
            ].
d797f0c1e183 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13776
diff changeset
  4591
            terminalView := VT100TerminalView new.
6435
a8b5ed32c036 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6377
diff changeset
  4592
        ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4593
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  4594
    ^ terminalView.
13812
d797f0c1e183 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13776
diff changeset
  4595
d797f0c1e183 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13776
diff changeset
  4596
    "Modified: / 05-04-2012 / 15:58:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4597
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4598
321c1729db5b initial checkin
penk
parents:
diff changeset
  4599
!FileApplicationNoteBook::Terminal methodsFor:'actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4600
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4601
menuClearConsole
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4602
    terminalView clear.
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4603
!
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4604
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4605
saveAs
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4606
    "open a save-as dialog"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4607
321c1729db5b initial checkin
penk
parents:
diff changeset
  4608
    self terminalView save.
14801
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4609
!
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4610
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4611
scrollLockedChanged
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4612
    terminalView scrollLock:scrollLockedHolder value.
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4613
!
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4614
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4615
scrollLockedHolder
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4616
    scrollLockedHolder isNil ifTrue:[
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4617
        scrollLockedHolder := false asValue
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4618
    ].
3706d48d3c1b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14799
diff changeset
  4619
    ^ scrollLockedHolder.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4620
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4621
321c1729db5b initial checkin
penk
parents:
diff changeset
  4622
!FileApplicationNoteBook::Terminal methodsFor:'initialization & release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4623
14462
293b9728e748 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14458
diff changeset
  4624
doClose
293b9728e748 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14458
diff changeset
  4625
    terminalView closeDownShell.
293b9728e748 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14458
diff changeset
  4626
    ^ super doClose.
293b9728e748 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14458
diff changeset
  4627
!
293b9728e748 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14458
diff changeset
  4628
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4629
shellFinished
321c1729db5b initial checkin
penk
parents:
diff changeset
  4630
    | master text string|
321c1729db5b initial checkin
penk
parents:
diff changeset
  4631
321c1729db5b initial checkin
penk
parents:
diff changeset
  4632
    master := self masterApplication.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4633
    master notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  4634
        string := ' - closed'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4635
        master tabStringAdd:string for:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4636
    ].
4523
ae3d65269e21 added notify: method;
Claus Gittinger <cg@exept.de>
parents: 4520
diff changeset
  4637
    self notify:'shell in ' , self fileName asString, ' finished'.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4638
    terminalView cr.
4515
5345a8da0455 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4508
diff changeset
  4639
16513
47d46f573bb1 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16146
diff changeset
  4640
    text := '>> shell terminated.' allBold withColor:#red.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4641
    terminalView nextPutAll:text.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4642
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4643
321c1729db5b initial checkin
penk
parents:
diff changeset
  4644
startShell
321c1729db5b initial checkin
penk
parents:
diff changeset
  4645
    |vt100|
321c1729db5b initial checkin
penk
parents:
diff changeset
  4646
321c1729db5b initial checkin
penk
parents:
diff changeset
  4647
    vt100 := self terminalView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  4648
    vt100 shellTerminateAction:[ self shellFinished ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  4649
    vt100 startShellIn:(self fileName).
321c1729db5b initial checkin
penk
parents:
diff changeset
  4650
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4651
321c1729db5b initial checkin
penk
parents:
diff changeset
  4652
!FileApplicationNoteBook::Terminal methodsFor:'printing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4653
8002
031dca544927 Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents: 7970
diff changeset
  4654
printOn:aStream
031dca544927 Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents: 7970
diff changeset
  4655
    aStream nextPutAll:'Terminal on:'.
031dca544927 Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents: 7970
diff changeset
  4656
    self fileName baseName printOn:aStream.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4657
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4658
321c1729db5b initial checkin
penk
parents:
diff changeset
  4659
!FileApplicationNoteBook::Terminal methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4660
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4661
getTabIcon
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4662
    "the item shown in a tab"
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4663
14802
99e863c55e0f class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14801
diff changeset
  4664
    ^ ToolbarIconLibrary console13x13Icon
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4665
!
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  4666
7687
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4667
getTabValueString
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4668
    "the item shown in a tab (not language translated)"
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4669
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4670
    ^ nil
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4671
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4672
    "Created: / 01-03-2007 / 21:39:56 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4673
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4674
321c1729db5b initial checkin
penk
parents:
diff changeset
  4675
!FileApplicationNoteBook::Terminal methodsFor:'startup & release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4676
321c1729db5b initial checkin
penk
parents:
diff changeset
  4677
postOpenWith:aBuilder
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  4678
    "only invoked if the application not started from a master"
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  4679
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4680
    self masterApplication isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  4681
        self masterApplication:nil.
3982
fc30449d705d *** empty log message ***
penk
parents: 3962
diff changeset
  4682
        self item:(DirectoryContentsBrowser itemClass fileName:(Filename currentDirectory asAbsoluteFilename)).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4683
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  4684
    self startShell.
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  4685
    super postOpenWith:aBuilder.
14444
cea130516cc0 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14412
diff changeset
  4686
    terminalView requestFocus.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4687
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4688
321c1729db5b initial checkin
penk
parents:
diff changeset
  4689
!FileApplicationNoteBook::TextEditor class methodsFor:'defaults'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4690
5461
acf501391ddd change delay time for check files in text editor
penk
parents: 5459
diff changeset
  4691
checkModifiedDelayTime
8614
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  4692
    ^ 30    "seconds"
5461
acf501391ddd change delay time for check files in text editor
penk
parents: 5459
diff changeset
  4693
!
acf501391ddd change delay time for check files in text editor
penk
parents: 5459
diff changeset
  4694
10761
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  4695
defaultTagsBrowserVisible
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  4696
    ^ DefaultTagsBrowserVisible ? true
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  4697
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  4698
    "Created: / 06-10-2011 / 12:45:58 / cg"
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  4699
!
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  4700
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4701
tabStringFor:aApplicationType
7687
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4702
    "the formatString shown in a tab (language translated)"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4703
321c1729db5b initial checkin
penk
parents:
diff changeset
  4704
    aApplicationType == #directoryDescription ifTrue:[
7687
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4705
        ^ 'Directory Description of %1'
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4706
    ].
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4707
    ^ '%1'
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4708
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  4709
    "Modified: / 01-03-2007 / 21:46:24 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4710
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4711
321c1729db5b initial checkin
penk
parents:
diff changeset
  4712
wantNewApplicationAnyway
321c1729db5b initial checkin
penk
parents:
diff changeset
  4713
321c1729db5b initial checkin
penk
parents:
diff changeset
  4714
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
  4715
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4716
7909
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  4717
!FileApplicationNoteBook::TextEditor class methodsFor:'documentation'!
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  4718
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  4719
documentation
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  4720
"
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  4721
    a previewer-plugin for plain text
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  4722
    Offers edit, hex-display and diff functions.
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  4723
"
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  4724
! !
db9abaf71a0b top file support
Claus Gittinger <cg@exept.de>
parents: 7840
diff changeset
  4725
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4726
!FileApplicationNoteBook::TextEditor class methodsFor:'help specs'!
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4727
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4728
helpSpec
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4729
    "This resource specification was automatically generated
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4730
     by the UIHelpTool of ST/X."
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4731
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4732
    "Do not manually edit this!! If it is corrupted,
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4733
     the UIHelpTool may not be able to read the specification."
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4734
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4735
    "
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4736
     UIHelpTool openOnClass:FileApplicationNoteBook::TextEditor    
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4737
    "
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4738
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4739
    <resource: #help>
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4740
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4741
    ^ super helpSpec addPairsFrom:#(
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4742
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4743
#closeTabButton
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4744
'Close this tab'
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4745
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4746
#hideEditorOperationsToolBar
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4747
'Hide the additional editor operations menu'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4748
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4749
#indentCode
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4750
'Indent the selected lines (or the cursor line) by 4'
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4751
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4752
#showEditOperationsToolBar
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4753
'Show the additional editor operations menu'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4754
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4755
#undentCode
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4756
'Undent the selected lines (or the cursor line) by 4'
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4757
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4758
#toggleBold
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4759
'Toggle the selection''s bold attribute (if bold, turn off; if not, turn on)'
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4760
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4761
#toggleItalic
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4762
'Toggle the selection''s italic attribute (if italic, turn off; if not, turn on)'
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4763
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4764
#toggleCode
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4765
'Toggle the selection''s code+pre attribute (if code, turn off; if not, turn on)'
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4766
14808
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  4767
#toggleEscape
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  4768
'Escape the selected characters with &; escape sequences.\(i.e. change "<" into "&lt;")'
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  4769
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4770
#addAnchor
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4771
'Make the selection an an anchor element'
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4772
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4773
#addImage
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4774
'Insert a bitmap image element'
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  4775
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4776
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4777
)
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4778
! !
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4779
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4780
!FileApplicationNoteBook::TextEditor class methodsFor:'image specs'!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4781
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4782
hideToolBarIcon
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4783
    <resource: #programImage>
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4784
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4785
    ^ ToolbarIconLibrary hideToolBarIcon
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4786
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4787
    "Created: / 02-08-2013 / 16:03:09 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4788
! !
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4789
8912
4ee5a8847d06 category changes
Claus Gittinger <cg@exept.de>
parents: 8783
diff changeset
  4790
!FileApplicationNoteBook::TextEditor class methodsFor:'interface specs'!
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4791
321c1729db5b initial checkin
penk
parents:
diff changeset
  4792
windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4793
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  4794
     by the UIPainter of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4795
321c1729db5b initial checkin
penk
parents:
diff changeset
  4796
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  4797
     the UIPainter may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4798
321c1729db5b initial checkin
penk
parents:
diff changeset
  4799
    "
3950
b16ce71ea664 allowDoIt
Claus Gittinger <cg@exept.de>
parents: 3948
diff changeset
  4800
     UIPainter new openOnClass:FileApplicationNoteBook::TextEditor andSelector:#windowSpec
b16ce71ea664 allowDoIt
Claus Gittinger <cg@exept.de>
parents: 3948
diff changeset
  4801
     FileApplicationNoteBook::TextEditor new openInterface:#windowSpec
b16ce71ea664 allowDoIt
Claus Gittinger <cg@exept.de>
parents: 3948
diff changeset
  4802
     FileApplicationNoteBook::TextEditor open
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4803
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  4804
321c1729db5b initial checkin
penk
parents:
diff changeset
  4805
    <resource: #canvas>
321c1729db5b initial checkin
penk
parents:
diff changeset
  4806
321c1729db5b initial checkin
penk
parents:
diff changeset
  4807
    ^ 
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4808
    #(FullSpec
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4809
       name: windowSpec
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4810
       window: 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4811
      (WindowSpec
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4812
         label: 'TextEditor'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4813
         name: 'TextEditor'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4814
         min: (Point 10 10)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4815
         bounds: (Rectangle 0 0 650 300)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4816
       )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4817
       component: 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4818
      (SpecCollection
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4819
         collection: (
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4820
          (VariableHorizontalPanelSpec
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4821
             name: 'Panel'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4822
             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4823
             showHandle: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4824
             snapMode: max
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4825
             component: 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4826
            (SpecCollection
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4827
               collection: (
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4828
                (ViewSpec
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4829
                   name: 'EditorBox'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4830
                   component: 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4831
                  (SpecCollection
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4832
                     collection: (
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4833
                      (MenuPanelSpec
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4834
                         name: 'MenuTextEditor'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4835
                         layout: (LayoutFrame 0 0.0 0 0 0 1.0 30 0)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4836
                         level: 1
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4837
                         menu: menu
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4838
                         textDefault: true
9949
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  4839
                       )
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4840
                      (ViewSpec
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4841
                         name: 'EditorOperationsToolBar'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4842
                         layout: (LayoutFrame 0 0 30 0 0 1 60 0)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4843
                         level: 0
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4844
                         visibilityChannel: editorOperationsToolBarVisibleHolder
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4845
                         component: 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4846
                        (SpecCollection
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4847
                           collection: (
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4848
                            (ActionButtonSpec
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4849
                               label: 'hideToolBarIcon'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4850
                               name: 'HideEditorOperationsToolBarButton'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4851
                               layout: (LayoutFrame 0 0 0 0 13 0 0 1)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4852
                               activeHelpKey: hideEditorOperationsToolBar
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4853
                               level: 1
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4854
                               hasCharacterOrientedLabel: false
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4855
                               translateLabel: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4856
                               model: hideEditorOperationsToolBar
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4857
                               postBuildCallback: hideEditorOperationsToolBarButtonCreated:
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4858
                             )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4859
                            (MenuPanelSpec
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4860
                               name: 'EditorOperationsToolBarMenu'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4861
                               layout: (LayoutFrame 13 0 0 0 0 1 30 0)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4862
                               level: 1
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4863
                               menu: editorOperationsMenuSpecHolder
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4864
                               textDefault: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4865
                             )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4866
                            )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4867
                          
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4868
                         )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4869
                       )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4870
                      (TextEditorSpec
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4871
                         name: 'TextEditor'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4872
                         layout: (LayoutFrame 0 0.0 59 0 0 1.0 0 1.0)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4873
                         model: fileContentsModel
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4874
                         hasHorizontalScrollBar: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4875
                         hasVerticalScrollBar: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4876
                         modifiedChannel: viewModifiedChannel
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4877
                         acceptCallBack: accept
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4878
                         allowDoIt: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4879
                         hasKeyboardFocusInitially: false
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4880
                         postBuildCallback: postBuildTextEditor:
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4881
                         viewClassName: 'getEditorClass'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4882
                       )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4883
                      (ActionButtonSpec
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4884
                         label: '...'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4885
                         name: 'Button1'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4886
                         layout: (LayoutFrame -56 1 5 0 -36 1 27 0)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4887
                         activeHelpKey: showEditOperationsToolBar
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4888
                         visibilityChannel: editorOperationsToolBarNotVisibleHolder
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4889
                         translateLabel: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4890
                         model: showEditorOperationsToolBar
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4891
                       )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4892
                      )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4893
                    
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4894
                   )
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  4895
                 )
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4896
                )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4897
              
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4898
             )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4899
             handles: (Any 1.0)
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4900
           )
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4901
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4902
        
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4903
       )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  4904
     )
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4905
!
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4906
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4907
xwindowSpec
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4908
    "This resource specification was automatically generated
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4909
     by the UIPainter of ST/X."
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4910
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4911
    "Do not manually edit this!! If it is corrupted,
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4912
     the UIPainter may not be able to read the specification."
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4913
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4914
    "
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4915
     UIPainter new openOnClass:FileApplicationNoteBook::TextEditor andSelector:#windowSpec
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4916
     FileApplicationNoteBook::TextEditor new openInterface:#windowSpec
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4917
     FileApplicationNoteBook::TextEditor open
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4918
    "
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4919
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4920
    <resource: #canvas>
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4921
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  4922
    ^ 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4923
     #(#FullSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4924
        #name: #windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4925
        #window: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  4926
       #(#WindowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4927
          #label: 'TextEditor'
321c1729db5b initial checkin
penk
parents:
diff changeset
  4928
          #name: 'TextEditor'
321c1729db5b initial checkin
penk
parents:
diff changeset
  4929
          #min: #(#Point 10 10)
321c1729db5b initial checkin
penk
parents:
diff changeset
  4930
          #max: #(#Point 1024 768)
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  4931
          #bounds: #(#Rectangle 16 42 666 342)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4932
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4933
        #component: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  4934
       #(#SpecCollection
321c1729db5b initial checkin
penk
parents:
diff changeset
  4935
          #collection: #(
321c1729db5b initial checkin
penk
parents:
diff changeset
  4936
           #(#MenuPanelSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4937
              #name: 'MenuTextEditor'
321c1729db5b initial checkin
penk
parents:
diff changeset
  4938
              #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  4939
              #level: 0
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4940
              #menu: #menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  4941
              #textDefault: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  4942
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4943
           #(#TextEditorSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  4944
              #name: 'TextEditor'
321c1729db5b initial checkin
penk
parents:
diff changeset
  4945
              #layout: #(#LayoutFrame 0 0.0 32 0 0 1.0 0 1.0)
321c1729db5b initial checkin
penk
parents:
diff changeset
  4946
              #model: #fileContentsModel
321c1729db5b initial checkin
penk
parents:
diff changeset
  4947
              #hasHorizontalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  4948
              #hasVerticalScrollBar: true
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  4949
              #modifiedChannel: #viewModifiedChannel
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4950
              #acceptCallBack: #accept
3950
b16ce71ea664 allowDoIt
Claus Gittinger <cg@exept.de>
parents: 3948
diff changeset
  4951
              #allowDoIt: true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4952
              #postBuildCallback: #postBuildTextEditor:
321c1729db5b initial checkin
penk
parents:
diff changeset
  4953
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4954
           )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4955
         
321c1729db5b initial checkin
penk
parents:
diff changeset
  4956
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4957
      )
321c1729db5b initial checkin
penk
parents:
diff changeset
  4958
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  4959
321c1729db5b initial checkin
penk
parents:
diff changeset
  4960
!FileApplicationNoteBook::TextEditor class methodsFor:'menu specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  4961
321c1729db5b initial checkin
penk
parents:
diff changeset
  4962
menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  4963
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  4964
     by the MenuEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4965
321c1729db5b initial checkin
penk
parents:
diff changeset
  4966
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  4967
     the MenuEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  4968
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4969
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  4970
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  4971
     MenuEditor new openOnClass:FileApplicationNoteBook::TextEditor andSelector:#menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  4972
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::TextEditor menu)) startUp
321c1729db5b initial checkin
penk
parents:
diff changeset
  4973
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  4974
321c1729db5b initial checkin
penk
parents:
diff changeset
  4975
    <resource: #menu>
321c1729db5b initial checkin
penk
parents:
diff changeset
  4976
321c1729db5b initial checkin
penk
parents:
diff changeset
  4977
    ^ 
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  4978
     #(Menu
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  4979
        (
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  4980
         (MenuItem
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  4981
            activeHelpKey: saveFile
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  4982
            enabled: enableSave
5429
2567fdcf2d8b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5428
diff changeset
  4983
            label: 'Save'
2567fdcf2d8b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5428
diff changeset
  4984
            itemValue: accept
2567fdcf2d8b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5428
diff changeset
  4985
            nameKey: Save
2567fdcf2d8b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5428
diff changeset
  4986
            isButton: true
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4987
            isVisible: saveButtonVisible
6117
14c3f5a404b2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6106
diff changeset
  4988
            labelImage: (ResourceRetriever ToolbarIconLibrary saveTextToFileIcon)
5429
2567fdcf2d8b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5428
diff changeset
  4989
          )
2567fdcf2d8b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5428
diff changeset
  4990
         (MenuItem
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  4991
            activeHelpKey: saveFileAs
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  4992
            enabled: enableSaveAs
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  4993
            label: 'Save As...'
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  4994
            itemValue: saveFileAs
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  4995
            nameKey: SaveAs
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  4996
            isButton: true
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  4997
            isVisible: saveAsButtonVisible
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  4998
            labelImage: (ResourceRetriever ToolbarIconLibrary saveToFileAsIcon)
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  4999
          )
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5000
         (MenuItem
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5001
            activeHelpKey: reloadFile
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5002
            enabled: enableReload
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5003
            label: 'Reload'
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5004
            itemValue: reload
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5005
            nameKey: Reload
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5006
            isButton: true
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  5007
            isVisible: reloadButtonVisible
6117
14c3f5a404b2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6106
diff changeset
  5008
            labelImage: (ResourceRetriever ToolbarIconLibrary reloadTextFromFileIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5009
          )
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5010
         (MenuItem
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5011
            activeHelpKey: findInBrowser
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5012
            enabled: enableSelectInBrowser
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5013
            label: 'Select in Browser'
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5014
            itemValue: selectInBrowser
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5015
            nameKey: SelectInBrowser
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5016
            isButton: true
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  5017
            isVisible: selectInBrowserButtonVisible
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5018
            labelImage: (ResourceRetriever ToolbarIconLibrary searchFileIcon)
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5019
          )
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5020
         (MenuItem
6681
b93c9a6b607d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6626
diff changeset
  5021
            label: '-'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5022
          )
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5023
         (MenuItem
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5024
            activeHelpKey: print
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5025
            enabled: enableHexToggle
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5026
            label: 'Print'
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5027
            itemValue: doPrint
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5028
            nameKey: Print
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5029
            isButton: true
6117
14c3f5a404b2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6106
diff changeset
  5030
            labelImage: (ResourceRetriever ToolbarIconLibrary printerIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5031
          )
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5032
         (MenuItem
6681
b93c9a6b607d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6626
diff changeset
  5033
            label: '-'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5034
          )
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5035
         (MenuItem
15815
480bea0caf0c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15668
diff changeset
  5036
            activeHelpKey: showDifferences
480bea0caf0c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15668
diff changeset
  5037
            label: 'Diff to Current'
480bea0caf0c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15668
diff changeset
  5038
            itemValue: openDiffView
480bea0caf0c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15668
diff changeset
  5039
            isButton: true
480bea0caf0c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15668
diff changeset
  5040
            isVisible: diffTextButtonVisible
480bea0caf0c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15668
diff changeset
  5041
            labelImage: (ResourceRetriever ToolbarIconLibrary diffIcon)
480bea0caf0c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15668
diff changeset
  5042
          )
480bea0caf0c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15668
diff changeset
  5043
         (MenuItem
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5044
            activeHelpKey: toggleHexDisplay
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5045
            enabled: enableHexToggle
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5046
            label: 'Hex'
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5047
            isButton: true
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5048
            indication: printAsHexDump
6096
ad7437953ee4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6093
diff changeset
  5049
            labelImage: (ResourceRetriever ToolbarIconLibrary hexToggleIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5050
          )
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5051
         (MenuItem
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5052
            label: ''
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5053
            isVisible: diffTextButtonVisible
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  5054
          )
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5055
         (MenuItem
6681
b93c9a6b607d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6626
diff changeset
  5056
            activeHelpKey: closeTabButton
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5057
            label: 'Close'
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5058
            itemValue: doClose
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5059
            isButton: true
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5060
            startGroup: right
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  5061
            isVisible: closeButtonShown
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5062
            hideMenuOnActivated: false
6093
cab3a82eaa34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6091
diff changeset
  5063
            labelImage: (ResourceRetriever ToolbarIconLibrary removeTabIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5064
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  5065
         )
321c1729db5b initial checkin
penk
parents:
diff changeset
  5066
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  5067
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  5068
      )
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5069
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5070
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5071
menuEditorOperationsForHTML
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5072
    "This resource specification was automatically generated
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5073
     by the MenuEditor of ST/X."
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5074
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5075
    "Do not manually edit this!! If it is corrupted,
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5076
     the MenuEditor may not be able to read the specification."
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5077
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5078
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5079
    "
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5080
     MenuEditor new openOnClass:FileApplicationNoteBook::TextEditor andSelector:#menuEditorOperationsForHTML
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5081
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::TextEditor menuEditorOperationsForHTML)) startUp
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5082
    "
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5083
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5084
    <resource: #menu>
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5085
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5086
    ^ 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5087
     #(Menu
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5088
        (
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5089
         (MenuItem
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5090
            activeHelpKey: toggleBold
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5091
            label: 'bold'
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5092
            itemValue: editOperationToggleBoldHTML
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5093
            labelImage: (ResourceRetriever ToolbarIconLibrary #'edit_bold_15x15')
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5094
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5095
         (MenuItem
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5096
            activeHelpKey: toggleItalic
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5097
            enabled: canEdit
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5098
            label: 'italic'
14808
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5099
            itemValue: editOperationToggleItalicHTML
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5100
            isButton: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5101
            labelImage: (ResourceRetriever ToolbarIconLibrary #'edit_italic_15x15')
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5102
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5103
         (MenuItem
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5104
            activeHelpKey: toggleCode
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5105
            enabled: canEdit
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5106
            label: 'code'
14808
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5107
            itemValue: editOperationToggleCodeHTML
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5108
            isButton: true
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5109
            labelImage: (ResourceRetriever ToolbarIconLibrary #'edit_code_15x15')
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5110
          )
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5111
         (MenuItem
14808
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5112
            activeHelpKey: toggleEscape
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5113
            enabled: canEdit
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5114
            label: 'escape'
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5115
            itemValue: editOperationEscapeSpecialCharactersHTML
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5116
            isButton: true
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5117
            labelImage: (ResourceRetriever ToolbarIconLibrary #'edit_escapeHTMLCharacters')
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5118
          )
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5119
         (MenuItem
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5120
            activeHelpKey: addAnchor
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5121
            enabled: canEdit
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5122
            label: 'anchor'
14808
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5123
            itemValue: editOperationAddAnchorHTML
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5124
            isButton: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5125
            labelImage: (ResourceRetriever ToolbarIconLibrary #'edit_anchor15x15')
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5126
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5127
         (MenuItem
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5128
            activeHelpKey: addImage
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5129
            enabled: canEdit
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5130
            label: 'image'
14808
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5131
            itemValue: editOperationAddImageHTML
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5132
            isButton: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5133
            labelImage: (ResourceRetriever ToolbarIconLibrary #'edit_image_15x15')
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5134
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5135
         )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5136
        nil
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5137
        nil
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5138
      )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5139
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5140
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5141
menuEditorOperationsForNormalText
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5142
    "This resource specification was automatically generated
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5143
     by the MenuEditor of ST/X."
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5144
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5145
    "Do not manually edit this!! If it is corrupted,
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5146
     the MenuEditor may not be able to read the specification."
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5147
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5148
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5149
    "
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5150
     MenuEditor new openOnClass:FileApplicationNoteBook::TextEditor andSelector:#menuEditorOperationsForNormalText
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5151
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::TextEditor menuEditorOperationsForNormalText)) startUp
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5152
    "
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5153
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5154
    <resource: #menu>
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5155
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5156
    ^ 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5157
     #(Menu
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5158
        (
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5159
         (MenuItem
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5160
            activeHelpKey: undentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5161
            enabled: canEdit
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5162
            label: 'Undent'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5163
            itemValue: editOperationUndentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5164
            isButton: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5165
            startGroup: right
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5166
            labelImage: (ResourceRetriever ToolbarIconLibrary undent16x16Icon)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5167
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5168
         (MenuItem
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5169
            activeHelpKey: indentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5170
            enabled: canEdit
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5171
            label: 'Indent'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5172
            itemValue: editOperationIndentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5173
            isButton: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5174
            startGroup: right
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5175
            labelImage: (ResourceRetriever ToolbarIconLibrary indent16x16Icon)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5176
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5177
         )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5178
        nil
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5179
        nil
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5180
      )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5181
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5182
    "Modified: / 02-08-2013 / 18:21:42 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5183
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5184
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5185
menuEditorOperationsForOther
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5186
    "This resource specification was automatically generated
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5187
     by the MenuEditor of ST/X."
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5188
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5189
    "Do not manually edit this!! If it is corrupted,
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5190
     the MenuEditor may not be able to read the specification."
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5191
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5192
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5193
    "
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5194
     MenuEditor new openOnClass:FileApplicationNoteBook::TextEditor andSelector:#menuEditorOperationsForNormalText
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5195
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::TextEditor menuEditorOperationsForNormalText)) startUp
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5196
    "
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5197
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5198
    <resource: #menu>
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5199
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5200
    ^ 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5201
     #(Menu
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5202
        (
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5203
         (MenuItem
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5204
            activeHelpKey: undentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5205
            enabled: canEdit
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5206
            label: 'Undent'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5207
            itemValue: editOperationUndentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5208
            isButton: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5209
            startGroup: right
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5210
            labelImage: (ResourceRetriever ToolbarIconLibrary undent16x16Icon)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5211
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5212
         (MenuItem
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5213
            activeHelpKey: indentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5214
            enabled: canEdit
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5215
            label: 'Indent'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5216
            itemValue: editOperationIndentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5217
            isButton: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5218
            startGroup: right
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5219
            labelImage: (ResourceRetriever ToolbarIconLibrary indent16x16Icon)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5220
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5221
         )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5222
        nil
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5223
        nil
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5224
      )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5225
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5226
    "Created: / 02-08-2013 / 17:09:31 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5227
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5228
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5229
menuEditorOperationsForSourceCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5230
    "This resource specification was automatically generated
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5231
     by the MenuEditor of ST/X."
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5232
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5233
    "Do not manually edit this!! If it is corrupted,
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5234
     the MenuEditor may not be able to read the specification."
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5235
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5236
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5237
    "
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5238
     MenuEditor new openOnClass:FileApplicationNoteBook::TextEditor andSelector:#menuEditorOperationsForSourceCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5239
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::TextEditor menuEditorOperationsForSourceCode)) startUp
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5240
    "
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5241
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5242
    <resource: #menu>
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5243
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5244
    ^ 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5245
     #(Menu
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5246
        (
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5247
         (MenuItem
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5248
            activeHelpKey: #'help_doIt'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5249
            label: 'DoIt'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5250
            itemValue: doIt
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5251
            isButton: true
13729
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  5252
            isVisible: doItMenuButtonVisible
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5253
            labelImage: (ResourceRetriever ToolbarIconLibrary doItIcon)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5254
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5255
         (MenuItem
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5256
            activeHelpKey: #'help_printIt'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5257
            label: 'PrintIt'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5258
            itemValue: printIt
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5259
            isButton: true
13729
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  5260
            isVisible: printItMenuButtonVisible
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5261
            labelImage: (ResourceRetriever ToolbarIconLibrary printItIcon)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5262
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5263
         (MenuItem
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5264
            activeHelpKey: #'help_inspectIt'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5265
            label: 'InspectIt'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5266
            itemValue: inspectIt
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5267
            isButton: true
13729
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  5268
            isVisible: inspectItMenuButtonVisible
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5269
            labelImage: (ResourceRetriever ToolbarIconLibrary inspectItIcon)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5270
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5271
         (MenuItem
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5272
            activeHelpKey: undentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5273
            enabled: canEdit
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5274
            label: 'Undent'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5275
            itemValue: editOperationUndentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5276
            isButton: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5277
            startGroup: right
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5278
            labelImage: (ResourceRetriever ToolbarIconLibrary undent16x16Icon)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5279
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5280
         (MenuItem
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5281
            activeHelpKey: indentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5282
            enabled: canEdit
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5283
            label: 'Indent'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5284
            itemValue: editOperationIndentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5285
            isButton: true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5286
            startGroup: right
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5287
            labelImage: (ResourceRetriever ToolbarIconLibrary indent16x16Icon)
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5288
          )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5289
         )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5290
        nil
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5291
        nil
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5292
      )
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5293
13729
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  5294
    "Modified: / 17-12-2013 / 16:37:59 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5295
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  5296
321c1729db5b initial checkin
penk
parents:
diff changeset
  5297
!FileApplicationNoteBook::TextEditor methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  5298
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5299
fileEncoding
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5300
    ^ self fileEncodingHolder value
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5301
!
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5302
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5303
fileEncoding:newEncoding
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5304
    self fileEncodingHolder value:newEncoding.
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5305
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5306
    editView notNil ifTrue:[
5705
e7559e531af5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5693
diff changeset
  5307
        self enableReload value:true.
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5308
        editView externalEncoding:newEncoding.
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5309
    ].
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5310
!
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5311
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5312
item:aDirContentsItem
321c1729db5b initial checkin
penk
parents:
diff changeset
  5313
4977
621cc3cb454d checkModify have to reset the mofication time for the file after file change in TextEditor
penk
parents: 4971
diff changeset
  5314
    self releaseCheckModify.
4620
59601a37cc0b hexDump from tools menu implemented
penk
parents: 4616
diff changeset
  5315
    (self item = aDirContentsItem and:[(self presentation == #hexDump) == self printAsHexDump value]) ifTrue:[^ true].
7947
32baaebb4943 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7910
diff changeset
  5316
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5317
    self askForChangeWithReload:false "true".
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5318
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5319
    super item:aDirContentsItem.
4698
14a71be57ecf dont load twice on startup TextEditor
penk
parents: 4677
diff changeset
  5320
    self printAsHexDump value:(self presentation == #hexDump) withoutNotifying:self.
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  5321
    self updateTagsBrowser.
4201
be512c7e5ea8 save all aspects in Userpreferences now
penk
parents: 4188
diff changeset
  5322
    self setContents ifFalse:[ ^ false].
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5323
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5324
    self setUpTextView.
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5325
4977
621cc3cb454d checkModify have to reset the mofication time for the file after file change in TextEditor
penk
parents: 4971
diff changeset
  5326
    textEditorModificationTime := self fileName modificationTime.
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5327
    self releaseCheckModify.
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  5328
    self setupCheckModify.
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5329
    self changeInformation.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5330
    ^ true
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  5331
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  5332
    "Modified: / 23-06-2011 / 16:45:13 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5333
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  5334
5737
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  5335
lockFileEncoding:aBoolean
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  5336
    self lockFileEncodingHolder value:aBoolean.
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  5337
!
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  5338
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5339
presentation
321c1729db5b initial checkin
penk
parents:
diff changeset
  5340
    "return the value of the instance variable 'presentation' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  5341
321c1729db5b initial checkin
penk
parents:
diff changeset
  5342
    presentation isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  5343
        presentation := #asText.
321c1729db5b initial checkin
penk
parents:
diff changeset
  5344
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  5345
    ^ presentation
321c1729db5b initial checkin
penk
parents:
diff changeset
  5346
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  5347
321c1729db5b initial checkin
penk
parents:
diff changeset
  5348
presentation:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  5349
    "set the value of the instance variable 'presentation' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  5350
321c1729db5b initial checkin
penk
parents:
diff changeset
  5351
    presentation := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  5352
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  5353
321c1729db5b initial checkin
penk
parents:
diff changeset
  5354
semaChangeItem
321c1729db5b initial checkin
penk
parents:
diff changeset
  5355
    ^ semaChangeItem
5459
d90defc58d51 window label and tab string changed
penk
parents: 5458
diff changeset
  5356
!
d90defc58d51 window label and tab string changed
penk
parents: 5458
diff changeset
  5357
d90defc58d51 window label and tab string changed
penk
parents: 5458
diff changeset
  5358
type:aType
d90defc58d51 window label and tab string changed
penk
parents: 5458
diff changeset
  5359
d90defc58d51 window label and tab string changed
penk
parents: 5458
diff changeset
  5360
    super type:aType.
d90defc58d51 window label and tab string changed
penk
parents: 5458
diff changeset
  5361
    self changeInformation.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5362
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  5363
321c1729db5b initial checkin
penk
parents:
diff changeset
  5364
!FileApplicationNoteBook::TextEditor methodsFor:'actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  5365
321c1729db5b initial checkin
penk
parents:
diff changeset
  5366
accept
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5367
    self saveWithAskForFilename:false.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5368
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  5369
5198
ea3f838e1353 do not attempt to reload when closing
Claus Gittinger <cg@exept.de>
parents: 5197
diff changeset
  5370
askForChangeWithReload:doReload
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5371
    "ask for save changes; 
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5372
     if modified and answered true, the current contents is written back (accepted)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5373
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  5374
5578
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5375
    self askForChangeWithReload:doReload forClose:false
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5376
!
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5377
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5378
askForChangeWithReload:doReload forClose:forClose
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5379
    "ask for save changes; 
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5380
     if modified and answered true, the current contents is written back (accepted)
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5381
    "
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5382
5471
ad6c1fc272de care for no-filename-editors
Claus Gittinger <cg@exept.de>
parents: 5461
diff changeset
  5383
    |fn answer string arg|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5384
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5385
    self modifiedChannel value ifFalse:[ ^ false].
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5386
5471
ad6c1fc272de care for no-filename-editors
Claus Gittinger <cg@exept.de>
parents: 5461
diff changeset
  5387
    fn := self fileName.
ad6c1fc272de care for no-filename-editors
Claus Gittinger <cg@exept.de>
parents: 5461
diff changeset
  5388
    fn isNil ifTrue:[
ad6c1fc272de care for no-filename-editors
Claus Gittinger <cg@exept.de>
parents: 5461
diff changeset
  5389
        fn := 'unknown'
ad6c1fc272de care for no-filename-editors
Claus Gittinger <cg@exept.de>
parents: 5461
diff changeset
  5390
    ] ifFalse:[
ad6c1fc272de care for no-filename-editors
Claus Gittinger <cg@exept.de>
parents: 5461
diff changeset
  5391
        fn := fn baseName.
ad6c1fc272de care for no-filename-editors
Claus Gittinger <cg@exept.de>
parents: 5461
diff changeset
  5392
    ].
ad6c1fc272de care for no-filename-editors
Claus Gittinger <cg@exept.de>
parents: 5461
diff changeset
  5393
    arg := fn allBold.
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5394
5578
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5395
    string := 'Save changed file "%1" ?'.
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5396
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5397
    forClose ifTrue:[
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5398
        self itemChanged value ifTrue:[
9568
24784f4fcafd info message
Claus Gittinger <cg@exept.de>
parents: 9459
diff changeset
  5399
            string := 'Modified %1 was changed by someone else.\\Save your changes (overwrite someone''s changes) ?' 
5578
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5400
        ] ifFalse:[
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5401
            self itemRemoved value ifTrue:[
6376
2d3996297468 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6336
diff changeset
  5402
                string := 'Modified %1 was removed by someone else.\\Save your changes (recreate the removed file) ?' 
5578
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5403
            ]
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5404
        ].
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5405
    ] ifFalse:[
5578
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5406
        self itemChanged value ifTrue:[
9568
24784f4fcafd info message
Claus Gittinger <cg@exept.de>
parents: 9459
diff changeset
  5407
            string := '%1 was changed by someone else.\\Save your changes anyway (overwrite someon''es changes) ?' 
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5408
        ] ifFalse:[
5578
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5409
            self itemRemoved value ifTrue:[
6376
2d3996297468 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6336
diff changeset
  5410
                string := '%1 was removed by someone else.\\Save your changes anyway (recreate the removed file) ?' 
5578
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5411
            ]
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5412
        ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5413
    ].
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5414
5199
f8f257045045 added showDiffs option to askForChange
Claus Gittinger <cg@exept.de>
parents: 5198
diff changeset
  5415
    answer := OptionBox 
6376
2d3996297468 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6336
diff changeset
  5416
                request:(resources stringWithCRs:string with:arg) 
5199
f8f257045045 added showDiffs option to askForChange
Claus Gittinger <cg@exept.de>
parents: 5198
diff changeset
  5417
                buttonLabels:(resources array:#('Cancel' 'Show Diffs' 'No' 'Yes')) 
f8f257045045 added showDiffs option to askForChange
Claus Gittinger <cg@exept.de>
parents: 5198
diff changeset
  5418
                values:#(nil showDiffs false true) 
f8f257045045 added showDiffs option to askForChange
Claus Gittinger <cg@exept.de>
parents: 5198
diff changeset
  5419
                default:nil.
f8f257045045 added showDiffs option to askForChange
Claus Gittinger <cg@exept.de>
parents: 5198
diff changeset
  5420
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5421
    answer isNil ifTrue:[^ AbortOperationRequest raise ].
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5422
5199
f8f257045045 added showDiffs option to askForChange
Claus Gittinger <cg@exept.de>
parents: 5198
diff changeset
  5423
    answer == #showDiffs ifTrue:[
5201
979c36ed9a22 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5199
diff changeset
  5424
        self openDiffView.
5199
f8f257045045 added showDiffs option to askForChange
Claus Gittinger <cg@exept.de>
parents: 5198
diff changeset
  5425
        AbortOperationRequest raise
f8f257045045 added showDiffs option to askForChange
Claus Gittinger <cg@exept.de>
parents: 5198
diff changeset
  5426
    ].
f8f257045045 added showDiffs option to askForChange
Claus Gittinger <cg@exept.de>
parents: 5198
diff changeset
  5427
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5428
    answer ifTrue:[
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5429
        self accept
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  5430
    ] ifFalse:[
5198
ea3f838e1353 do not attempt to reload when closing
Claus Gittinger <cg@exept.de>
parents: 5197
diff changeset
  5431
        doReload ifTrue:[
ea3f838e1353 do not attempt to reload when closing
Claus Gittinger <cg@exept.de>
parents: 5197
diff changeset
  5432
            self setContents.
ea3f838e1353 do not attempt to reload when closing
Claus Gittinger <cg@exept.de>
parents: 5197
diff changeset
  5433
        ]
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5434
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  5435
    ^ answer
9568
24784f4fcafd info message
Claus Gittinger <cg@exept.de>
parents: 9459
diff changeset
  5436
24784f4fcafd info message
Claus Gittinger <cg@exept.de>
parents: 9459
diff changeset
  5437
    "Modified: / 11-09-2010 / 13:07:37 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5438
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  5439
321c1729db5b initial checkin
penk
parents:
diff changeset
  5440
changeInformation 
321c1729db5b initial checkin
penk
parents:
diff changeset
  5441
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  5442
    |string win|
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  5443
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  5444
    string := self getTabString.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5445
    masterApplication isNil ifTrue:[
4621
d033f85c8cc3 hexDump from tools menu implemented
penk
parents: 4620
diff changeset
  5446
        win := self window.
d033f85c8cc3 hexDump from tools menu implemented
penk
parents: 4620
diff changeset
  5447
        win notNil ifTrue:[
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  5448
            self window label:string asString string.
4621
d033f85c8cc3 hexDump from tools menu implemented
penk
parents: 4620
diff changeset
  5449
        ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5450
    ] ifFalse:[
14799
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  5451
        masterApplication tabStringChangeTo:string for:self.
9931a2248312 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14660
diff changeset
  5452
    ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5453
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  5454
4161
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  5455
changeInformationForModified:aSymbol 
4045
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
  5456
    masterApplication isNil ifTrue:[ ^ self].
4161
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  5457
    masterApplication changeModified:aSymbol for:self.
4045
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
  5458
!
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
  5459
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5460
doClose
321c1729db5b initial checkin
penk
parents:
diff changeset
  5461
5578
068f032a49ee dialog box string
Claus Gittinger <cg@exept.de>
parents: 5574
diff changeset
  5462
    self askForChangeWithReload:false forClose:true.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5463
    self masterApplication notNil ifTrue:[
3954
78e29a3ea4c1 next stage
penk
parents: 3951
diff changeset
  5464
        ^ super doClose
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5465
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  5466
    ^ true
321c1729db5b initial checkin
penk
parents:
diff changeset
  5467
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  5468
321c1729db5b initial checkin
penk
parents:
diff changeset
  5469
doPrint
321c1729db5b initial checkin
penk
parents:
diff changeset
  5470
    "print the contents
321c1729db5b initial checkin
penk
parents:
diff changeset
  5471
    "
4473
a0ab7a61208e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4462
diff changeset
  5472
    (Dialog confirm:'Print contents of editView ?') ifTrue:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5473
        editView doPrint.
321c1729db5b initial checkin
penk
parents:
diff changeset
  5474
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  5475
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  5476
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5477
doSaveAs
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5478
    self saveWithAskForFilename:true.
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5479
!
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5480
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5481
editOperationAddAnchorHTML
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5482
    |sel new|
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5483
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5484
    sel := editView selectionAsString.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5485
    sel isNil ifTrue:[^ self].
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5486
16000
4a219c3dd718 #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 15935
diff changeset
  5487
    new := '<A HREF="http://www.exept.de">',editView selectionAsString,'</A>'.
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5488
    editView 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5489
        undoableDo:[
13298
0e2817ce7e77 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13295
diff changeset
  5490
            editView replaceSelectionBy:new keepCursor:false select:true
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5491
        ]
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5492
        info:'Add Anchor'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5493
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5494
    "Created: / 02-08-2013 / 18:16:44 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5495
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5496
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5497
editOperationAddImageHTML
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5498
    |new|
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5499
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5500
    new := '<IMG NOPRINT ALIGN="middle" SRC="xxx.png">'.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5501
    editView 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5502
        undoableDo:[
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5503
            editView insertStringAtCursor:new
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5504
        ]
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5505
        info:'Add Image'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5506
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5507
    "Created: / 02-08-2013 / 18:17:26 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5508
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5509
14808
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5510
editOperationEscapeSpecialCharactersHTML
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5511
    |sel escaped|
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5512
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5513
    sel := editView selectionAsString.
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5514
    sel isNil ifTrue:[^ self].
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5515
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5516
    escaped := HTMLUtilities withSpecialHTMLCharactersEscaped:sel.    
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5517
    editView 
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5518
        undoableDo:[
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5519
            editView replaceSelectionBy:escaped keepCursor:false select:true
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5520
        ]
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5521
        info:'Escape HTML characters'
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5522
!
e36c7a43aee4 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14802
diff changeset
  5523
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5524
editOperationIndentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5525
    editView indentBy4
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5526
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5527
    "Created: / 02-08-2013 / 18:20:18 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5528
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5529
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5530
editOperationToggleBoldHTML
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5531
    self editOperationToggleHTML:'Toggle Bold' start:'<b>' end:'</b>'
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5532
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5533
    "Created: / 02-08-2013 / 18:04:27 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5534
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5535
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5536
editOperationToggleCodeHTML
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5537
    self editOperationToggleHTML:'Toggle Code' start:'<code><pre>' end:'</pre></code>'
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5538
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5539
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5540
editOperationToggleHTML:info start:whatStart end:whatEnd
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5541
    |sel new|
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5542
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5543
    sel := editView selectionAsString.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5544
    sel isNil ifTrue:[^ self].
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5545
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5546
    (sel asLowercase startsWith:whatStart) ifTrue:[
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5547
        new := sel copyFrom: whatStart size+1.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5548
        (new asLowercase endsWith:whatEnd) ifTrue:[
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5549
            new := new copyButLast:whatEnd size.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5550
        ]
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5551
    ] ifFalse:[
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5552
        new := whatStart,editView selectionAsString,whatEnd
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5553
    ].
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5554
    editView 
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5555
        undoableDo:[
13298
0e2817ce7e77 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13295
diff changeset
  5556
            editView replaceSelectionBy:new keepCursor:false select:true
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5557
        ]
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5558
        info:info
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5559
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5560
    "Created: / 02-08-2013 / 18:14:25 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5561
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5562
13377
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5563
editOperationToggleItalicHTML
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5564
    self editOperationToggleHTML:'Toggle Italic' start:'<i>' end:'</i>'
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5565
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5566
    "Created: / 02-08-2013 / 18:14:55 / cg"
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5567
!
2f8afe7d9426 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13298
diff changeset
  5568
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5569
editOperationUndentCode
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5570
    editView undentBy4
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5571
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5572
    "Created: / 02-08-2013 / 18:22:47 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5573
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5574
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  5575
getContents
12346
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5576
    |file fileSize contents presentation alreadyConfirmed answer sizeLimit showLastPart
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5577
     dontAskAgainHolder|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5578
321c1729db5b initial checkin
penk
parents:
diff changeset
  5579
    file := self fileName.
5831
6db521464804 care for no-selection when toggling hex-mode
Claus Gittinger <cg@exept.de>
parents: 5784
diff changeset
  5580
    file isNil ifTrue:[
6db521464804 care for no-selection when toggling hex-mode
Claus Gittinger <cg@exept.de>
parents: 5784
diff changeset
  5581
        ^ nil
6db521464804 care for no-selection when toggling hex-mode
Claus Gittinger <cg@exept.de>
parents: 5784
diff changeset
  5582
    ].
7487
d1b696d27ff9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7467
diff changeset
  5583
    fileSize := file fileSize.
d1b696d27ff9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7467
diff changeset
  5584
    fileSize isNil ifTrue:[
d1b696d27ff9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7467
diff changeset
  5585
        ^ nil
d1b696d27ff9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7467
diff changeset
  5586
    ].
5831
6db521464804 care for no-selection when toggling hex-mode
Claus Gittinger <cg@exept.de>
parents: 5784
diff changeset
  5587
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5588
    self enableSelectInBrowser value:true.
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5589
6295
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5590
    presentation := self presentation.
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5591
    presentation == #asText ifTrue:[
12346
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5592
        fileSize > (MaxFileSizeLoadedWithoutAsking ? (8 * 1024 * 1024)) ifTrue:[
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5593
            dontAskAgainHolder := false asValue.    
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5594
            answer := Dialog
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5595
                        confirmWithCancel:(resources
8471
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5596
                                    stringWithCRs:'%1 is very large (%2).\\Show all or only the first 8 Mb ?' 
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5597
                                    with:file baseName allBold 
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5598
                                    with:(UnitConverter fileSizeStringFor:fileSize))
12346
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5599
                        labels:(resources array:#('Cancel' 'Show All' 'Show Last Part' 'Show First Part' )) 
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5600
                        values:#(#abort #all #last #first) 
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5601
                        default:#abort 
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5602
                        check:(resources string:'Don''t ask again up to this size') on:dontAskAgainHolder 
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5603
                        title:(resources string:'Large File').
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5604
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5605
            answer == #all ifTrue:[
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5606
                dontAskAgainHolder value ifTrue:[
12348
bf878489e196 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12346
diff changeset
  5607
                    MaxFileSizeLoadedWithoutAsking := fileSize + 4096
12346
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5608
                ]
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5609
            ].
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5610
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5611
"/ old
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5612
"/            answer := OptionBox  
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5613
"/                        request:(resources
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5614
"/                                    stringWithCRs:'%1 is very large (%2).\\Show all or only the first 8 Mb ?' 
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5615
"/                                    with:file baseName allBold 
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5616
"/                                    with:(UnitConverter fileSizeStringFor:fileSize))
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5617
"/                        label:(resources string:'Large File')
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5618
"/                        buttonLabels:(resources array:#('Cancel' 'Show All' 'Show Last Part' 'Show First Part' ))
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5619
"/                        values:#(#abort #all #last #first)
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5620
"/                        default:#abort.
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5621
7d832383f007 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12121
diff changeset
  5622
"/ very old
8471
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5623
"/            answer := Dialog
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5624
"/                            confirmWithCancel:(resources
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5625
"/                                                stringWithCRs:'%1 is very large (%2).\\Show all or only the first 4 Mb ?' 
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5626
"/                                                with:file baseName allBold 
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5627
"/                                                with:(UnitConverter fileSizeStringFor:fileSize))
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5628
"/                            labels:#('Cancel' 'Show All' 'Show First Part' ).
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5629
"/            answer isNil ifTrue:[^ nil].
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5630
"/            answer ifTrue:[
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5631
"/                sizeLimit := 4 * 1024 * 1024
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5632
"/            ].
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5633
            answer == #abort ifTrue:[^ nil ].
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5634
            answer ~~ #all ifTrue:[
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5635
                sizeLimit := 4 * 1024 * 1024.
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5636
                showLastPart := (answer == #last).
6295
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5637
            ].
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5638
        ].
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5639
    ].
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5640
5037
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5641
    ExternalStream readErrorSignal handle:[:ex |
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5642
        (Dialog confirm:('Read Error.\\Retry ?' withCRs))    
5019
f54a8b10ac1b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5010
diff changeset
  5643
        ifTrue:[
5037
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5644
            ^ ex restart
5019
f54a8b10ac1b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5010
diff changeset
  5645
        ].
5037
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5646
    ] do:[    
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5647
        ExternalStream lineTooLongErrorSignal handle:[ :ex |
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5648
            (alreadyConfirmed==true
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5649
            or:[ Dialog confirm:(file asString, ' contains very long line(s).\\Load anyway ?' withCRs)])    
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5650
            ifTrue:[
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5651
                alreadyConfirmed := true.
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5652
                ^ ex parameter second , ex parameter first nextLine
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5653
            ].
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5654
            ^ nil.
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5655
        ] do:[
6295
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5656
            presentation == #asText ifTrue:[
8471
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5657
                contents := self getContentsAsTextWithSizeLimit:sizeLimit lastPart:showLastPart.
5037
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5658
            ] ifFalse:[
6295
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5659
                presentation == #hexDump ifTrue:[
6833
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  5660
"/                    self withWaitCursorDo:[
8471
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5661
                        contents := AbstractFileBrowser 
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5662
                                        contentsOfFileAsHexDump:file
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5663
                                        withLimit:sizeLimit 
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5664
                                        lastPart:showLastPart.
6833
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  5665
"/                    ]
4677
549c732836f6 wait cursor
Claus Gittinger <cg@exept.de>
parents: 4645
diff changeset
  5666
                ]
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5667
            ]
5037
d40f57420be0 read error handling
Claus Gittinger <cg@exept.de>
parents: 5019
diff changeset
  5668
        ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5669
    ].
4608
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5670
    ^ contents.
6833
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  5671
7769
6cd2993fa017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7765
diff changeset
  5672
    "Modified: / 27-03-2007 / 13:41:35 / cg"
4608
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5673
!
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5674
6295
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5675
getContentsAsTextWithSizeLimit:sizeLimitOrNil
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5676
    "returns the contents as unicode"
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5677
8471
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5678
    ^ self getContentsAsTextWithSizeLimit:sizeLimitOrNil lastPart:false
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5679
!
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5680
15908
Claus Gittinger <cg@exept.de>
parents: 15821
diff changeset
  5681
getContentsAsTextWithSizeLimit:sizeLimitOrNilArg lastPart:showLastPartOrNil
8471
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5682
    "returns the contents as unicode"
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5683
15908
Claus Gittinger <cg@exept.de>
parents: 15821
diff changeset
  5684
    |text guessedEncoding s sizeLimitOrNil|
Claus Gittinger <cg@exept.de>
parents: 15821
diff changeset
  5685
Claus Gittinger <cg@exept.de>
parents: 15821
diff changeset
  5686
    sizeLimitOrNil := sizeLimitOrNilArg.
8390
f03711c97860 encoder error reporting
Claus Gittinger <cg@exept.de>
parents: 8389
diff changeset
  5687
    (self lockFileEncodingHolder value ? false) ifFalse:[
6173
4ba4589e4952 guessEncoding now implemented in CharacterEncoder
Claus Gittinger <cg@exept.de>
parents: 6120
diff changeset
  5688
        guessedEncoding := CharacterEncoder guessEncodingOfFile:item fileName asFilename.
11589
bb69ef59a32f Return symbols for encoding
Stefan Vogel <sv@exept.de>
parents: 11588
diff changeset
  5689
        guessedEncoding := guessedEncoding ? #'iso8859-1' "(self fileEncoding)".
bb69ef59a32f Return symbols for encoding
Stefan Vogel <sv@exept.de>
parents: 11588
diff changeset
  5690
        self fileEncoding:guessedEncoding asSymbol.
5737
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  5691
    ].
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5692
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5693
    editView notNil ifTrue:[
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5694
"/        self validateEditViewsFontEncoding.
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5695
        editView externalEncoding:self fileEncoding.
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5696
    ].
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5697
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5698
    s := self fileName readStream.
7594
86a9efd53284 Close file after reading
Stefan Vogel <sv@exept.de>
parents: 7582
diff changeset
  5699
    [
8471
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5700
        showLastPartOrNil == true ifTrue:[
11590
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5701
            s position:(s fileSize - sizeLimitOrNil).
15908
Claus Gittinger <cg@exept.de>
parents: 15821
diff changeset
  5702
            sizeLimitOrNil := nil.
8471
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5703
        ].
4f7900a058bd last part
Claus Gittinger <cg@exept.de>
parents: 8390
diff changeset
  5704
7594
86a9efd53284 Close file after reading
Stefan Vogel <sv@exept.de>
parents: 7582
diff changeset
  5705
        text := self 
86a9efd53284 Close file after reading
Stefan Vogel <sv@exept.de>
parents: 7582
diff changeset
  5706
                    readStream:s 
86a9efd53284 Close file after reading
Stefan Vogel <sv@exept.de>
parents: 7582
diff changeset
  5707
                    lineDelimiter:(Character cr) 
86a9efd53284 Close file after reading
Stefan Vogel <sv@exept.de>
parents: 7582
diff changeset
  5708
                    sizeLimit:sizeLimitOrNil
86a9efd53284 Close file after reading
Stefan Vogel <sv@exept.de>
parents: 7582
diff changeset
  5709
                    encoding:self fileEncoding.
86a9efd53284 Close file after reading
Stefan Vogel <sv@exept.de>
parents: 7582
diff changeset
  5710
    ] ensure:[
86a9efd53284 Close file after reading
Stefan Vogel <sv@exept.de>
parents: 7582
diff changeset
  5711
        s close.
86a9efd53284 Close file after reading
Stefan Vogel <sv@exept.de>
parents: 7582
diff changeset
  5712
    ].
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5713
    ^ text
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5714
!
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5715
4608
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5716
getHashForContents:contents
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5717
    | hashStream|
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5718
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5719
    self hasMD5 ifFalse:[^ nil].
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5720
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5721
    hashStream := MD5Stream new.
11284
ebb519afb53d handle non-string collections as contents (virtualArray)
Claus Gittinger <cg@exept.de>
parents: 11104
diff changeset
  5722
    (contents isCollection and:[ contents isString not ]) ifTrue:[
4608
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5723
        contents do:[:eachLine |
4616
e877ab5a2237 hashing for empty lines
Claus Gittinger <cg@exept.de>
parents: 4612
diff changeset
  5724
            eachLine notNil ifTrue:[
e877ab5a2237 hashing for empty lines
Claus Gittinger <cg@exept.de>
parents: 4612
diff changeset
  5725
                hashStream nextPutAll:(eachLine string withTabs).
e877ab5a2237 hashing for empty lines
Claus Gittinger <cg@exept.de>
parents: 4612
diff changeset
  5726
            ].
e877ab5a2237 hashing for empty lines
Claus Gittinger <cg@exept.de>
parents: 4612
diff changeset
  5727
            hashStream nextPut:Character cr.
4608
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5728
        ].
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5729
    ] ifFalse:[
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5730
        hashStream nextPutAll:(contents string).
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  5731
    ].
4608
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  5732
    ^ hashStream hashValue.
11284
ebb519afb53d handle non-string collections as contents (virtualArray)
Claus Gittinger <cg@exept.de>
parents: 11104
diff changeset
  5733
ebb519afb53d handle non-string collections as contents (virtualArray)
Claus Gittinger <cg@exept.de>
parents: 11104
diff changeset
  5734
    "Modified: / 27-02-2012 / 22:10:18 / cg"
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  5735
!
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  5736
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5737
hideEditorOperationsToolBar
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5738
    self editorOperationsToolBarVisibleHolder value:false
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5739
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5740
    "Created: / 02-08-2013 / 16:12:00 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5741
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5742
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  5743
openDiffView
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5744
    |fn diffView text1 l1 text2 l2|
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5745
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5746
    (fn := self fileName) notNil ifTrue:[
14124
8dfb9e38a4d6 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14065
diff changeset
  5747
        text1 := editView contentsAsString "asText".
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5748
        l1 := 'Editor'.
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5749
        text2 := self getContents.
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5750
        l2 := 'File: ' , fn baseName.
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5751
        diffView := DiffTextView openOn:text1 label:l1 and:text2 label:l2.
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5752
        diffView topView label:'File ' , fn baseName , ' vs. Editor Contents'.
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5753
    ].
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  5754
!
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  5755
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5756
readStream:aStream lineDelimiter:aCharacter encoding:fileEncodingArg 
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5757
    "read from aStream, answer its contents as StringCollection. 
14498
16ebee6b698d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14496
diff changeset
  5758
     The file's lines are delimited by aCharacter.
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5759
     If encoding is nonNil, the file is assumed to be coded according to
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5760
     that symbol, and #decodeString: should be able to convert it into unicode.
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5761
     Always returns a unicode string."
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5762
6295
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5763
    ^ self readStream:aStream lineDelimiter:aCharacter sizeLimit:nil encoding:fileEncodingArg
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5764
!
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5765
6796
23a7b7f0bd39 bug in long line handling fixed
Claus Gittinger <cg@exept.de>
parents: 6793
diff changeset
  5766
readStream:aStream lineDelimiter:lineDelimiter sizeLimit:sizeLimitOrNil encoding:fileEncodingArg 
6295
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5767
    "read from aStream, answer its contents as StringCollection. 
14498
16ebee6b698d class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14496
diff changeset
  5768
     The file's lines are delimited by aCharacter.
6295
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5769
     If encoding is nonNil, the file is assumed to be coded according to
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5770
     that symbol, and #decodeString: should be able to convert it into unicode.
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5771
     Always returns a unicode string."
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5772
8390
f03711c97860 encoder error reporting
Claus Gittinger <cg@exept.de>
parents: 8389
diff changeset
  5773
    |text fileEncoding decoder firstDecoderError line lineNr|
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5774
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5775
    fileEncoding := fileEncodingArg ? #'iso8859-1'.
5718
a16c274a18ef *** empty log message ***
ca
parents: 5717
diff changeset
  5776
    decoder := CharacterEncoder encoderFor:fileEncoding.
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5777
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5778
    text := StringCollection new.
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5779
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5780
    firstDecoderError := true.
8390
f03711c97860 encoder error reporting
Claus Gittinger <cg@exept.de>
parents: 8389
diff changeset
  5781
    lineNr := 1.
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5782
5646
123550dd90f6 handle decoder errors
Claus Gittinger <cg@exept.de>
parents: 5612
diff changeset
  5783
    DecodingError handle:[:ex | 
11590
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5784
        |msg answer labels values|
5646
123550dd90f6 handle decoder errors
Claus Gittinger <cg@exept.de>
parents: 5612
diff changeset
  5785
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5786
        firstDecoderError ifTrue:[
8390
f03711c97860 encoder error reporting
Claus Gittinger <cg@exept.de>
parents: 8389
diff changeset
  5787
            msg := resources stringWithCRs:'Error in decoder: %1\In Line: %2\\%3' with:ex errorString with:lineNr with:line.
11590
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5788
            ex mayProceed ifTrue:[
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5789
                labels := #('Cancel' 'Ignore' 'Ignore All' 'Inspect Line').
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5790
                values := #(nil ignore ignoreAll inspectLine).
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5791
            ] ifFalse:[
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5792
                labels := #('Cancel' 'Inspect Line').
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5793
                values := #(nil inspectLine).
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5794
            ].
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5795
5646
123550dd90f6 handle decoder errors
Claus Gittinger <cg@exept.de>
parents: 5612
diff changeset
  5796
            answer := Dialog 
123550dd90f6 handle decoder errors
Claus Gittinger <cg@exept.de>
parents: 5612
diff changeset
  5797
                confirmWithCancel:msg
11590
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5798
                labels:(resources array:labels)
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5799
                values:values
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5800
                default:1
7693
d266b8b66638 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7687
diff changeset
  5801
                title:'Error during decode'.
5646
123550dd90f6 handle decoder errors
Claus Gittinger <cg@exept.de>
parents: 5612
diff changeset
  5802
            answer isNil ifTrue:[ AbortOperationRequest raise ].
123550dd90f6 handle decoder errors
Claus Gittinger <cg@exept.de>
parents: 5612
diff changeset
  5803
            answer == #ignoreAll ifTrue:[ firstDecoderError := false ].
8390
f03711c97860 encoder error reporting
Claus Gittinger <cg@exept.de>
parents: 8389
diff changeset
  5804
            answer == #inspectLine ifTrue:[ line inspect. AbortOperationRequest raise ].
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5805
        ].
8389
0c1050ff7f88 encoding error handling
Claus Gittinger <cg@exept.de>
parents: 8366
diff changeset
  5806
        ex proceedWith:(ex defaultValue).
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5807
    ] do:[
6295
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5808
        FileStream lineTooLongErrorSignal handle:[:ex |
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5809
            |s partialLine|
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5810
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5811
            s := ex parameter at:1.
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5812
            partialLine := ex parameter at:2.
6796
23a7b7f0bd39 bug in long line handling fixed
Claus Gittinger <cg@exept.de>
parents: 6793
diff changeset
  5813
            ex proceedWith:(partialLine , (s upTo:lineDelimiter))
6295
11ae28df92c3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6293
diff changeset
  5814
        ] do:[
9172
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5815
            (decoder characterSize:0) == 2 ifTrue:[
12066
dc7b890d8b7d comment only
Claus Gittinger <cg@exept.de>
parents: 11590
diff changeset
  5816
                "a TwoByte decoder. Decode first and then process line breaks."
11590
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5817
            
9172
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5818
                |buffer|
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5819
11590
dc5935e9387b Fix decoding error handling
Stefan Vogel <sv@exept.de>
parents: 11589
diff changeset
  5820
                buffer := line := aStream upToEnd.
9172
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5821
                buffer := decoder decodeString:buffer.
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5822
                buffer asCollectionOfLines do:[:line |
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5823
                    text add:line withTabsExpanded.
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5824
                ].
9172
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5825
            ] ifFalse:[
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5826
                [aStream atEnd] whileFalse:[
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5827
                    lineDelimiter == Character cr ifTrue:[
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5828
                        line := aStream nextLine.
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5829
                    ] ifFalse:[
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5830
                        line := aStream upTo:lineDelimiter.
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5831
                    ].
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5832
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5833
                    line := line withTabsExpanded.
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5834
                    text add:(decoder decodeString:line).
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5835
                    sizeLimitOrNil notNil ifTrue:[
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5836
                        aStream position > sizeLimitOrNil ifTrue:[
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5837
                            ^ text
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5838
                        ]
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5839
                    ].
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5840
                    lineNr := lineNr + 1.
e7632f98f762 handle utf16 encoded files more gracefully
Claus Gittinger <cg@exept.de>
parents: 8912
diff changeset
  5841
                ]
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5842
            ].
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5843
        ].
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5844
    ].
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5845
    ^ text
7693
d266b8b66638 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7687
diff changeset
  5846
d266b8b66638 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7687
diff changeset
  5847
    "Modified: / 02-03-2007 / 15:09:30 / cg"
12066
dc7b890d8b7d comment only
Claus Gittinger <cg@exept.de>
parents: 11590
diff changeset
  5848
    "Modified (comment): / 22-11-2012 / 13:06:03 / cg"
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5849
!
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5850
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  5851
reload
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  5852
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  5853
    textEditorModificationTime := self fileName modificationTime.
6833
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  5854
"/    self withWaitCursorDo:[
5287
693e3ca577aa avoid autoloading Archiver if an obviously non-archive is double clicked.
Claus Gittinger <cg@exept.de>
parents: 5279
diff changeset
  5855
        self setContents.
6833
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  5856
"/    ].
12089
4690e72f5af3 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12079
diff changeset
  5857
    self setUpTextView
6833
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  5858
caeedd92f25c wait-cursor -> activity indication
Claus Gittinger <cg@exept.de>
parents: 6796
diff changeset
  5859
    "Modified: / 25-07-2006 / 09:09:55 / cg"
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  5860
!
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  5861
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5862
saveFileAs
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5863
    self saveWithAskForFilename:true
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5864
!
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5865
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5866
saveWithAskForFilename:ask
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5867
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5868
    |answer fn master defaultDir dir base fnDir|
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5869
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5870
    master := self masterApplication.
12480
2d1bd93f29d1 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12348
diff changeset
  5871
    (fn := self fileName) notNil ifTrue:[
2d1bd93f29d1 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12348
diff changeset
  5872
        dir := fn directory.
2d1bd93f29d1 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12348
diff changeset
  5873
        base := fn baseName.
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5874
    ].
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5875
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5876
    ask ifTrue:[
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5877
        defaultDir := master notNil ifTrue:[ master currentDirectory ] ifFalse:[ nil ].
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5878
        defaultDir isNil ifTrue:[
12480
2d1bd93f29d1 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12348
diff changeset
  5879
            fn notNil ifTrue:[
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5880
                defaultDir := dir.
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5881
            ]
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5882
        ].
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5883
        answer := Dialog
9611
Claus Gittinger <cg@exept.de>
parents: 9568
diff changeset
  5884
            requestFileNameForSave:(resources string:'Save contents in:') 
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5885
            default:base 
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5886
            fromDirectory:defaultDir.
9611
Claus Gittinger <cg@exept.de>
parents: 9568
diff changeset
  5887
        answer isEmptyOrNil ifTrue:[^ self].
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5888
        fn := answer asFilename.
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5889
    ].
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  5890
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5891
    (master notNil and:[master class openAnotherApplicationOnSameItem]) ifTrue:[
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5892
        (self updateSameFilesFor:fn) ifFalse:[ ^ self ].
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5893
    ].
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5894
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5895
    fnDir := fn directory.
6250
5b0673ccff1c refactored intention revealing code:
Claus Gittinger <cg@exept.de>
parents: 6214
diff changeset
  5896
    fnDir exists ifFalse:[
12079
50a553319d07 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 12066
diff changeset
  5897
        [
50a553319d07 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 12066
diff changeset
  5898
            fnDir recursiveMakeDirectory.
17118
5defea726711 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 17031
diff changeset
  5899
        ] on:OsError do:[:ex|
12079
50a553319d07 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 12066
diff changeset
  5900
            Dialog warn:(ex description).
50a553319d07 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 12066
diff changeset
  5901
            ^ self.
50a553319d07 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 12066
diff changeset
  5902
        ]
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5903
    ].
12480
2d1bd93f29d1 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12348
diff changeset
  5904
14660
39afddf6eea3 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14576
diff changeset
  5905
    (editView saveAs:fn doAppend:false compressTabs:master compressTabsOnSave eolMode:master lineEndConvention) ifFalse:[^ self].
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5906
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5907
    textEditorModificationTime := self fileName modificationTime.
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5908
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5909
    self hasMD5 ifTrue:[
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5910
        md5CheckSum := self getHashForContents:self fileContentsModel value.
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5911
    ].
5471
ad6c1fc272de care for no-filename-editors
Claus Gittinger <cg@exept.de>
parents: 5461
diff changeset
  5912
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5913
    self enableReload value:false.
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5914
    self itemChanged value:false.
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5915
    self itemRemoved value:false.
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5916
    self modifiedChannel value:false.
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5917
    self notify:self fileName asString, ' saved'.
13760
60a6ffe379a7 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13729
diff changeset
  5918
    tagsBrowser notNil ifTrue:[
60a6ffe379a7 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13729
diff changeset
  5919
        tagsBrowser updateTagList
60a6ffe379a7 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13729
diff changeset
  5920
    ].
9611
Claus Gittinger <cg@exept.de>
parents: 9568
diff changeset
  5921
Claus Gittinger <cg@exept.de>
parents: 9568
diff changeset
  5922
    "Modified: / 27-10-2010 / 10:41:29 / cg"
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5923
!
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  5924
4146
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  5925
searchForPattern:aContentsPattern ignoreCase:ign
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  5926
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  5927
    | pattern |
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  5928
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  5929
    pattern := aContentsPattern string withoutSeparators. "/ is that a good idea ?
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  5930
    pattern notEmpty ifTrue:[
15218
2401b6bf1879 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15209
diff changeset
  5931
        editView perform:#cursorHome ifNotUnderstood:[].
4146
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  5932
        editView rememberSearchPattern:pattern.
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  5933
        editView searchFwd:pattern ignoreCase:ign.
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  5934
    ]
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  5935
!
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  5936
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5937
selectInBrowser
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5938
    |application|
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5939
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5940
    application := self masterApplication.
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5941
    application notNil ifTrue:[
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5942
        application gotoFile:(self fileName).
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5943
    ].
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5944
!
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  5945
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  5946
setContents
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  5947
    |text|
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  5948
7970
337b8efd934e readcursor while reading a file
Claus Gittinger <cg@exept.de>
parents: 7947
diff changeset
  5949
    self withReadCursorDo:[
337b8efd934e readcursor while reading a file
Claus Gittinger <cg@exept.de>
parents: 7947
diff changeset
  5950
        text := self getContents.
337b8efd934e readcursor while reading a file
Claus Gittinger <cg@exept.de>
parents: 7947
diff changeset
  5951
    ].
4201
be512c7e5ea8 save all aspects in Userpreferences now
penk
parents: 4188
diff changeset
  5952
    text isNil ifTrue:[ ^ false].
9885
62bac7ad7d0c changed: #startApplication:
ab
parents: 9882
diff changeset
  5953
    self withWaitCursorDo:[
62bac7ad7d0c changed: #startApplication:
ab
parents: 9882
diff changeset
  5954
        self setContentsFor:text.
62bac7ad7d0c changed: #startApplication:
ab
parents: 9882
diff changeset
  5955
    ].
4953
d6561bb214d5 red text color for outdated files only
penk
parents: 4946
diff changeset
  5956
    ^ true
d6561bb214d5 red text color for outdated files only
penk
parents: 4946
diff changeset
  5957
!
d6561bb214d5 red text color for outdated files only
penk
parents: 4946
diff changeset
  5958
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5959
setContentsFor:aUnicodeText
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  5960
    self itemChanged value:false.
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5961
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5962
    self validateEditViewsFontEncoding.
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5963
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5964
    self fileContentsModel value:aUnicodeText.
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5965
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  5966
    self hasMD5 ifTrue:[
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  5967
        md5CheckSum := self getHashForContents:aUnicodeText.
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  5968
    ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5969
    self enableReload value:false.
321c1729db5b initial checkin
penk
parents:
diff changeset
  5970
    self itemChanged value:false.
4045
9271a4ffbba4 make tab to red for changed file
penk
parents: 4020
diff changeset
  5971
    self modifiedChannel value:false.
8614
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  5972
    self notify:nil.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5973
    ^ true
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5974
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5975
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5976
"/
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5977
"/        oldEncoding := editView characterEncoding.
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5978
"/        oldEncoding ~= newEncoding ifTrue:[
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5979
"/self halt.
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5980
"/            (lines := editView contents) size > 0 ifTrue:[
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5981
"/                (Dialog 
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5982
"/                    confirm:('Re-Encode contents (from %1 to %2) ?'
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5983
"/                                bindWith:oldEncoding
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5984
"/                                with:newEncoding)
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5985
"/                ) ifTrue:[
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5986
"/                    recoder := CharacterEncoder 
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5987
"/                                encoderToEncodeFrom:oldEncoding
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5988
"/                                into:newEncoding.
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5989
"/                    lines keysAndValuesDo:[:lineNr :line |
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5990
"/                        line notNil ifTrue:[
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5991
"/                            editView at:lineNr put:(recoder encodeString:line).
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5992
"/                        ].
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5993
"/                    ].
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5994
"/                ]
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5995
"/            ].
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  5996
"/        ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  5997
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  5998
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  5999
showEditorOperationsToolBar
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6000
    self editorOperationsToolBarVisibleHolder value:true
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6001
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6002
    "Created: / 02-08-2013 / 16:11:52 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6003
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6004
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6005
tagSelected:aTag
11032
67fc45edcaac tag-selection fix (when textselection is present)
Claus Gittinger <cg@exept.de>
parents: 10955
diff changeset
  6006
    editView deselect.  "/ otherwise, it might jump back to show the selection
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6007
    editView cursorLine:(aTag lineNumber) col:1.
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6008
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6009
    "Created: / 23-06-2011 / 16:38:07 / cg"
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6010
!
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6011
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  6012
updateSameFilesFor:aFilename
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6013
    | master modifiedApplications stream filename action|
321c1729db5b initial checkin
penk
parents:
diff changeset
  6014
321c1729db5b initial checkin
penk
parents:
diff changeset
  6015
    master := self masterApplication.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6016
    master notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6017
        modifiedApplications := master getSameFilesModifiedFor:self.
6482
00207f456339 isEmptyOrNil / notEmptyOrNil refactoring
Claus Gittinger <cg@exept.de>
parents: 6481
diff changeset
  6018
        (modifiedApplications isEmptyOrNil) ifTrue:[^ true ].
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  6019
        filename := aFilename asString.
15594
ebb982d3e6c3 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 15489
diff changeset
  6020
        stream := CharacterWriteStream with:filename.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6021
        stream nextPutAll:' is modified in tab'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6022
        modifiedApplications size > 1 ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6023
            stream nextPutAll:'s'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6024
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6025
        stream cr.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6026
        modifiedApplications do:[ : el |
321c1729db5b initial checkin
penk
parents:
diff changeset
  6027
            stream space.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6028
            stream nextPutAll:filename.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6029
            stream space.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6030
            el sameFileIndex notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6031
                stream nextPutAll:el sameFileIndex asString.        
321c1729db5b initial checkin
penk
parents:
diff changeset
  6032
            ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6033
            stream cr.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6034
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6035
        stream nextPutAll:'forget changes on other tab'.        
321c1729db5b initial checkin
penk
parents:
diff changeset
  6036
        modifiedApplications size > 1 ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6037
            stream nextPutAll:'s'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6038
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6039
        stream nextPutAll:' ?'.        
321c1729db5b initial checkin
penk
parents:
diff changeset
  6040
        action := Dialog 
321c1729db5b initial checkin
penk
parents:
diff changeset
  6041
            choose:stream contents 
13406
b3cb3f94b100 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13377
diff changeset
  6042
            labels:#('Cancel' 'No' 'Yes') 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6043
            values:#(#cancel #no #yes) 
321c1729db5b initial checkin
penk
parents:
diff changeset
  6044
            default:#cancel. 
321c1729db5b initial checkin
penk
parents:
diff changeset
  6045
321c1729db5b initial checkin
penk
parents:
diff changeset
  6046
        stream close.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6047
        action == #cancel ifTrue:[ ^ false ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6048
        action == #yes ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6049
            "/ here force reload for other applications
321c1729db5b initial checkin
penk
parents:
diff changeset
  6050
            modifiedApplications do:[ : el |
321c1729db5b initial checkin
penk
parents:
diff changeset
  6051
                el reload.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6052
            ]            
321c1729db5b initial checkin
penk
parents:
diff changeset
  6053
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6054
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6055
    ^ true.
13406
b3cb3f94b100 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13377
diff changeset
  6056
b3cb3f94b100 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13377
diff changeset
  6057
    "Modified: / 29-08-2013 / 01:37:18 / cg"
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6058
!
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6059
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6060
validateEditViewsFontEncoding
5717
f2ec29a73239 do not ask again about encoding
penk
parents: 5705
diff changeset
  6061
    |fileEncoding preferredFontEncoding fontsEncoding action|
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6062
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6063
    editView isNil ifTrue:[^ self].
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6064
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6065
    fileEncoding := self fileEncoding.
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6066
11589
bb69ef59a32f Return symbols for encoding
Stefan Vogel <sv@exept.de>
parents: 11588
diff changeset
  6067
    fontsEncoding := editView font encoding ? #'iso8859-1'.
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6068
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6069
    preferredFontEncoding := FontDescription preferredFontEncodingFor:fileEncoding.
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6070
    (CharacterEncoder isEncoding:preferredFontEncoding subSetOf:fontsEncoding) ifFalse:[
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6071
            doNotShowFontDialog == true ifTrue:[
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6072
                action := #show
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6073
            ] ifFalse:[
5609
9ea9d7e7ef95 characterEncoding stuff
Claus Gittinger <cg@exept.de>
parents: 5586
diff changeset
  6074
                action := Dialog choose:(resources string:'''%1'' seems to require a %2 (or unicode) font (file encoding is %3).' 
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6075
                                                     with:self fileName baseName 
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6076
                                                     with:preferredFontEncoding allBold 
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6077
                                                     with:fileEncoding)
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6078
                               labels:(resources array:#('Cancel' 'Show' 'Don''t Ask Again' 'Change Font'))
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6079
                               values:#(nil #show #showAlways #encoding)
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6080
                               default:#encoding.
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6081
            ].
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6082
            action == #showAlways ifTrue:[
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6083
                doNotShowFontDialog := true.
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6084
                action := #show.
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6085
            ].
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6086
            action isNil ifTrue:[
13776
fd15b128241f AbortSignal -> AbortOperationRequest
Stefan Vogel <sv@exept.de>
parents: 13760
diff changeset
  6087
                AbortOperationRequest raise
5540
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6088
            ].
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6089
            action == #encoding ifTrue:[
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6090
                editView validateFontEncodingFor:fileEncoding ask:false.
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6091
            ].
9e1262cf0612 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5534
diff changeset
  6092
    ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6093
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  6094
321c1729db5b initial checkin
penk
parents:
diff changeset
  6095
!FileApplicationNoteBook::TextEditor methodsFor:'aspects'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6096
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6097
canEdit
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6098
    ^ editView notNil and:[editView isReadOnly not]
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6099
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6100
    "Created: / 02-08-2013 / 16:45:34 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6101
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6102
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6103
cursorColLabelHolder
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6104
    ^ BlockValue 
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6105
        with:[:v | v printString]
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6106
        argument:editView cursorColHolder.
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6107
!
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6108
15821
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
  6109
cursorLineAndColumnLabelHolder
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
  6110
    ^ editView cursorLineAndColumnLabelHolder.
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
  6111
!
4cc5466ba247 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15815
diff changeset
  6112
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6113
cursorLineLabelHolder
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6114
    ^ BlockValue 
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6115
        with:[:v | v printString]
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6116
        argument:editView cursorLineHolder.
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6117
!
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6118
7103
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6119
editModeInsert
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6120
    editView editModeInsert
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6121
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6122
    "Created: / 11-09-2006 / 12:46:50 / cg"
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6123
!
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6124
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6125
editModeInsertAndSelect
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6126
    editView editModeInsertAndSelect
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6127
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6128
    "Created: / 11-09-2006 / 12:47:01 / cg"
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6129
!
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6130
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6131
editModeOverwrite
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6132
    editView editModeOverwrite
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6133
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6134
    "Created: / 11-09-2006 / 12:46:47 / cg"
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6135
!
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6136
7596
6ea35d883f1f gotoLine on double-click line-nr-label
Claus Gittinger <cg@exept.de>
parents: 7594
diff changeset
  6137
editView
6ea35d883f1f gotoLine on double-click line-nr-label
Claus Gittinger <cg@exept.de>
parents: 7594
diff changeset
  6138
    ^ editView
6ea35d883f1f gotoLine on double-click line-nr-label
Claus Gittinger <cg@exept.de>
parents: 7594
diff changeset
  6139
!
6ea35d883f1f gotoLine on double-click line-nr-label
Claus Gittinger <cg@exept.de>
parents: 7594
diff changeset
  6140
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6141
editorOperationsMenuSpecHolder
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6142
    editorOperationsMenuSpecHolder isNil ifTrue:[
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6143
        editorOperationsMenuSpecHolder := self class menuEditorOperationsForNormalText asValue.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6144
    ].
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6145
    ^ editorOperationsMenuSpecHolder
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6146
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6147
    "Created: / 02-08-2013 / 16:35:49 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6148
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6149
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6150
editorOperationsToolBarNotVisibleHolder
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6151
    ^ BlockValue forLogicalNot:self editorOperationsToolBarVisibleHolder
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6152
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6153
    "Created: / 02-08-2013 / 16:11:02 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6154
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6155
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6156
editorOperationsToolBarVisibleHolder
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6157
    editorOperationsToolBarVisibleHolder isNil ifTrue:[
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6158
        editorOperationsToolBarVisibleHolder := (DefaultEditorOperationsToolBarVisible ? true) asValue.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6159
        editorOperationsToolBarVisibleHolder onChangeSend:#editorOperationsToolBarVisibilityChanged to:self.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6160
    ].
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6161
    ^ editorOperationsToolBarVisibleHolder
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6162
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6163
    "Created: / 02-08-2013 / 15:59:43 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6164
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6165
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6166
enableHexToggle
321c1729db5b initial checkin
penk
parents:
diff changeset
  6167
    enableHexToggle isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6168
        enableHexToggle := true asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6169
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6170
    ^ enableHexToggle
321c1729db5b initial checkin
penk
parents:
diff changeset
  6171
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6172
321c1729db5b initial checkin
penk
parents:
diff changeset
  6173
enableReload
321c1729db5b initial checkin
penk
parents:
diff changeset
  6174
    enableReload isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6175
        enableReload := false asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6176
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6177
    ^ enableReload.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6178
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6179
321c1729db5b initial checkin
penk
parents:
diff changeset
  6180
enableSave
321c1729db5b initial checkin
penk
parents:
diff changeset
  6181
    enableSave isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6182
        enableSave := false asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6183
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6184
    ^ enableSave.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6185
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6186
8783
5dddc5a42858 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8684
diff changeset
  6187
enableSaveAs
5dddc5a42858 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8684
diff changeset
  6188
    ^ true.
5dddc5a42858 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8684
diff changeset
  6189
!
5dddc5a42858 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8684
diff changeset
  6190
8087
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  6191
enableSelectInBrowser
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  6192
    enableSelectInBrowser isNil ifTrue:[
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  6193
        enableSelectInBrowser := false asValue.
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  6194
    ].
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  6195
    ^ enableSelectInBrowser.
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  6196
!
584a2658a4fe menu & flyByHelp
Claus Gittinger <cg@exept.de>
parents: 8004
diff changeset
  6197
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6198
fileContentsModel
321c1729db5b initial checkin
penk
parents:
diff changeset
  6199
    fileContentsModel isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6200
        fileContentsModel := ValueHolder new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6201
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6202
    ^ fileContentsModel.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6203
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6204
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  6205
fileEncodingHolder
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  6206
    fileEncodingHolder isNil ifTrue:[
5534
1536730810c0 encoding stuff
Claus Gittinger <cg@exept.de>
parents: 5528
diff changeset
  6207
        fileEncodingHolder := #'iso8859-1' asValue
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  6208
    ].
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  6209
    ^ fileEncodingHolder
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  6210
!
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  6211
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6212
itemChanged
321c1729db5b initial checkin
penk
parents:
diff changeset
  6213
    itemChanged isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6214
        itemChanged := false asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6215
        itemChanged addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6216
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6217
    ^ itemChanged
321c1729db5b initial checkin
penk
parents:
diff changeset
  6218
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6219
321c1729db5b initial checkin
penk
parents:
diff changeset
  6220
itemRemoved
321c1729db5b initial checkin
penk
parents:
diff changeset
  6221
    itemRemoved isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6222
        itemRemoved := false asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6223
        itemRemoved addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6224
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6225
    ^ itemRemoved
321c1729db5b initial checkin
penk
parents:
diff changeset
  6226
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6227
5737
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  6228
lockFileEncodingHolder
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  6229
    lockFileEncodingHolder isNil ifTrue:[
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  6230
        lockFileEncodingHolder := false asValue.
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  6231
    ].
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  6232
    ^ lockFileEncodingHolder
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  6233
!
c5a659e2c4c7 added lockFileEncoding
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
  6234
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6235
modeLabelHolder
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6236
    ^ editView modeLabelHolder.
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6237
!
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6238
7103
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6239
modeLabelMenu
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6240
    ^ FileBrowserV2 editModeInfoLabelMenu
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6241
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6242
    "Created: / 11-09-2006 / 12:36:26 / cg"
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6243
!
a95f550bd9bd edit mode menu
Claus Gittinger <cg@exept.de>
parents: 6833
diff changeset
  6244
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6245
modifiedChannel
321c1729db5b initial checkin
penk
parents:
diff changeset
  6246
    modifiedChannel isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6247
        modifiedChannel := false asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6248
        modifiedChannel addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6249
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6250
    ^ modifiedChannel.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6251
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6252
321c1729db5b initial checkin
penk
parents:
diff changeset
  6253
printAsHexDump
321c1729db5b initial checkin
penk
parents:
diff changeset
  6254
    printAsHexDump isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6255
        printAsHexDump := false asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6256
        printAsHexDump addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6257
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6258
    ^ printAsHexDump.
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6259
!
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6260
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6261
viewModifiedChannel
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6262
    viewModifiedChannel isNil ifTrue:[
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6263
        viewModifiedChannel := false asValue.
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6264
        viewModifiedChannel addDependent:self.
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6265
    ].
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6266
    ^ viewModifiedChannel.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6267
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  6268
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6269
!FileApplicationNoteBook::TextEditor methodsFor:'aspects-visibility'!
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6270
11099
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  6271
closeButtonShown
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  6272
    ^ false.
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  6273
"/    ^ self isEmbeddedApplication.
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  6274
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  6275
    "Created: / 12-01-2012 / 00:32:15 / cg"
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  6276
!
588f93b5f145 added: #destroyTabAt:
Claus Gittinger <cg@exept.de>
parents: 11056
diff changeset
  6277
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6278
diffTextButtonVisible
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6279
    ^ self fileName notNil "/ true
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6280
!
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6281
13729
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6282
doItMenuButtonVisible
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6283
    ^true
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6284
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6285
    "Created: / 17-12-2013 / 16:31:40 / cg"
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6286
!
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6287
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6288
inspectItMenuButtonVisible
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6289
    ^true
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6290
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6291
    "Created: / 17-12-2013 / 16:31:49 / cg"
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6292
!
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6293
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6294
printItMenuButtonVisible
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6295
    ^true
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6296
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6297
    "Created: / 17-12-2013 / 16:31:45 / cg"
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6298
!
6d0268de5de9 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13715
diff changeset
  6299
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6300
reloadButtonVisible
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6301
    ^ self fileName notNil "/ true
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6302
!
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6303
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6304
saveAsButtonVisible
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6305
    ^ true
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6306
!
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6307
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6308
saveButtonVisible
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6309
    ^ self fileName notNil "/ true
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6310
!
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6311
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6312
selectInBrowserButtonVisible
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6313
    ^ self masterApplication notNil
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6314
!
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6315
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6316
tagsBrowserVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6317
    tagsBrowserVisibleHolder isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6318
        masterApplication notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6319
            tagsBrowserVisibleHolder := masterApplication tagsBrowserVisibleHolder.
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6320
        ] ifFalse:[
10761
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  6321
            tagsBrowserVisibleHolder := self class defaultTagsBrowserVisible asValue.
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6322
        ].
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6323
        tagsBrowserVisibleHolder addDependent:self.
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6324
    ].
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6325
    ^ tagsBrowserVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6326
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6327
    "Created: / 23-06-2011 / 09:19:18 / cg"
10761
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  6328
    "Modified: / 06-10-2011 / 12:46:41 / cg"
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6329
! !
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6330
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6331
!FileApplicationNoteBook::TextEditor methodsFor:'change & update'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6332
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  6333
changeTextColorForChanged
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6334
    |text prevCursorBehavior|
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6335
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6336
    prevCursorBehavior := editView cursorMovementWhenUpdating.
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6337
    editView cursorMovementWhenUpdating:nil.
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6338
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  6339
    self itemChanged value ifTrue:[
5287
693e3ca577aa avoid autoloading Archiver if an obviously non-archive is double clicked.
Claus Gittinger <cg@exept.de>
parents: 5279
diff changeset
  6340
        text := editView contents.
4499
395d7282b2f0 emphasis stuff
Claus Gittinger <cg@exept.de>
parents: 4476
diff changeset
  6341
        self fileContentsModel 
19606
77274bbcd92b Theming: use `SystemBrowser emphasisForChangesCode`
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
  6342
            value:(text asText emphasizeAllWith:SystemBrowser emphasisForChangedCode).
17256
0374afe33b72 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 17118
diff changeset
  6343
        editView pushEvent:#flash.
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  6344
    ] ifFalse:[
17256
0374afe33b72 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 17118
diff changeset
  6345
        "/ self fileContentsModel value:text string.
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  6346
    ].
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6347
    editView cursorMovementWhenUpdating:prevCursorBehavior.
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6348
    "/ self fileContentsModel changed:#value.
19606
77274bbcd92b Theming: use `SystemBrowser emphasisForChangesCode`
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
  6349
77274bbcd92b Theming: use `SystemBrowser emphasisForChangesCode`
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
  6350
    "Modified (comment): / 15-09-2021 / 13:46:12 / Jan Vrany <jan.vrany@labware.com>"
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  6351
!
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  6352
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6353
editorOperationsToolBarVisibilityChanged
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6354
    |editorToolBar editorOperationsToolBar editor topOffset editorOperationsToolBarVisible|
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6355
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6356
    editorToolBar := self componentAt:#MenuTextEditor.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6357
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6358
    editorOperationsToolBar := self componentAt:#EditorOperationsToolBar.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6359
    editor := self componentAt:#TextEditor.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6360
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6361
    topOffset := editorToolBar height.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6362
    editorOperationsToolBarVisible := self editorOperationsToolBarVisibleHolder value.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6363
    DefaultEditorToolBarVisible := editorOperationsToolBarVisible.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6364
    editorOperationsToolBarVisible ifTrue:[
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6365
        topOffset := topOffset + editorOperationsToolBar height.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6366
    ].
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6367
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6368
    topOffset := topOffset - 1.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6369
    editor layout topOffset:topOffset.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6370
    editor container notNil ifTrue:[
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6371
        editor containerChangedSize.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6372
    ].
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6373
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6374
    "Created: / 02-08-2013 / 16:01:01 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6375
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6376
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  6377
itemModified
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  6378
4161
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6379
    | modified outDated removed|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6380
321c1729db5b initial checkin
penk
parents:
diff changeset
  6381
    modified := self modifiedChannel value.
4161
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6382
    outDated := self itemChanged value.    
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6383
    removed := self itemRemoved value.    
321c1729db5b initial checkin
penk
parents:
diff changeset
  6384
17002
09c5663e6f98 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16861
diff changeset
  6385
    (modified or:[outDated or:[removed]]) ifTrue:[
4161
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6386
        modified ifTrue:[
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6387
            self changeInformationForModified:#modified.
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6388
        ].
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6389
        outDated ifTrue:[
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6390
            self changeInformationForModified:#outDated.
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6391
        ].
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6392
        removed ifTrue:[
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6393
            self changeInformationForModified:#removed.
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6394
        ].
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6395
    ] ifFalse:[
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6396
        self changeInformationForModified:#unchanged.
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6397
    ].
5471
ad6c1fc272de care for no-filename-editors
Claus Gittinger <cg@exept.de>
parents: 5461
diff changeset
  6398
4161
a318d1adcf08 treeBrowser has his own sort now
penk
parents: 4146
diff changeset
  6399
    self enableReload value:((modified or:[outDated]) and:[removed not]).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6400
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6401
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6402
postBuildTagsBrowser:aTagsBrowserCanvas
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6403
    tagsBrowser := aTagsBrowserCanvas application.
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6404
    tagsBrowser action:[:selectedTag | self tagSelected:selectedTag ].
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6405
    self updateTagsBrowser.
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6406
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6407
    "Created: / 23-06-2011 / 16:30:00 / cg"
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6408
!
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6409
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6410
tagsBrowserVisibilityChanged
10761
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  6411
    |visible tagsBrowserCanvas|
9949
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6412
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6413
    tagsBrowser notNil ifTrue:[
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6414
        tagsBrowserCanvas := tagsBrowser window.
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6415
    ].
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6416
10761
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  6417
    (visible := self tagsBrowserVisibleHolder value) ifTrue:[
9949
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6418
        tagsBrowser isNil ifTrue:[
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6419
            tagsBrowserCanvas := ApplicationSubView new.
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6420
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6421
            tagsBrowser := Tools::TagsBrowser new.
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6422
            tagsBrowser window:tagsBrowserCanvas.
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6423
            tagsBrowser allButOpen.
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6424
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6425
            (self builder componentAt:#Panel) 
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6426
                addComponent:tagsBrowserCanvas;
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6427
                relativeCorners:#(0.75 1.0).
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6428
            tagsBrowserCanvas realize.
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6429
            self postBuildTagsBrowser:tagsBrowserCanvas.
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6430
        ] ifFalse:[
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6431
            tagsBrowserCanvas map.
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6432
            (self builder componentAt:#Panel) 
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6433
                relativeCorners:#(0.75 1.0).
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6434
        ].
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6435
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6436
        self updateTagsBrowser.
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6437
    ] ifFalse:[
9949
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6438
        tagsBrowser notNil ifTrue:[
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6439
            tagsBrowserCanvas unmap.
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6440
            (self builder componentAt:#Panel) relativeCorners:#(1.0 1.0).
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6441
        ].
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6442
    ].
10761
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  6443
    DefaultTagsBrowserVisible := visible
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6444
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6445
    "Created: / 27-06-2011 / 16:06:00 / cg"
10761
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  6446
    "Modified: / 06-10-2011 / 12:45:20 / cg"
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6447
!
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6448
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6449
update:something with:aParameter from:changedObject
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6450
    |itemRem contMd5CheckSum viewModified p|
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6451
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6452
    changedObject == self viewModifiedChannel ifTrue:[
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6453
        viewModified := changedObject value.
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6454
        self hasMD5 ifTrue:[
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6455
            self viewModifiedChannel value:false withoutNotifying:self.
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6456
            viewModified ifTrue:[
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6457
                (p := md5HashValueComputationProcess) notNil ifTrue:[
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6458
                    p terminate.
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6459
                ].
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6460
                md5HashValueComputationProcess := 
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6461
                    [
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6462
                        contMd5CheckSum := self getHashForContents:(editView list).
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6463
                        self modifiedChannel value:(contMd5CheckSum ~= md5CheckSum).
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6464
                        md5HashValueComputationProcess := nil.
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6465
                    ] newProcess.
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6466
                md5HashValueComputationProcess priority:(Processor userBackgroundPriority).
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6467
                md5HashValueComputationProcess resume.
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6468
            ].
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6469
        ] ifFalse:[
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6470
            self modifiedChannel value:viewModified.
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6471
        ]
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6472
    ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6473
    changedObject == self modifiedChannel ifTrue:[
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6474
        self enableSave value:changedObject value.
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  6475
        self itemModified.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6476
        ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  6477
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6478
    changedObject == self itemRemoved ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6479
        itemRem := changedObject value.
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6480
        self enableSave value:(itemRem ? false).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6481
        self enableHexToggle value:itemRem not.
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  6482
        self itemModified.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6483
        ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  6484
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6485
    changedObject == self itemChanged ifTrue:[
8228
6be70d6b485c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8176
diff changeset
  6486
        self enqueueMessage:#changeTextColorForChanged for:self arguments:#().
4047
e432ab54d1e7 contents color changed to red if modified by someone else
penk
parents: 4045
diff changeset
  6487
        self itemModified.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6488
        ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  6489
    ].
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  6490
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6491
    changedObject == self printAsHexDump ifTrue:[
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  6492
        AbortOperationRequest handle:[:ex |
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  6493
            self printAsHexDump value:false withoutNotifying:self.
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  6494
            ^ self.
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  6495
        ] do:[
5198
ea3f838e1353 do not attempt to reload when closing
Claus Gittinger <cg@exept.de>
parents: 5197
diff changeset
  6496
            self askForChangeWithReload:true. 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6497
        ].
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  6498
        self presentation:(changedObject value ifTrue:[#hexDump] ifFalse:[#asText]).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6499
        self changeInformation.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6500
        self setContents.
4621
d033f85c8cc3 hexDump from tools menu implemented
penk
parents: 4620
diff changeset
  6501
        editView notNil ifTrue:[
5197
17755f89feab save changed fixed
Claus Gittinger <cg@exept.de>
parents: 5186
diff changeset
  6502
            editView readOnly:(self presentation == #hexDump).   
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6503
        ].
4621
d033f85c8cc3 hexDump from tools menu implemented
penk
parents: 4620
diff changeset
  6504
        ^ self
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6505
    ].
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6506
    changedObject == editView cursorLineHolder ifTrue:[
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
  6507
        tagsBrowser notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
  6508
            tagsBrowser updateForLine:(changedObject value).
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
  6509
        ].
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6510
        ^ self
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6511
    ].
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6512
    changedObject == tagsBrowserVisibleHolder ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6513
        self tagsBrowserVisibilityChanged.
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6514
        ^ self
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6515
    ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6516
321c1729db5b initial checkin
penk
parents:
diff changeset
  6517
    super update:something with:aParameter from:changedObject
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6518
9951
Claus Gittinger <cg@exept.de>
parents: 9949
diff changeset
  6519
    "Modified: / 29-06-2011 / 19:36:03 / cg"
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6520
!
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6521
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6522
updateTagsBrowser
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6523
    tagsBrowser notNil ifTrue:[
9949
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6524
        self tagsBrowserVisibleHolder value ifTrue:[
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6525
            tagsBrowser editedFile:(self item isNil ifTrue:[nil] ifFalse:[self item fileName]).
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6526
        ]
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6527
    ]
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6528
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6529
    "Created: / 23-06-2011 / 16:32:44 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6530
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  6531
9399
dae73aa739a8 no lazy initialization of semas and locks, please
Claus Gittinger <cg@exept.de>
parents: 9359
diff changeset
  6532
!FileApplicationNoteBook::TextEditor methodsFor:'initialization'!
dae73aa739a8 no lazy initialization of semas and locks, please
Claus Gittinger <cg@exept.de>
parents: 9359
diff changeset
  6533
dae73aa739a8 no lazy initialization of semas and locks, please
Claus Gittinger <cg@exept.de>
parents: 9359
diff changeset
  6534
initialize
dae73aa739a8 no lazy initialization of semas and locks, please
Claus Gittinger <cg@exept.de>
parents: 9359
diff changeset
  6535
    super initialize.
dae73aa739a8 no lazy initialization of semas and locks, please
Claus Gittinger <cg@exept.de>
parents: 9359
diff changeset
  6536
    semaChangeItem := Semaphore forMutualExclusion.
dae73aa739a8 no lazy initialization of semas and locks, please
Claus Gittinger <cg@exept.de>
parents: 9359
diff changeset
  6537
! !
dae73aa739a8 no lazy initialization of semas and locks, please
Claus Gittinger <cg@exept.de>
parents: 9359
diff changeset
  6538
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6539
!FileApplicationNoteBook::TextEditor methodsFor:'printing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6540
8002
031dca544927 Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents: 7970
diff changeset
  6541
printOn:aStream
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6542
    |fn|
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6543
8002
031dca544927 Define #printOn: for each method defining #printString
Stefan Vogel <sv@exept.de>
parents: 7970
diff changeset
  6544
    aStream nextPutAll:'TextEditor for:'.
8684
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6545
    (fn := self fileName) notNil ifTrue:[
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6546
        fn baseName printOn:aStream.
61529797005d care for stand alone usage
Claus Gittinger <cg@exept.de>
parents: 8614
diff changeset
  6547
    ]
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6548
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  6549
6481
fd4f39c392fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6477
diff changeset
  6550
!FileApplicationNoteBook::TextEditor methodsFor:'private-process'!
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6551
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6552
checkItemForChanges
8614
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6553
    |exists fileModificationTime message|
5584
6f7e25365480 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5578
diff changeset
  6554
5612
7b0fa57f046e Allow opening of a file in an empty text editor
Stefan Vogel <sv@exept.de>
parents: 5610
diff changeset
  6555
    item isNil ifTrue:[
7b0fa57f046e Allow opening of a file in an empty text editor
Stefan Vogel <sv@exept.de>
parents: 5610
diff changeset
  6556
        ^ self
7b0fa57f046e Allow opening of a file in an empty text editor
Stefan Vogel <sv@exept.de>
parents: 5610
diff changeset
  6557
    ].
7b0fa57f046e Allow opening of a file in an empty text editor
Stefan Vogel <sv@exept.de>
parents: 5610
diff changeset
  6558
5584
6f7e25365480 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5578
diff changeset
  6559
    exists := self item exists.
6f7e25365480 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5578
diff changeset
  6560
    self itemRemoved value:(exists not).
6f7e25365480 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5578
diff changeset
  6561
    exists ifTrue:[
8614
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6562
        fileModificationTime := self fileName modificationTime.
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6563
        textEditorModificationTime isNil ifTrue:[
8614
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6564
            textEditorModificationTime := fileModificationTime.
4608
990e5559a904 md5 computation fixed and tuned
Claus Gittinger <cg@exept.de>
parents: 4572
diff changeset
  6565
        ].
5584
6f7e25365480 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5578
diff changeset
  6566
        message := '%1 was changed by someone else.'.
6f7e25365480 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5578
diff changeset
  6567
    ] ifFalse:[
6f7e25365480 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5578
diff changeset
  6568
        message := '%1 was removed by someone else.'.
6f7e25365480 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5578
diff changeset
  6569
    ].
6f7e25365480 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5578
diff changeset
  6570
8614
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6571
    (textEditorModificationTime ~= fileModificationTime) ifTrue:[
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6572
        "file contents has been changed by someone else"
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6573
        message := (resources string:message with:item fileName baseName) allBold
19611
a4b9d283ca40 Themes: use stylesheet to define color and style for modified buffer label
Jan Vrany <jan.vrany@labware.com>
parents: 19606
diff changeset
  6574
                        emphasisAllAdd:(SystemBrowser emphasisForModifiedBuffer).
8614
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6575
        message = self notifyChannel value ifFalse:[
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6576
            self notify:message.
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6577
            self itemChanged value:true.
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6578
        ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6579
    ].
19611
a4b9d283ca40 Themes: use stylesheet to define color and style for modified buffer label
Jan Vrany <jan.vrany@labware.com>
parents: 19606
diff changeset
  6580
a4b9d283ca40 Themes: use stylesheet to define color and style for modified buffer label
Jan Vrany <jan.vrany@labware.com>
parents: 19606
diff changeset
  6581
    "Modified: / 17-09-2021 / 15:00:50 / Jan Vrany <jan.vrany@labware.com>"
5457
204d1be00e9a add new item if it is modified in the meanwhile
penk
parents: 5456
diff changeset
  6582
!
204d1be00e9a add new item if it is modified in the meanwhile
penk
parents: 5456
diff changeset
  6583
204d1be00e9a add new item if it is modified in the meanwhile
penk
parents: 5456
diff changeset
  6584
checkItemForChangesWithNewSetup
204d1be00e9a add new item if it is modified in the meanwhile
penk
parents: 5456
diff changeset
  6585
    self checkItemForChanges.
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6586
    self setupCheckModify.
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6587
!
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6588
4977
621cc3cb454d checkModify have to reset the mofication time for the file after file change in TextEditor
penk
parents: 4971
diff changeset
  6589
releaseCheckModify
8614
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6590
    checkModifiedBlock notNil ifTrue:[
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6591
        Processor removeTimedBlock:checkModifiedBlock.
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6592
    ].
4977
621cc3cb454d checkModify have to reset the mofication time for the file after file change in TextEditor
penk
parents: 4971
diff changeset
  6593
!
621cc3cb454d checkModify have to reset the mofication time for the file after file change in TextEditor
penk
parents: 4971
diff changeset
  6594
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6595
setupCheckModify
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6596
8614
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6597
    checkModifiedBlock isNil ifTrue:[
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6598
        checkModifiedBlock := [
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6599
                self 
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6600
                    enqueueMessage:#checkItemForChangesWithNewSetup 
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6601
                    for:self 
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6602
                    arguments:#().
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6603
            ].
6712b6367808 Clean up TextEditor modification checks
Stefan Vogel <sv@exept.de>
parents: 8514
diff changeset
  6604
    ].
5461
acf501391ddd change delay time for check files in text editor
penk
parents: 5459
diff changeset
  6605
    Processor addTimedBlock:checkModifiedBlock afterSeconds:(self class checkModifiedDelayTime).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6606
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  6607
321c1729db5b initial checkin
penk
parents:
diff changeset
  6608
!FileApplicationNoteBook::TextEditor methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6609
7467
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  6610
additionalInfo
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  6611
    ^ '[',editView numberOfLines printString , ' lines]'.
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  6612
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  6613
    "Created: / 24-10-2006 / 12:27:07 / cg"
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  6614
!
7dd3132cf29a show numlines
Claus Gittinger <cg@exept.de>
parents: 7288
diff changeset
  6615
4071
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6616
hasMD5
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6617
    ^ ( MD5Stream notNil and:[MD5Stream isLoaded])
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6618
!
f923c8257818 *** empty log message ***
penk
parents: 4060
diff changeset
  6619
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6620
isModified
5456
91c198c1c3e9 add new item if it is modified
penk
parents: 5447
diff changeset
  6621
    self checkItemForChanges.
5317
8f813402542f item modified
penk
parents: 5315
diff changeset
  6622
    ^ self modifiedChannel value 
8f813402542f item modified
penk
parents: 5315
diff changeset
  6623
        or:[ self itemChanged value or:[ self itemRemoved value ] ]
4146
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  6624
!
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  6625
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  6626
isTextEditor
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  6627
c7c4e3044e50 on doubleclick after search the file is opened and searchPatternStrin is selected
penk
parents: 4111
diff changeset
  6628
    ^ true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6629
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  6630
321c1729db5b initial checkin
penk
parents:
diff changeset
  6631
!FileApplicationNoteBook::TextEditor methodsFor:'startup & release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6632
321c1729db5b initial checkin
penk
parents:
diff changeset
  6633
closeRequest
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  6634
    "asks for permission before closing"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6635
321c1729db5b initial checkin
penk
parents:
diff changeset
  6636
    (self doClose) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  6637
        ^ super closeRequest.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6638
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  6639
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6640
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6641
editorOperationsMenuSpecForMimeType:mimeType
13715
dab7e512b771 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13406
diff changeset
  6642
    mimeType isHtmlType ifTrue:[
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6643
        ^ self class menuEditorOperationsForHTML.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6644
    ].
13715
dab7e512b771 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13406
diff changeset
  6645
    mimeType isSmalltalkSourceType ifTrue:[
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6646
        ^ self class menuEditorOperationsForSourceCode.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6647
    ].
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6648
    mimeType isTextType ifTrue:[
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6649
        ^ self class menuEditorOperationsForNormalText.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6650
    ].
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6651
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6652
    ^ self class menuEditorOperationsForOther.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6653
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6654
    "Created: / 02-08-2013 / 18:00:39 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6655
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6656
10754
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6657
getEditorClass
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6658
    UserPreferences current useCodeView2InTools ifTrue:[
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6659
        ^ Tools::CodeView2 ? CodeView
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6660
    ].
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6661
    ^ CodeView
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6662
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6663
    "Created: / 06-10-2011 / 11:21:43 / cg"
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6664
!
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6665
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6666
hideEditorOperationsToolBarButtonCreated:aButton
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6667
    aButton passiveLevel:(MenuPanel defaultLevel).
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6668
    aButton activeLevel:-1.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6669
    aButton backgroundColor:(MenuPanel defaultBackgroundColor).
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6670
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6671
    "Created: / 02-08-2013 / 16:01:49 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6672
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6673
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6674
postBuildTextEditor:aWidget
10754
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6675
    editView := aWidget scrolledView.
14916
794fcf3b42ec class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14907
diff changeset
  6676
794fcf3b42ec class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14907
diff changeset
  6677
    "/ I don't want any non-smalltalk code to be syntaxhighlighted!!
794fcf3b42ec class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14907
diff changeset
  6678
    (editView askFor: #isCodeView2) ifTrue:[
10754
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6679
        editView languageHolder value:nil.
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6680
        editView services:#().
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6681
    ].
5430
e500bd438cc7 save as changed
penk
parents: 5429
diff changeset
  6682
    editView saveAction:[ self doSaveAs ].
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6683
    editView cursorLineHolder addDependent:self.
5430
e500bd438cc7 save as changed
penk
parents: 5429
diff changeset
  6684
5417
c4caf51053e2 add save as for TextEditor
penk
parents: 5415
diff changeset
  6685
    aWidget modifiedChannel:self viewModifiedChannel.
5528
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  6686
54e3fbee2822 fileEncoding
Claus Gittinger <cg@exept.de>
parents: 5506
diff changeset
  6687
    editView externalEncoding:self fileEncoding.
16861
1f1c2aacd0ac #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16823
diff changeset
  6688
    "/ editView characterEncoding:'unicode'. - that's the default anyway
9946
Claus Gittinger <cg@exept.de>
parents: 9885
diff changeset
  6689
10754
20b2f75fe420 can now use CodeView2
Claus Gittinger <cg@exept.de>
parents: 10706
diff changeset
  6690
    "Modified: / 06-10-2011 / 11:43:40 / cg"
10955
Claus Gittinger <cg@exept.de>
parents: 10922
diff changeset
  6691
    "Modified (comment): / 03-12-2011 / 10:27:47 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6692
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6693
321c1729db5b initial checkin
penk
parents:
diff changeset
  6694
postOpenWith:aBuilder
321c1729db5b initial checkin
penk
parents:
diff changeset
  6695
5120
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6696
"/    self item isNil ifTrue:[
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6697
"/        self item:(DirectoryContentsBrowser itemClass fileName:(Filename homeDirectory construct:'.bashrc')).
e4c15c9d82ba *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5109
diff changeset
  6698
"/    ].
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6699
    (self componentAt:#EditorOperationsToolBar) menuHolder:self editorOperationsMenuSpecHolder.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6700
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6701
    self setUpTextView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6702
    self changeInformation.
9949
d1161d3fbd19 tags view handling inside a panel
Claus Gittinger <cg@exept.de>
parents: 9947
diff changeset
  6703
    self tagsBrowserVisibilityChanged.
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  6704
    super postOpenWith:aBuilder
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6705
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6706
    "Modified: / 02-08-2013 / 17:57:50 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6707
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6708
321c1729db5b initial checkin
penk
parents:
diff changeset
  6709
release
321c1729db5b initial checkin
penk
parents:
diff changeset
  6710
    "release my resources
321c1729db5b initial checkin
penk
parents:
diff changeset
  6711
    "                    
4977
621cc3cb454d checkModify have to reset the mofication time for the file after file change in TextEditor
penk
parents: 4971
diff changeset
  6712
    self releaseCheckModify.
4969
61bfe248d137 file modification handling refactored
penk
parents: 4968
diff changeset
  6713
    checkModifiedBlock := nil.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6714
    super release.
321c1729db5b initial checkin
penk
parents:
diff changeset
  6715
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  6716
321c1729db5b initial checkin
penk
parents:
diff changeset
  6717
setUpTextView
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6718
    "care for any contents specific settings for the editor
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6719
     For example:
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6720
        - change the parenthesis-spec of the editor to include $< .. $> if the
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6721
          shown document is an html- or xml document,
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6722
        - change the editorOperationsMenu
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6723
    "
4945
f68e794d2d30 valid parenthesisSpec.
Claus Gittinger <cg@exept.de>
parents: 4923
diff changeset
  6724
12089
4690e72f5af3 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12079
diff changeset
  6725
    |item mimeType suffix parenthesis commentStrings parentesisSpec col|
4945
f68e794d2d30 valid parenthesisSpec.
Claus Gittinger <cg@exept.de>
parents: 4923
diff changeset
  6726
5550
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6727
    editView notNil ifTrue:[
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6728
        item := self item.
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6729
        item notNil ifTrue:[
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6730
            item hasMimeType ifTrue:[
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6731
                mimeType := item mimeType.
12089
4690e72f5af3 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12079
diff changeset
  6732
                suffix := self fileName asFilename suffix.
5550
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6733
13715
dab7e512b771 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13406
diff changeset
  6734
                (mimeType isHtmlType or:[mimeType isXmlType]) ifTrue:[
5550
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6735
                    parenthesis := editView parenthesisSpecification copy.
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6736
                    ((parenthesis at:#open) includes:$<) ifFalse:[
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6737
                        col := ((parenthesis at:#open) asOrderedCollection).
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6738
                        col add:$<.
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6739
                        parenthesis at:#open put:col.
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6740
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6741
                        col := ((parenthesis at:#close) asOrderedCollection).
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6742
                        col add:$>.
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6743
                        parenthesis at:#close put:col.
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6744
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6745
                        editView parenthesisSpecification:parenthesis
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6746
                    ].
5548
7449b01c95b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5540
diff changeset
  6747
                ].
5574
d4a872f4b8b7 set comment strings for fileType
Claus Gittinger <cg@exept.de>
parents: 5567
diff changeset
  6748
d4a872f4b8b7 set comment strings for fileType
Claus Gittinger <cg@exept.de>
parents: 5567
diff changeset
  6749
                commentStrings := MIMETypes 
6477
bbc1872ec339 comment strings
Claus Gittinger <cg@exept.de>
parents: 6470
diff changeset
  6750
                                    commentStringsForMimeType:mimeType 
12089
4690e72f5af3 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12079
diff changeset
  6751
                                    suffix:suffix 
5574
d4a872f4b8b7 set comment strings for fileType
Claus Gittinger <cg@exept.de>
parents: 5567
diff changeset
  6752
                                    ifUnknown:[
d4a872f4b8b7 set comment strings for fileType
Claus Gittinger <cg@exept.de>
parents: 5567
diff changeset
  6753
                                        "/ st:
d4a872f4b8b7 set comment strings for fileType
Claus Gittinger <cg@exept.de>
parents: 5567
diff changeset
  6754
                                        #('"/' ('"' '"'))
d4a872f4b8b7 set comment strings for fileType
Claus Gittinger <cg@exept.de>
parents: 5567
diff changeset
  6755
                                    ]. 
6477
bbc1872ec339 comment strings
Claus Gittinger <cg@exept.de>
parents: 6470
diff changeset
  6756
5574
d4a872f4b8b7 set comment strings for fileType
Claus Gittinger <cg@exept.de>
parents: 5567
diff changeset
  6757
                commentStrings notNil ifTrue:[
d4a872f4b8b7 set comment strings for fileType
Claus Gittinger <cg@exept.de>
parents: 5567
diff changeset
  6758
                    editView perform:#commentStrings: with:commentStrings ifNotUnderstood:nil
d4a872f4b8b7 set comment strings for fileType
Claus Gittinger <cg@exept.de>
parents: 5567
diff changeset
  6759
                ].
d4a872f4b8b7 set comment strings for fileType
Claus Gittinger <cg@exept.de>
parents: 5567
diff changeset
  6760
7787
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  6761
                parentesisSpec := MIMETypes 
8176
64c5b7c41f3d fix spelling of MIMETypes>>#parenthesis* methods
Stefan Vogel <sv@exept.de>
parents: 8087
diff changeset
  6762
                                    parenthesisSpecForMimeType:mimeType 
12089
4690e72f5af3 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12079
diff changeset
  6763
                                    suffix:suffix 
7787
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  6764
                                    ifUnknown:[
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  6765
                                        |spec|
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  6766
                                        spec := IdentityDictionary new.       
16637
21e8cf8f06bc #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16513
diff changeset
  6767
                                        spec at:#open        put:'([{' "#( $( $[ ${)" .
21e8cf8f06bc #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16513
diff changeset
  6768
                                        spec at:#close       put:')]}' "#( $) $] $})".
7787
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  6769
                                        spec
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  6770
                                    ]. 
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  6771
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  6772
                parentesisSpec notNil ifTrue:[
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  6773
                    editView perform:#parenthesisSpecification: with:parentesisSpec ifNotUnderstood:nil
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  6774
                ].
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6775
                self setupEditorOperationsMenuForMimeType:mimeType.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6776
            ] ifFalse:[
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6777
                self setupEditorOperationsMenuForMimeType:(MIMETypes mimeTypeFromString:'text/plain').
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6778
            ]
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6779
        ].
5550
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6780
        editView externalEncoding:self fileEncoding.
9e8440512c02 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5548
diff changeset
  6781
    ]
7787
244eed4800de parentesis spec
Claus Gittinger <cg@exept.de>
parents: 7769
diff changeset
  6782
13295
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6783
    "Modified: / 02-08-2013 / 16:34:34 / cg"
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6784
!
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6785
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6786
setupEditorOperationsMenuForMimeType:mimeType
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6787
    |spec|
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6788
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6789
    spec := self editorOperationsMenuSpecForMimeType:mimeType.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6790
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6791
    "/ does not work - why?
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6792
    "/ self editorOperationsMenuSpecHolder value:spec.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6793
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6794
    (self componentAt:#EditorOperationsToolBarMenu) menu:spec.
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6795
30d3cb0c4f6c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13112
diff changeset
  6796
    "Created: / 02-08-2013 / 16:35:21 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  6797
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  6798
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6799
!FileApplicationNoteBook::XMLViewApplication class methodsFor:'defaults'!
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6800
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6801
tabStringFor:aApplicationType
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6802
    "the formatString shown in a tab (language translated)"
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6803
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6804
    ^ 'XML View for %1'
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6805
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6806
    "Modified: / 17-02-2011 / 13:28:22 / cg"
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6807
! !
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6808
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6809
!FileApplicationNoteBook::XMLViewApplication class methodsFor:'help specs'!
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6810
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6811
helpSpec
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6812
    "This resource specification was automatically generated
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6813
     by the UIHelpTool of ST/X."
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6814
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6815
    "Do not manually edit this!! If it is corrupted,
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6816
     the UIHelpTool may not be able to read the specification."
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6817
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6818
    "
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6819
     UIHelpTool openOnClass:FileApplicationNoteBook::HtmlViewApplication    
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6820
    "
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6821
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6822
    <resource: #help>
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6823
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6824
    ^ super helpSpec addPairsFrom:#(
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6825
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6826
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6827
)
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6828
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6829
    "Modified: / 17-02-2011 / 13:28:28 / cg"
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6830
! !
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6831
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6832
!FileApplicationNoteBook::XMLViewApplication class methodsFor:'interface specs'!
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6833
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6834
windowSpec
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6835
    "This resource specification was automatically generated
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6836
     by the UIPainter of ST/X."
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6837
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6838
    "Do not manually edit this!! If it is corrupted,
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6839
     the UIPainter may not be able to read the specification."
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6840
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6841
    "
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6842
     UIPainter new openOnClass:FileApplicationNoteBook::XMLViewApplication andSelector:#windowSpec
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6843
     FileApplicationNoteBook::XMLViewApplication new openInterface:#windowSpec
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6844
     FileApplicationNoteBook::XMLViewApplication open
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6845
    "
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6846
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6847
    <resource: #canvas>
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6848
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6849
    ^ 
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6850
     #(FullSpec
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6851
        name: windowSpec
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6852
        window: 
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6853
       (WindowSpec
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6854
          label: 'NoteBookApplication::HtmlView'
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6855
          name: 'NoteBookApplication::HtmlView'
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6856
          min: (Point 10 10)
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6857
          bounds: (Rectangle 0 0 676 492)
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6858
          menu: mainMenu
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6859
        )
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6860
        component: 
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6861
       (SpecCollection
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6862
          collection: (
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6863
           (MenuPanelSpec
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6864
              name: 'MenuXml'
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6865
              layout: (LayoutFrame 0 0.0 0 0 0 1.0 32 0)
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6866
              level: 0
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6867
              visibilityChannel: isEmbeddedApplication
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6868
              menu: menu
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6869
              textDefault: true
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6870
            )
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6871
           (SubCanvasSpec
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6872
              name: 'XMLCanvas'
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6873
              layout: (LayoutFrame 0 0.0 32 0.0 0 1.0 0 1)
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6874
              level: 0
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6875
              hasHorizontalScrollBar: false
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6876
              hasVerticalScrollBar: false
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6877
              majorKey: #'XML::XMLInspector'
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6878
              createNewApplication: true
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6879
              createNewBuilder: false
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6880
              postBuildCallback: postBuildXMLCanvas:
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6881
            )
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6882
           )
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6883
         
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6884
        )
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6885
      )
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6886
! !
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6887
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6888
!FileApplicationNoteBook::XMLViewApplication class methodsFor:'menu specs'!
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6889
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6890
menu
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6891
    "This resource specification was automatically generated
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6892
     by the MenuEditor of ST/X."
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6893
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6894
    "Do not manually edit this!! If it is corrupted,
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6895
     the MenuEditor may not be able to read the specification."
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6896
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6897
    "
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6898
     MenuEditor new openOnClass:FileApplicationNoteBook::XMLViewApplication andSelector:#menu
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6899
     (Menu new fromLiteralArrayEncoding:(FileApplicationNoteBook::XMLViewApplication menu)) startUp
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6900
    "
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6901
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6902
    <resource: #menu>
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6903
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6904
    ^ 
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6905
     #(Menu
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6906
        (
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6907
         (MenuItem
9786
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6908
            activeHelpKey: reloadFile
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6909
            isVisible: reloadButtonVisible
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6910
            enabled: enableReload
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6911
            label: 'Reload'
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6912
            itemValue: reload
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6913
            nameKey: Reload
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6914
            translateLabel: true
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6915
            isButton: true
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6916
            labelImage: (ResourceRetriever ToolbarIconLibrary reloadTextFromFileIcon)
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6917
          )
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6918
         (MenuItem
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6919
            activeHelpKey: closeTabButton
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6920
            label: 'Close'
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6921
            itemValue: doClose
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6922
            translateLabel: true
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6923
            isButton: true
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6924
            startGroup: right
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6925
            hideMenuOnActivated: false
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6926
            labelImage: (ResourceRetriever ToolbarIconLibrary removeTabIcon)
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6927
          )
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6928
         )
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6929
        nil
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6930
        nil
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6931
      )
9786
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6932
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6933
    "Modified: / 17-02-2011 / 17:30:26 / cg"
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6934
! !
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6935
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6936
!FileApplicationNoteBook::XMLViewApplication class methodsFor:'queries'!
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6937
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6938
canOpenItem:anItem
15935
db25457b04b4 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15908
diff changeset
  6939
    |mime|
db25457b04b4 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15908
diff changeset
  6940
    
12121
57a6e8face3b class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 12115
diff changeset
  6941
    (Smalltalk at:#'XML::XMLInspector') isNil ifTrue:[^ false].
15935
db25457b04b4 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15908
diff changeset
  6942
    ((mime := anItem mimeType) isNil or:[ mime == #unknown]) ifTrue:[^ false].
db25457b04b4 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15908
diff changeset
  6943
    
db25457b04b4 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15908
diff changeset
  6944
    ^ mime isXmlType
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6945
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6946
    "Modified: / 17-02-2011 / 13:34:08 / cg"
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6947
!
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6948
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6949
wantNewApplicationAnyway
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6950
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6951
    ^ false
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6952
! !
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6953
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6954
!FileApplicationNoteBook::XMLViewApplication methodsFor:'accessing'!
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6955
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6956
item:anItem 
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6957
    |retVal|
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6958
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6959
    self labelHolder value:anItem fileName asString.
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6960
    retVal := super item:anItem.
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6961
    xmlTreeApp notNil ifTrue:[
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6962
        self updateXMLTree
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6963
    ].
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6964
    ^ retVal
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6965
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6966
    "Modified: / 17-02-2011 / 13:38:53 / cg"
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6967
!
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6968
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6969
updateXMLTree
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6970
    |inStream dom|
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6971
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6972
    self withWaitCursorDo:[
9786
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6973
        XML::XMLSignal handle:[:ex |
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6974
            Dialog 
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6975
                information:
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6976
                    (resources 
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6977
                        stringWithCRs:'Error reported by XML-Parser in line %1:\\%2\\Showing as regular text.' 
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6978
                        with:inStream lineNumber 
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6979
                        with:ex description).
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6980
            Error raise.
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6981
        ] do:[
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6982
            inStream := LineNumberReadStream on:(self fileName readStream).
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6983
            [
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6984
                dom := XML::XMLParser 
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6985
                        processDocumentStream:inStream
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6986
                        beforeScanDo:[:parser | parser validate:false. ].
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6987
                xmlTreeApp model:dom.
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6988
            ] ensure:[
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6989
                inStream close
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6990
            ]
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6991
        ].
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6992
    ].
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6993
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  6994
    "Created: / 17-02-2011 / 13:39:07 / cg"
9786
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6995
    "Modified: / 17-02-2011 / 17:39:15 / cg"
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6996
! !
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6997
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6998
!FileApplicationNoteBook::XMLViewApplication methodsFor:'actions'!
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  6999
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  7000
reload
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  7001
    self updateXMLTree.
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  7002
be0b10d85572 changed: #openApplByFileItem:
Claus Gittinger <cg@exept.de>
parents: 9785
diff changeset
  7003
    "Created: / 17-02-2011 / 17:46:36 / cg"
9785
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7004
! !
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7005
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7006
!FileApplicationNoteBook::XMLViewApplication methodsFor:'aspects'!
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7007
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7008
labelHolder
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7009
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7010
    labelHolder isNil ifTrue:[
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7011
        labelHolder := '' asValue.
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7012
    ].
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7013
    ^ labelHolder.
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7014
! !
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7015
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7016
!FileApplicationNoteBook::XMLViewApplication methodsFor:'initialization & release'!
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7017
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7018
postBuildXMLCanvas:aWidget
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7019
    xmlTreeApp := aWidget client.
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7020
    item notNil ifTrue:[self updateXMLTree].
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7021
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7022
    "Modified: / 17-02-2011 / 13:39:18 / cg"
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7023
! !
eebe4073813f changed: #applicationList
Claus Gittinger <cg@exept.de>
parents: 9611
diff changeset
  7024
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7025
!FileApplicationNoteBook::XViewApplication class methodsFor:'defaults'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7026
321c1729db5b initial checkin
penk
parents:
diff changeset
  7027
maxNumberOfVNCRestarts
321c1729db5b initial checkin
penk
parents:
diff changeset
  7028
321c1729db5b initial checkin
penk
parents:
diff changeset
  7029
    ^ 10
321c1729db5b initial checkin
penk
parents:
diff changeset
  7030
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7031
321c1729db5b initial checkin
penk
parents:
diff changeset
  7032
mimeTypeUnixApplicationMapping
321c1729db5b initial checkin
penk
parents:
diff changeset
  7033
321c1729db5b initial checkin
penk
parents:
diff changeset
  7034
" here insert the application and mime type pairs to open by XviewApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
  7035
"
321c1729db5b initial checkin
penk
parents:
diff changeset
  7036
321c1729db5b initial checkin
penk
parents:
diff changeset
  7037
    ^
321c1729db5b initial checkin
penk
parents:
diff changeset
  7038
    #(
14496
4c671a13ba46 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14462
diff changeset
  7039
        #(#'application/postscript'     'gv %1'           )
4c671a13ba46 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14462
diff changeset
  7040
        #(#'application/pdf'            'acroread %1'     )
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7041
    )
321c1729db5b initial checkin
penk
parents:
diff changeset
  7042
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7043
321c1729db5b initial checkin
penk
parents:
diff changeset
  7044
tabStringFor:aApplicationType
7687
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  7045
    "the formatString shown in a tab (language translated)"
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  7046
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  7047
    ^ 'VNC for %1'
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  7048
22b90cc3328f code cleanup
Claus Gittinger <cg@exept.de>
parents: 7596
diff changeset
  7049
    "Modified: / 01-03-2007 / 21:43:43 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7050
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7051
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7052
unixVNCCommand
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7053
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7054
    ^ 'Xvnc'
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7055
!
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7056
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7057
wantNewApplicationAnyway
321c1729db5b initial checkin
penk
parents:
diff changeset
  7058
4500
9f0b8d6ae2be make a new XView for a new item if an XView already open
penk
parents: 4499
diff changeset
  7059
    ^ true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7060
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  7061
321c1729db5b initial checkin
penk
parents:
diff changeset
  7062
!FileApplicationNoteBook::XViewApplication class methodsFor:'interface specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7063
321c1729db5b initial checkin
penk
parents:
diff changeset
  7064
windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  7065
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  7066
     by the UIPainter of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  7067
321c1729db5b initial checkin
penk
parents:
diff changeset
  7068
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  7069
     the UIPainter may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  7070
321c1729db5b initial checkin
penk
parents:
diff changeset
  7071
    "
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7072
     UIPainter new openOnClass:FileApplicationNoteBook::XViewApplication andSelector:#windowSpec
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7073
     FileApplicationNoteBook::XViewApplication new openInterface:#windowSpec
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7074
     FileApplicationNoteBook::XViewApplication open
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7075
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  7076
321c1729db5b initial checkin
penk
parents:
diff changeset
  7077
    <resource: #canvas>
321c1729db5b initial checkin
penk
parents:
diff changeset
  7078
321c1729db5b initial checkin
penk
parents:
diff changeset
  7079
    ^ 
321c1729db5b initial checkin
penk
parents:
diff changeset
  7080
     #(#FullSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  7081
        #name: #windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  7082
        #window: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  7083
       #(#WindowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
  7084
          #label: 'XView'
321c1729db5b initial checkin
penk
parents:
diff changeset
  7085
          #name: 'XView'
321c1729db5b initial checkin
penk
parents:
diff changeset
  7086
          #min: #(#Point 10 10)
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7087
          #bounds: #(#Rectangle 16 42 692 534)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7088
          #menu: #mainMenu
321c1729db5b initial checkin
penk
parents:
diff changeset
  7089
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  7090
        #component: 
321c1729db5b initial checkin
penk
parents:
diff changeset
  7091
       #(#SpecCollection
321c1729db5b initial checkin
penk
parents:
diff changeset
  7092
          #collection: #(
321c1729db5b initial checkin
penk
parents:
diff changeset
  7093
           #(#MenuPanelSpec
4261
8cfc011b2c0c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4201
diff changeset
  7094
              #name: 'MenuVNC'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7095
              #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7096
              #level: 0
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7097
              #visibilityChannel: #isEmbeddedApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
  7098
              #menu: #menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  7099
              #textDefault: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  7100
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  7101
           #(#ArbitraryComponentSpec
4261
8cfc011b2c0c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4201
diff changeset
  7102
              #name: 'VNCView'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7103
              #layout: #(#LayoutFrame 0 0.0 32 0.0 0 1.0 0 1.0)
321c1729db5b initial checkin
penk
parents:
diff changeset
  7104
              #hasHorizontalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  7105
              #hasVerticalScrollBar: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  7106
              #miniScrollerHorizontal: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  7107
              #miniScrollerVertical: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  7108
              #hasBorder: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  7109
              #component: #VNCFrameBufferView
321c1729db5b initial checkin
penk
parents:
diff changeset
  7110
              #postBuildCallback: #postBuildXView:
321c1729db5b initial checkin
penk
parents:
diff changeset
  7111
            )
321c1729db5b initial checkin
penk
parents:
diff changeset
  7112
           )
321c1729db5b initial checkin
penk
parents:
diff changeset
  7113
         
321c1729db5b initial checkin
penk
parents:
diff changeset
  7114
        )
321c1729db5b initial checkin
penk
parents:
diff changeset
  7115
      )
321c1729db5b initial checkin
penk
parents:
diff changeset
  7116
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  7117
321c1729db5b initial checkin
penk
parents:
diff changeset
  7118
!FileApplicationNoteBook::XViewApplication class methodsFor:'menu specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7119
321c1729db5b initial checkin
penk
parents:
diff changeset
  7120
menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  7121
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  7122
     by the MenuEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  7123
321c1729db5b initial checkin
penk
parents:
diff changeset
  7124
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  7125
     the MenuEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  7126
321c1729db5b initial checkin
penk
parents:
diff changeset
  7127
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  7128
     MenuEditor new openOnClass:NoteBookApplication::ImageViewApplication andSelector:#menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  7129
     (Menu new fromLiteralArrayEncoding:(NoteBookApplication::ImageViewApplication menu)) startUp
321c1729db5b initial checkin
penk
parents:
diff changeset
  7130
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  7131
321c1729db5b initial checkin
penk
parents:
diff changeset
  7132
    <resource: #menu>
321c1729db5b initial checkin
penk
parents:
diff changeset
  7133
321c1729db5b initial checkin
penk
parents:
diff changeset
  7134
    ^ 
321c1729db5b initial checkin
penk
parents:
diff changeset
  7135
     #(#Menu
321c1729db5b initial checkin
penk
parents:
diff changeset
  7136
        #(
321c1729db5b initial checkin
penk
parents:
diff changeset
  7137
         #(#MenuItem
6100
cfed9da80b68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  7138
            #activeHelpKey: #closeTabButton
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7139
            #label: 'Close'
321c1729db5b initial checkin
penk
parents:
diff changeset
  7140
            #translateLabel: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  7141
            #isButton: true
321c1729db5b initial checkin
penk
parents:
diff changeset
  7142
            #hideMenuOnActivated: false
321c1729db5b initial checkin
penk
parents:
diff changeset
  7143
            #startGroup: #right
321c1729db5b initial checkin
penk
parents:
diff changeset
  7144
            #value: #doClose
6093
cab3a82eaa34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6091
diff changeset
  7145
            #labelImage: #(#ResourceRetriever #ToolbarIconLibrary #removeTabIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7146
          )
321c1729db5b initial checkin
penk
parents:
diff changeset
  7147
         )
321c1729db5b initial checkin
penk
parents:
diff changeset
  7148
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  7149
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  7150
      )
321c1729db5b initial checkin
penk
parents:
diff changeset
  7151
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  7152
321c1729db5b initial checkin
penk
parents:
diff changeset
  7153
!FileApplicationNoteBook::XViewApplication class methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7154
5008
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7155
canOpenItem:anItem
5265
277aaeb1eb45 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5259
diff changeset
  7156
    | keySym|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7157
    
5008
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7158
    keySym := anItem mimeType asSymbol.
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7159
    OperatingSystem isUNIXlike ifFalse:[^ false].
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7160
5265
277aaeb1eb45 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 5259
diff changeset
  7161
    (self mimeTypeUnixApplicationMapping contains:[ : el | (el at:1) == keySym ]) ifFalse:[^ false].
5008
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7162
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7163
    (OperatingSystem executeCommand:('which ', self unixVNCCommand)) ifFalse:[
14496
4c671a13ba46 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 14462
diff changeset
  7164
        "/ Dialog warn:'Cannot start a viewer for ' , anItem fileName baseName.
5008
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7165
        ^ false.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7166
    ].
5008
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7167
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7168
    VNCFrameBufferView notNil ifFalse:[
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7169
        Dialog warn:'VNC support classes are missing (package not loaded?)'.
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7170
        ^ false.
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7171
    ].
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7172
    ^ true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7173
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  7174
321c1729db5b initial checkin
penk
parents:
diff changeset
  7175
!FileApplicationNoteBook::XViewApplication methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7176
321c1729db5b initial checkin
penk
parents:
diff changeset
  7177
xView
321c1729db5b initial checkin
penk
parents:
diff changeset
  7178
    "return the value of the instance variable 'imageView' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  7179
321c1729db5b initial checkin
penk
parents:
diff changeset
  7180
    ^ xView
321c1729db5b initial checkin
penk
parents:
diff changeset
  7181
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7182
321c1729db5b initial checkin
penk
parents:
diff changeset
  7183
xView:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  7184
    "set the value of the instance variable 'imageView' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  7185
321c1729db5b initial checkin
penk
parents:
diff changeset
  7186
    xView := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7187
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  7188
321c1729db5b initial checkin
penk
parents:
diff changeset
  7189
!FileApplicationNoteBook::XViewApplication methodsFor:'actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7190
321c1729db5b initial checkin
penk
parents:
diff changeset
  7191
changeInformation 
15594
ebb982d3e6c3 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 15489
diff changeset
  7192
    |stream|
ebb982d3e6c3 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 15489
diff changeset
  7193
ebb982d3e6c3 class: FileApplicationNoteBook
Stefan Vogel <sv@exept.de>
parents: 15489
diff changeset
  7194
    stream := CharacterWriteStream with:'XView on: '.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7195
    stream nextPutAll:self fileName baseName.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7196
    masterApplication isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7197
        self window label:stream contents.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7198
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7199
        masterApplication tabStringChangeTo:stream contents for:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7200
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7201
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7202
321c1729db5b initial checkin
penk
parents:
diff changeset
  7203
setupXView
321c1729db5b initial checkin
penk
parents:
diff changeset
  7204
3906
8a76cb4f5884 next stage
penk
parents: 3892
diff changeset
  7205
    |xExt yExt mainView|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7206
321c1729db5b initial checkin
penk
parents:
diff changeset
  7207
    self startVNCserver.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7208
    xExt := self xView width asString.
3906
8a76cb4f5884 next stage
penk
parents: 3892
diff changeset
  7209
    self masterApplication notNil ifTrue:[
8a76cb4f5884 next stage
penk
parents: 3892
diff changeset
  7210
        mainView := self builder windowGroup mainView.
8a76cb4f5884 next stage
penk
parents: 3892
diff changeset
  7211
        "/ if the mainView is a FileBrowser take them y extent because size of notebook can be changed
8a76cb4f5884 next stage
penk
parents: 3892
diff changeset
  7212
        (mainView application class == (Smalltalk at:#FileBrowserV2 ifAbsent:nil)) notNil ifTrue:[
8a76cb4f5884 next stage
penk
parents: 3892
diff changeset
  7213
            yExt := mainView height asString.
8a76cb4f5884 next stage
penk
parents: 3892
diff changeset
  7214
        ].
8a76cb4f5884 next stage
penk
parents: 3892
diff changeset
  7215
    ].
8a76cb4f5884 next stage
penk
parents: 3892
diff changeset
  7216
    yExt isNil ifTrue:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7217
        yExt := self xView height asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7218
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7219
    ext := xExt, 'x', yExt.    
321c1729db5b initial checkin
penk
parents:
diff changeset
  7220
    self startViewer.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7221
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  7222
321c1729db5b initial checkin
penk
parents:
diff changeset
  7223
!FileApplicationNoteBook::XViewApplication methodsFor:'actions VNC'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7224
321c1729db5b initial checkin
penk
parents:
diff changeset
  7225
setupView
321c1729db5b initial checkin
penk
parents:
diff changeset
  7226
    |  renderer view|
321c1729db5b initial checkin
penk
parents:
diff changeset
  7227
321c1729db5b initial checkin
penk
parents:
diff changeset
  7228
    view := xView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7229
    renderer := VNCRenderer for:vncConnection targetWindow:view device:xView device.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7230
321c1729db5b initial checkin
penk
parents:
diff changeset
  7231
    view renderer:renderer.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7232
    view connection:vncConnection.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7233
321c1729db5b initial checkin
penk
parents:
diff changeset
  7234
    VNCException handle:[:ex|
321c1729db5b initial checkin
penk
parents:
diff changeset
  7235
        self stopViewer.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7236
    ] do:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7237
        vncConnection 
321c1729db5b initial checkin
penk
parents:
diff changeset
  7238
            startMessageHandlerProcessForRenderer:renderer
321c1729db5b initial checkin
penk
parents:
diff changeset
  7239
            errorHandler:[:ex | self stopViewer].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7240
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7241
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7242
321c1729db5b initial checkin
penk
parents:
diff changeset
  7243
startVNCserver
321c1729db5b initial checkin
penk
parents:
diff changeset
  7244
    |cmd blocked connected numberOfVncStarts|
321c1729db5b initial checkin
penk
parents:
diff changeset
  7245
5008
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7246
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7247
    VNCAuthenticationFailure isNil ifTrue:[
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7248
        Dialog warn:'VNC Classes missing (package not laoded ?)'.
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7249
        ^ self.
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7250
    ].
3f24f5a9f740 gzip archiver stuff fixed.
Claus Gittinger <cg@exept.de>
parents: 5007
diff changeset
  7251
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7252
    connected := false.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7253
    numberOfVncStarts isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7254
        numberOfVncStarts := 1.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7255
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7256
        numberOfVncStarts := numberOfVncStarts + 1.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7257
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7258
321c1729db5b initial checkin
penk
parents:
diff changeset
  7259
    vncLock isNil ifTrue:[vncLock := Semaphore forMutualExclusion].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7260
321c1729db5b initial checkin
penk
parents:
diff changeset
  7261
    vncServerPID isNil ifTrue:[
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7262
        cmd := ('/usr/X11R6/bin/', self class unixVNCCommand).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7263
        cmd asFilename exists ifFalse:[
4336
b4228ddf2183 change level of buttons bfor notebook applications and remove directory for label of terminal app
penk
parents: 4293
diff changeset
  7264
            cmd := self class unixVNCCommand.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7265
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7266
        vncPortNr isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7267
            vncPortNr := 29
321c1729db5b initial checkin
penk
parents:
diff changeset
  7268
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7269
        cmd := cmd , ' :' , vncPortNr printString , ' nologo -nevershared -localhost -depth 16 -geometry 1024x1024'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7270
321c1729db5b initial checkin
penk
parents:
diff changeset
  7271
        blocked := OperatingSystem blockInterrupts.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7272
321c1729db5b initial checkin
penk
parents:
diff changeset
  7273
        vncServerPID := Processor
321c1729db5b initial checkin
penk
parents:
diff changeset
  7274
                   monitor:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7275
                      vncServerIsTerminated := false.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7276
                      OperatingSystem
321c1729db5b initial checkin
penk
parents:
diff changeset
  7277
                          exec:'/bin/sh'
321c1729db5b initial checkin
penk
parents:
diff changeset
  7278
                          withArguments:(Array with:'sh' with:'-c' with:cmd)
4622
857bbc5a9d47 Cleanup filedescriptor closing on #exec:withArguments:....
Stefan Vogel <sv@exept.de>
parents: 4621
diff changeset
  7279
                          environment:nil
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7280
                          fileDescriptors:#()
321c1729db5b initial checkin
penk
parents:
diff changeset
  7281
                          fork:true
321c1729db5b initial checkin
penk
parents:
diff changeset
  7282
                          newPgrp:true
16823
21451c6e8953 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 16637
diff changeset
  7283
                          inDirectory:nil
21451c6e8953 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 16637
diff changeset
  7284
                          showWindow:false.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7285
                   ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  7286
                   action:[:status |
321c1729db5b initial checkin
penk
parents:
diff changeset
  7287
                      status stillAlive ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7288
                          OperatingSystem closePid:vncServerPID.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7289
                          vncLock critical:[  
321c1729db5b initial checkin
penk
parents:
diff changeset
  7290
                             vncServerPID := nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7291
                             self vncServerTerminated.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7292
                          ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7293
                      ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7294
                  ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7295
321c1729db5b initial checkin
penk
parents:
diff changeset
  7296
        blocked ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7297
            OperatingSystem unblockInterrupts
321c1729db5b initial checkin
penk
parents:
diff changeset
  7298
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7299
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7300
321c1729db5b initial checkin
penk
parents:
diff changeset
  7301
    self waitForTerminationOfServer ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7302
"/        Transcript showCR:'server has terminated really - try with next port'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7303
        (numberOfVncStarts < self class maxNumberOfVNCRestarts) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7304
            vncPortNr := vncPortNr + 1.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7305
"/            Transcript showCR:'try next port ', vncPortNr asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7306
            self startVNCserver.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7307
        ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7308
            Dialog warn:'have started servers from port '
321c1729db5b initial checkin
penk
parents:
diff changeset
  7309
                      , (vncPortNr - self class maxNumberOfVNCRestarts) asString
321c1729db5b initial checkin
penk
parents:
diff changeset
  7310
                      , ' to '
321c1729db5b initial checkin
penk
parents:
diff changeset
  7311
                      , vncPortNr
321c1729db5b initial checkin
penk
parents:
diff changeset
  7312
                      , ' - cant connect anyway'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7313
"/            Transcript showCR:'have started servers from port ', vncPortNr - self class maxNumberOfVNCRestarts, ' to ', vncPortNr.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7314
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7315
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7316
        vncLock critical:[  
321c1729db5b initial checkin
penk
parents:
diff changeset
  7317
            vncServerPID isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7318
                Dialog warn:'Cannot start Xvnc'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7319
            ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7320
                VNCAuthenticationFailure handle:[:ex |
321c1729db5b initial checkin
penk
parents:
diff changeset
  7321
                    Dialog warn:'Wrong password'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7322
                ] do:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7323
                    connected := self vncConnect.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7324
                ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7325
                connected ifTrue:[self setupView].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7326
            ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7327
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7328
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7329
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7330
321c1729db5b initial checkin
penk
parents:
diff changeset
  7331
stopVNCServer
5259
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7332
    |pid|
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7333
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7334
    (pid := vncServerPID) notNil ifTrue:[
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7335
        OperatingSystem terminateProcess:pid.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7336
        Delay waitForSeconds:0.2.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7337
        vncServerPID notNil ifTrue:[
5259
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7338
            OperatingSystem killProcess:pid.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7339
            vncServerPID := nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7340
        ].
5259
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7341
        OperatingSystem closePid:pid
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7342
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7343
    self vncServerTerminated.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7344
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7345
321c1729db5b initial checkin
penk
parents:
diff changeset
  7346
vncConnect
321c1729db5b initial checkin
penk
parents:
diff changeset
  7347
    |  tryConnects|
321c1729db5b initial checkin
penk
parents:
diff changeset
  7348
321c1729db5b initial checkin
penk
parents:
diff changeset
  7349
    vncConnection notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7350
        vncConnection close
321c1729db5b initial checkin
penk
parents:
diff changeset
  7351
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7352
321c1729db5b initial checkin
penk
parents:
diff changeset
  7353
    vncConnection := VNCServerConnection new.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7354
    tryConnects := 1.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7355
    [tryConnects < 3] whileTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7356
        VNCConnectionFailure handle:[:ex |
321c1729db5b initial checkin
penk
parents:
diff changeset
  7357
            Delay waitForSeconds:0.5.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7358
            tryConnects := tryConnects + 1.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7359
        ] do:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7360
            vncConnection connectTo:'localhost' port:vncPortNr.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7361
            ^ true.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7362
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7363
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7364
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
  7365
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7366
321c1729db5b initial checkin
penk
parents:
diff changeset
  7367
vncServerTerminated
321c1729db5b initial checkin
penk
parents:
diff changeset
  7368
"/    Transcript showCR:'vnc server has terminated'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7369
"/    'vnc server has terminated' errorPrintCR.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7370
    "/ Dialog information:'vnc server has terminated'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7371
321c1729db5b initial checkin
penk
parents:
diff changeset
  7372
    self stopViewer.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7373
    vncConnection notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7374
        vncConnection close.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7375
        vncConnection := nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  7376
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7377
    vncServerIsTerminated := true.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7378
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7379
321c1729db5b initial checkin
penk
parents:
diff changeset
  7380
waitForTerminationOfServer
321c1729db5b initial checkin
penk
parents:
diff changeset
  7381
    | cycles |
321c1729db5b initial checkin
penk
parents:
diff changeset
  7382
321c1729db5b initial checkin
penk
parents:
diff changeset
  7383
    cycles := 1.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7384
    [vncServerIsTerminated] whileFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7385
        (cycles > 3) ifTrue:[^ false].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7386
        cycles := cycles + 1.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7387
        Delay waitForSeconds:0.5.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7388
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7389
    ^ true
321c1729db5b initial checkin
penk
parents:
diff changeset
  7390
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  7391
321c1729db5b initial checkin
penk
parents:
diff changeset
  7392
!FileApplicationNoteBook::XViewApplication methodsFor:'actions viewer'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7393
321c1729db5b initial checkin
penk
parents:
diff changeset
  7394
startViewer
321c1729db5b initial checkin
penk
parents:
diff changeset
  7395
    |cmd keySym applItem |
321c1729db5b initial checkin
penk
parents:
diff changeset
  7396
321c1729db5b initial checkin
penk
parents:
diff changeset
  7397
    keySym := self item mimeType asSymbol.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7398
    applItem := self class mimeTypeUnixApplicationMapping detect:[ : el | (el at:1) == keySym ] ifNone:[nil].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7399
    applItem isNil ifTrue:[ ^ self].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7400
    
321c1729db5b initial checkin
penk
parents:
diff changeset
  7401
    cmd := (applItem at:2) asString, ' -geometry ', ext, ' -display :' , vncPortNr printString , ' ' , self fileName asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7402
    self startViewer:cmd
321c1729db5b initial checkin
penk
parents:
diff changeset
  7403
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7404
321c1729db5b initial checkin
penk
parents:
diff changeset
  7405
startViewer:viewerCommand
321c1729db5b initial checkin
penk
parents:
diff changeset
  7406
    |blocked|
321c1729db5b initial checkin
penk
parents:
diff changeset
  7407
321c1729db5b initial checkin
penk
parents:
diff changeset
  7408
    viewerPID notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7409
        ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  7410
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7411
321c1729db5b initial checkin
penk
parents:
diff changeset
  7412
    blocked := OperatingSystem blockInterrupts.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7413
321c1729db5b initial checkin
penk
parents:
diff changeset
  7414
    viewerPID := Processor
321c1729db5b initial checkin
penk
parents:
diff changeset
  7415
               monitor:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7416
                  OperatingSystem
321c1729db5b initial checkin
penk
parents:
diff changeset
  7417
                      exec:'/bin/sh'
321c1729db5b initial checkin
penk
parents:
diff changeset
  7418
                      withArguments:(Array with:'sh' with:'-c' with:viewerCommand)
4622
857bbc5a9d47 Cleanup filedescriptor closing on #exec:withArguments:....
Stefan Vogel <sv@exept.de>
parents: 4621
diff changeset
  7419
                      environment:nil
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7420
                      fileDescriptors:#()
321c1729db5b initial checkin
penk
parents:
diff changeset
  7421
                      fork:true
321c1729db5b initial checkin
penk
parents:
diff changeset
  7422
                      newPgrp:true
16823
21451c6e8953 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 16637
diff changeset
  7423
                      inDirectory:nil
21451c6e8953 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 16637
diff changeset
  7424
                      showWindow:false.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7425
               ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  7426
               action:[:status |
321c1729db5b initial checkin
penk
parents:
diff changeset
  7427
                  status stillAlive ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7428
                      OperatingSystem closePid:viewerPID.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7429
                      viewerPID := nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7430
                      self viewerTerminated.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7431
                  ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7432
               ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7433
321c1729db5b initial checkin
penk
parents:
diff changeset
  7434
    blocked ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7435
        OperatingSystem unblockInterrupts
321c1729db5b initial checkin
penk
parents:
diff changeset
  7436
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7437
321c1729db5b initial checkin
penk
parents:
diff changeset
  7438
    viewerPID isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7439
        Dialog warn:'Cannot start ', viewerCommand.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7440
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7441
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7442
321c1729db5b initial checkin
penk
parents:
diff changeset
  7443
startXterm
321c1729db5b initial checkin
penk
parents:
diff changeset
  7444
    |cmd|
321c1729db5b initial checkin
penk
parents:
diff changeset
  7445
321c1729db5b initial checkin
penk
parents:
diff changeset
  7446
    cmd := 'xterm -geometry 600x800 -display :' , vncPortNr printString.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7447
    self startViewer:cmd
321c1729db5b initial checkin
penk
parents:
diff changeset
  7448
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7449
321c1729db5b initial checkin
penk
parents:
diff changeset
  7450
stopViewer
5259
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7451
    |pid|
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7452
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7453
    (pid := viewerPID) notNil ifTrue:[
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7454
        OperatingSystem terminateProcess:pid.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7455
        Delay waitForSeconds:0.2.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7456
        viewerPID notNil ifTrue:[
5259
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7457
            OperatingSystem killProcess:pid.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7458
            viewerPID := nil.
5259
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7459
        ].
b81919da4356 terminateProcess stuff.
Claus Gittinger <cg@exept.de>
parents: 5223
diff changeset
  7460
        OperatingSystem closePid:pid
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7461
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7462
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7463
321c1729db5b initial checkin
penk
parents:
diff changeset
  7464
viewerTerminated
321c1729db5b initial checkin
penk
parents:
diff changeset
  7465
"/    Transcript showCR:'viewer has terminated'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7466
"/    'viewer has terminated' errorPrintCR.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7467
    "/ Dialog information:'viewer has terminated'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7468
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  7469
321c1729db5b initial checkin
penk
parents:
diff changeset
  7470
!FileApplicationNoteBook::XViewApplication methodsFor:'initialization & release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7471
321c1729db5b initial checkin
penk
parents:
diff changeset
  7472
postBuildXView:aWidget
321c1729db5b initial checkin
penk
parents:
diff changeset
  7473
321c1729db5b initial checkin
penk
parents:
diff changeset
  7474
    self xView:aWidget scrolledView.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7475
    self xView wantsFocusWithPointerEnter.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7476
    aWidget autoHideScrollBars:true.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7477
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7478
321c1729db5b initial checkin
penk
parents:
diff changeset
  7479
postOpenWith:aBuilder 
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  7480
    "only invoked if the application not started from a master"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7481
321c1729db5b initial checkin
penk
parents:
diff changeset
  7482
    |currentDir contents suffix fileName|
321c1729db5b initial checkin
penk
parents:
diff changeset
  7483
321c1729db5b initial checkin
penk
parents:
diff changeset
  7484
    self masterApplication isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7485
        self masterApplication:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7486
        currentDir := Filename homeDirectory.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7487
        contents := currentDir directoryContents.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7488
        fileName := contents 
321c1729db5b initial checkin
penk
parents:
diff changeset
  7489
                    detect:[:file | 
321c1729db5b initial checkin
penk
parents:
diff changeset
  7490
                        suffix := file asFilename suffix asLowercase.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7491
                        suffix = 'pdf'
321c1729db5b initial checkin
penk
parents:
diff changeset
  7492
                    ]
321c1729db5b initial checkin
penk
parents:
diff changeset
  7493
                    ifNone:[nil].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7494
        fileName isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  7495
            Dialog warn:'cant find a PDF File in ' , currentDir asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7496
            ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
  7497
        ].
3982
fc30449d705d *** empty log message ***
penk
parents: 3962
diff changeset
  7498
        self item:(DirectoryContentsBrowser itemClass fileName:(currentDir construct:fileName)).
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7499
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  7500
    self changeInformation.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7501
    self setupXView.
6626
06553542e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6518
diff changeset
  7502
    super postOpenWith:aBuilder
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7503
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7504
321c1729db5b initial checkin
penk
parents:
diff changeset
  7505
release
321c1729db5b initial checkin
penk
parents:
diff changeset
  7506
"/Transcript showCR:'release'.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7507
    self stopViewer.
321c1729db5b initial checkin
penk
parents:
diff changeset
  7508
    self stopVNCServer.
14065
a6da1191dfc5 class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 13905
diff changeset
  7509
    super release
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7510
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  7511
321c1729db5b initial checkin
penk
parents:
diff changeset
  7512
!FileApplicationNoteBook class methodsFor:'documentation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  7513
10761
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  7514
version
15815
480bea0caf0c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15668
diff changeset
  7515
    ^ '$Header$'
10761
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  7516
!
64a7f27deb22 defaultTagsBrowserVisible
Claus Gittinger <cg@exept.de>
parents: 10754
diff changeset
  7517
8912
4ee5a8847d06 category changes
Claus Gittinger <cg@exept.de>
parents: 8783
diff changeset
  7518
version_CVS
15815
480bea0caf0c class: FileApplicationNoteBook
Claus Gittinger <cg@exept.de>
parents: 15668
diff changeset
  7519
    ^ '$Header$'
19606
77274bbcd92b Theming: use `SystemBrowser emphasisForChangesCode`
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
  7520
!
77274bbcd92b Theming: use `SystemBrowser emphasisForChangesCode`
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
  7521
77274bbcd92b Theming: use `SystemBrowser emphasisForChangesCode`
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
  7522
version_HG
77274bbcd92b Theming: use `SystemBrowser emphasisForChangesCode`
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
  7523
77274bbcd92b Theming: use `SystemBrowser emphasisForChangesCode`
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
  7524
    ^ '$Changeset: <not expanded> $'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  7525
! !
12115
2c76fe73e8e0 changed: #processEvent:
Claus Gittinger <cg@exept.de>
parents: 12089
diff changeset
  7526