AbstractFileApplicationNoteBookComponent.st
author Claus Gittinger <cg@exept.de>
Mon, 30 Jun 2003 15:24:18 +0200
changeset 5010 27aa6fa93dcd
parent 4529 134c48ecdef5
child 5120 e4c15c9d82ba
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
     1
"{ Package: 'stx:libtool' }"
321c1729db5b initial checkin
penk
parents:
diff changeset
     2
321c1729db5b initial checkin
penk
parents:
diff changeset
     3
ApplicationModel subclass:#AbstractFileApplicationNoteBookComponent
321c1729db5b initial checkin
penk
parents:
diff changeset
     4
	instanceVariableNames:'sameFileIndex item type notifyChannel'
321c1729db5b initial checkin
penk
parents:
diff changeset
     5
	classVariableNames:''
321c1729db5b initial checkin
penk
parents:
diff changeset
     6
	poolDictionaries:''
321c1729db5b initial checkin
penk
parents:
diff changeset
     7
	category:'Interface-Tools-File'
321c1729db5b initial checkin
penk
parents:
diff changeset
     8
!
321c1729db5b initial checkin
penk
parents:
diff changeset
     9
321c1729db5b initial checkin
penk
parents:
diff changeset
    10
321c1729db5b initial checkin
penk
parents:
diff changeset
    11
!AbstractFileApplicationNoteBookComponent class methodsFor:'defaults'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    12
321c1729db5b initial checkin
penk
parents:
diff changeset
    13
tabStringFor:aApplicationType
321c1729db5b initial checkin
penk
parents:
diff changeset
    14
321c1729db5b initial checkin
penk
parents:
diff changeset
    15
    ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
    16
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    17
321c1729db5b initial checkin
penk
parents:
diff changeset
    18
!AbstractFileApplicationNoteBookComponent class methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    19
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4529
diff changeset
    20
canOpenItem:anItem
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    21
321c1729db5b initial checkin
penk
parents:
diff changeset
    22
"
321c1729db5b initial checkin
penk
parents:
diff changeset
    23
    example:
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4529
diff changeset
    24
    ^ (anItem suffix == 'cc')
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    25
"
321c1729db5b initial checkin
penk
parents:
diff changeset
    26
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
    27
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    28
321c1729db5b initial checkin
penk
parents:
diff changeset
    29
wantNewApplicationAnyway
321c1729db5b initial checkin
penk
parents:
diff changeset
    30
321c1729db5b initial checkin
penk
parents:
diff changeset
    31
    ^ true
321c1729db5b initial checkin
penk
parents:
diff changeset
    32
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    33
321c1729db5b initial checkin
penk
parents:
diff changeset
    34
!AbstractFileApplicationNoteBookComponent methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    35
4529
134c48ecdef5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4523
diff changeset
    36
notify:msg
134c48ecdef5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4523
diff changeset
    37
    self notifyChannel value:msg
134c48ecdef5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4523
diff changeset
    38
!
134c48ecdef5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4523
diff changeset
    39
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    40
notifyChannel
321c1729db5b initial checkin
penk
parents:
diff changeset
    41
    notifyChannel isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    42
        self masterApplication notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    43
            notifyChannel := masterApplication notifyChannel.
321c1729db5b initial checkin
penk
parents:
diff changeset
    44
        ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    45
            notifyChannel := ValueHolder with:''.
321c1729db5b initial checkin
penk
parents:
diff changeset
    46
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    47
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    48
    ^ notifyChannel
321c1729db5b initial checkin
penk
parents:
diff changeset
    49
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    50
321c1729db5b initial checkin
penk
parents:
diff changeset
    51
sameFileIndex
321c1729db5b initial checkin
penk
parents:
diff changeset
    52
321c1729db5b initial checkin
penk
parents:
diff changeset
    53
    ^ sameFileIndex
321c1729db5b initial checkin
penk
parents:
diff changeset
    54
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    55
321c1729db5b initial checkin
penk
parents:
diff changeset
    56
sameFileIndex:something
321c1729db5b initial checkin
penk
parents:
diff changeset
    57
321c1729db5b initial checkin
penk
parents:
diff changeset
    58
    sameFileIndex := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
    59
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    60
321c1729db5b initial checkin
penk
parents:
diff changeset
    61
!AbstractFileApplicationNoteBookComponent methodsFor:'actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    62
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4529
diff changeset
    63
changeItem:anItem
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    64
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4529
diff changeset
    65
    ^ self item:anItem.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    66
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    67
321c1729db5b initial checkin
penk
parents:
diff changeset
    68
doClose
321c1729db5b initial checkin
penk
parents:
diff changeset
    69
    |master|
321c1729db5b initial checkin
penk
parents:
diff changeset
    70
321c1729db5b initial checkin
penk
parents:
diff changeset
    71
    "/ tell the NoteBookApplication to close me
321c1729db5b initial checkin
penk
parents:
diff changeset
    72
    (master := self masterApplication) notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    73
        master closeSubCanvas:self.
3933
2e083e6e224f must send #release manually (to release processes)
Claus Gittinger <cg@exept.de>
parents: 3892
diff changeset
    74
        self release.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    75
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    76
        self closeRequest.
321c1729db5b initial checkin
penk
parents:
diff changeset
    77
    ].
3954
78e29a3ea4c1 next stage
penk
parents: 3933
diff changeset
    78
    ^ true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    79
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    80
321c1729db5b initial checkin
penk
parents:
diff changeset
    81
!AbstractFileApplicationNoteBookComponent methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    82
321c1729db5b initial checkin
penk
parents:
diff changeset
    83
fileName
321c1729db5b initial checkin
penk
parents:
diff changeset
    84
321c1729db5b initial checkin
penk
parents:
diff changeset
    85
    item notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    86
        ^ item fileName.
321c1729db5b initial checkin
penk
parents:
diff changeset
    87
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    88
    ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
    89
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    90
321c1729db5b initial checkin
penk
parents:
diff changeset
    91
getDirWithoutFileName:aFileName
321c1729db5b initial checkin
penk
parents:
diff changeset
    92
321c1729db5b initial checkin
penk
parents:
diff changeset
    93
    | dir |
321c1729db5b initial checkin
penk
parents:
diff changeset
    94
    aFileName isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    95
        ^ aFileName.    
321c1729db5b initial checkin
penk
parents:
diff changeset
    96
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    97
    dir := aFileName asFilename.
321c1729db5b initial checkin
penk
parents:
diff changeset
    98
    dir isDirectory ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    99
        dir := dir directory.
321c1729db5b initial checkin
penk
parents:
diff changeset
   100
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   101
    ^ dir.
321c1729db5b initial checkin
penk
parents:
diff changeset
   102
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   103
321c1729db5b initial checkin
penk
parents:
diff changeset
   104
getTabString
321c1729db5b initial checkin
penk
parents:
diff changeset
   105
321c1729db5b initial checkin
penk
parents:
diff changeset
   106
" get the tab string from the application list on the class side "
321c1729db5b initial checkin
penk
parents:
diff changeset
   107
321c1729db5b initial checkin
penk
parents:
diff changeset
   108
    | stream string firstString endString|
321c1729db5b initial checkin
penk
parents:
diff changeset
   109
321c1729db5b initial checkin
penk
parents:
diff changeset
   110
    stream := WriteStream on:''.
321c1729db5b initial checkin
penk
parents:
diff changeset
   111
    firstString := self class tabStringFor:type.
321c1729db5b initial checkin
penk
parents:
diff changeset
   112
    firstString isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   113
        "/ default take the class name
321c1729db5b initial checkin
penk
parents:
diff changeset
   114
        firstString := self className.
321c1729db5b initial checkin
penk
parents:
diff changeset
   115
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   116
    stream nextPutAll:firstString.
321c1729db5b initial checkin
penk
parents:
diff changeset
   117
    endString := self getTabStringEnd.
321c1729db5b initial checkin
penk
parents:
diff changeset
   118
    endString notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   119
        stream space.
321c1729db5b initial checkin
penk
parents:
diff changeset
   120
        stream nextPutAll:endString.
321c1729db5b initial checkin
penk
parents:
diff changeset
   121
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   122
    string := stream contents.
321c1729db5b initial checkin
penk
parents:
diff changeset
   123
    stream close.
321c1729db5b initial checkin
penk
parents:
diff changeset
   124
    ^ string.
321c1729db5b initial checkin
penk
parents:
diff changeset
   125
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   126
321c1729db5b initial checkin
penk
parents:
diff changeset
   127
getTabStringEnd
321c1729db5b initial checkin
penk
parents:
diff changeset
   128
321c1729db5b initial checkin
penk
parents:
diff changeset
   129
" get the tab string from the application list on the class side "
321c1729db5b initial checkin
penk
parents:
diff changeset
   130
321c1729db5b initial checkin
penk
parents:
diff changeset
   131
    | stream string|
321c1729db5b initial checkin
penk
parents:
diff changeset
   132
321c1729db5b initial checkin
penk
parents:
diff changeset
   133
    self item notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   134
        stream := WriteStream on:''.
321c1729db5b initial checkin
penk
parents:
diff changeset
   135
        stream nextPutAll:self fileName baseName.
321c1729db5b initial checkin
penk
parents:
diff changeset
   136
        stream space.
321c1729db5b initial checkin
penk
parents:
diff changeset
   137
        self sameFileIndex notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   138
            stream nextPutAll:self sameFileIndex asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
   139
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   140
        string := stream contents.
321c1729db5b initial checkin
penk
parents:
diff changeset
   141
        stream close.
321c1729db5b initial checkin
penk
parents:
diff changeset
   142
        ^ string.
321c1729db5b initial checkin
penk
parents:
diff changeset
   143
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   144
    ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   145
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   146
321c1729db5b initial checkin
penk
parents:
diff changeset
   147
isEmbeddedApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
   148
321c1729db5b initial checkin
penk
parents:
diff changeset
   149
     ^ self masterApplication notNil
321c1729db5b initial checkin
penk
parents:
diff changeset
   150
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   151
321c1729db5b initial checkin
penk
parents:
diff changeset
   152
isModified
321c1729db5b initial checkin
penk
parents:
diff changeset
   153
321c1729db5b initial checkin
penk
parents:
diff changeset
   154
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
   155
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   156
4147
e00eefe3f8fd querie for isTextEditor added
penk
parents: 3954
diff changeset
   157
isTextEditor
e00eefe3f8fd querie for isTextEditor added
penk
parents: 3954
diff changeset
   158
e00eefe3f8fd querie for isTextEditor added
penk
parents: 3954
diff changeset
   159
    ^ false
e00eefe3f8fd querie for isTextEditor added
penk
parents: 3954
diff changeset
   160
!
e00eefe3f8fd querie for isTextEditor added
penk
parents: 3954
diff changeset
   161
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   162
item
321c1729db5b initial checkin
penk
parents:
diff changeset
   163
321c1729db5b initial checkin
penk
parents:
diff changeset
   164
    ^ item
321c1729db5b initial checkin
penk
parents:
diff changeset
   165
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   166
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4529
diff changeset
   167
item:anItem
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   168
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4529
diff changeset
   169
    item := anItem.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   170
    ^ true
321c1729db5b initial checkin
penk
parents:
diff changeset
   171
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   172
321c1729db5b initial checkin
penk
parents:
diff changeset
   173
presentation
321c1729db5b initial checkin
penk
parents:
diff changeset
   174
321c1729db5b initial checkin
penk
parents:
diff changeset
   175
    ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   176
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   177
321c1729db5b initial checkin
penk
parents:
diff changeset
   178
type
321c1729db5b initial checkin
penk
parents:
diff changeset
   179
321c1729db5b initial checkin
penk
parents:
diff changeset
   180
    ^ type
321c1729db5b initial checkin
penk
parents:
diff changeset
   181
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   182
321c1729db5b initial checkin
penk
parents:
diff changeset
   183
type:aType
321c1729db5b initial checkin
penk
parents:
diff changeset
   184
321c1729db5b initial checkin
penk
parents:
diff changeset
   185
    type := aType
321c1729db5b initial checkin
penk
parents:
diff changeset
   186
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   187
321c1729db5b initial checkin
penk
parents:
diff changeset
   188
wantChangeAnyWay
321c1729db5b initial checkin
penk
parents:
diff changeset
   189
321c1729db5b initial checkin
penk
parents:
diff changeset
   190
    ^ (self type == #directoryDescription)
321c1729db5b initial checkin
penk
parents:
diff changeset
   191
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   192
321c1729db5b initial checkin
penk
parents:
diff changeset
   193
!AbstractFileApplicationNoteBookComponent class methodsFor:'documentation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   194
321c1729db5b initial checkin
penk
parents:
diff changeset
   195
version
5010
27aa6fa93dcd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4529
diff changeset
   196
    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileApplicationNoteBookComponent.st,v 1.7 2003-06-30 13:24:10 cg Exp $'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   197
! !