AbstractFileApplicationNoteBookComponent.st
author Claus Gittinger <cg@exept.de>
Mon, 03 Feb 2003 12:19:51 +0100
changeset 4523 ae3d65269e21
parent 4147 e00eefe3f8fd
child 4529 134c48ecdef5
permissions -rw-r--r--
added notify: method;
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
321c1729db5b initial checkin
penk
parents:
diff changeset
    20
canOpenItem:aItem
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:
321c1729db5b initial checkin
penk
parents:
diff changeset
    24
    ^ (aItem suffix == 'cc')
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
321c1729db5b initial checkin
penk
parents:
diff changeset
    36
notifyChannel
321c1729db5b initial checkin
penk
parents:
diff changeset
    37
    notifyChannel isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    38
        self masterApplication notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    39
            notifyChannel := masterApplication notifyChannel.
321c1729db5b initial checkin
penk
parents:
diff changeset
    40
        ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    41
            notifyChannel := ValueHolder with:''.
321c1729db5b initial checkin
penk
parents:
diff changeset
    42
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    43
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    44
    ^ notifyChannel
321c1729db5b initial checkin
penk
parents:
diff changeset
    45
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    46
321c1729db5b initial checkin
penk
parents:
diff changeset
    47
sameFileIndex
321c1729db5b initial checkin
penk
parents:
diff changeset
    48
321c1729db5b initial checkin
penk
parents:
diff changeset
    49
    ^ sameFileIndex
321c1729db5b initial checkin
penk
parents:
diff changeset
    50
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    51
321c1729db5b initial checkin
penk
parents:
diff changeset
    52
sameFileIndex:something
321c1729db5b initial checkin
penk
parents:
diff changeset
    53
321c1729db5b initial checkin
penk
parents:
diff changeset
    54
    sameFileIndex := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
    55
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    56
321c1729db5b initial checkin
penk
parents:
diff changeset
    57
!AbstractFileApplicationNoteBookComponent methodsFor:'actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    58
321c1729db5b initial checkin
penk
parents:
diff changeset
    59
changeItem:aItem
321c1729db5b initial checkin
penk
parents:
diff changeset
    60
321c1729db5b initial checkin
penk
parents:
diff changeset
    61
    ^ self item:aItem.
321c1729db5b initial checkin
penk
parents:
diff changeset
    62
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    63
321c1729db5b initial checkin
penk
parents:
diff changeset
    64
doClose
321c1729db5b initial checkin
penk
parents:
diff changeset
    65
    |master|
321c1729db5b initial checkin
penk
parents:
diff changeset
    66
321c1729db5b initial checkin
penk
parents:
diff changeset
    67
    "/ tell the NoteBookApplication to close me
321c1729db5b initial checkin
penk
parents:
diff changeset
    68
    (master := self masterApplication) notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    69
        master closeSubCanvas:self.
3933
2e083e6e224f must send #release manually (to release processes)
Claus Gittinger <cg@exept.de>
parents: 3892
diff changeset
    70
        self release.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    71
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    72
        self closeRequest.
321c1729db5b initial checkin
penk
parents:
diff changeset
    73
    ].
3954
78e29a3ea4c1 next stage
penk
parents: 3933
diff changeset
    74
    ^ true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    75
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    76
321c1729db5b initial checkin
penk
parents:
diff changeset
    77
!AbstractFileApplicationNoteBookComponent methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    78
321c1729db5b initial checkin
penk
parents:
diff changeset
    79
fileName
321c1729db5b initial checkin
penk
parents:
diff changeset
    80
321c1729db5b initial checkin
penk
parents:
diff changeset
    81
    item notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    82
        ^ item fileName.
321c1729db5b initial checkin
penk
parents:
diff changeset
    83
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    84
    ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
    85
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    86
321c1729db5b initial checkin
penk
parents:
diff changeset
    87
getDirWithoutFileName:aFileName
321c1729db5b initial checkin
penk
parents:
diff changeset
    88
321c1729db5b initial checkin
penk
parents:
diff changeset
    89
    | dir |
321c1729db5b initial checkin
penk
parents:
diff changeset
    90
    aFileName isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    91
        ^ aFileName.    
321c1729db5b initial checkin
penk
parents:
diff changeset
    92
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    93
    dir := aFileName asFilename.
321c1729db5b initial checkin
penk
parents:
diff changeset
    94
    dir isDirectory ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    95
        dir := dir directory.
321c1729db5b initial checkin
penk
parents:
diff changeset
    96
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    97
    ^ dir.
321c1729db5b initial checkin
penk
parents:
diff changeset
    98
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    99
321c1729db5b initial checkin
penk
parents:
diff changeset
   100
getTabString
321c1729db5b initial checkin
penk
parents:
diff changeset
   101
321c1729db5b initial checkin
penk
parents:
diff changeset
   102
" get the tab string from the application list on the class side "
321c1729db5b initial checkin
penk
parents:
diff changeset
   103
321c1729db5b initial checkin
penk
parents:
diff changeset
   104
    | stream string firstString endString|
321c1729db5b initial checkin
penk
parents:
diff changeset
   105
321c1729db5b initial checkin
penk
parents:
diff changeset
   106
    stream := WriteStream on:''.
321c1729db5b initial checkin
penk
parents:
diff changeset
   107
    firstString := self class tabStringFor:type.
321c1729db5b initial checkin
penk
parents:
diff changeset
   108
    firstString isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   109
        "/ default take the class name
321c1729db5b initial checkin
penk
parents:
diff changeset
   110
        firstString := self className.
321c1729db5b initial checkin
penk
parents:
diff changeset
   111
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   112
    stream nextPutAll:firstString.
321c1729db5b initial checkin
penk
parents:
diff changeset
   113
    endString := self getTabStringEnd.
321c1729db5b initial checkin
penk
parents:
diff changeset
   114
    endString notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   115
        stream space.
321c1729db5b initial checkin
penk
parents:
diff changeset
   116
        stream nextPutAll:endString.
321c1729db5b initial checkin
penk
parents:
diff changeset
   117
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   118
    string := stream contents.
321c1729db5b initial checkin
penk
parents:
diff changeset
   119
    stream close.
321c1729db5b initial checkin
penk
parents:
diff changeset
   120
    ^ string.
321c1729db5b initial checkin
penk
parents:
diff changeset
   121
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   122
321c1729db5b initial checkin
penk
parents:
diff changeset
   123
getTabStringEnd
321c1729db5b initial checkin
penk
parents:
diff changeset
   124
321c1729db5b initial checkin
penk
parents:
diff changeset
   125
" get the tab string from the application list on the class side "
321c1729db5b initial checkin
penk
parents:
diff changeset
   126
321c1729db5b initial checkin
penk
parents:
diff changeset
   127
    | stream string|
321c1729db5b initial checkin
penk
parents:
diff changeset
   128
321c1729db5b initial checkin
penk
parents:
diff changeset
   129
    self item notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   130
        stream := WriteStream on:''.
321c1729db5b initial checkin
penk
parents:
diff changeset
   131
        stream nextPutAll:self fileName baseName.
321c1729db5b initial checkin
penk
parents:
diff changeset
   132
        stream space.
321c1729db5b initial checkin
penk
parents:
diff changeset
   133
        self sameFileIndex notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   134
            stream nextPutAll:self sameFileIndex asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
   135
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   136
        string := stream contents.
321c1729db5b initial checkin
penk
parents:
diff changeset
   137
        stream close.
321c1729db5b initial checkin
penk
parents:
diff changeset
   138
        ^ string.
321c1729db5b initial checkin
penk
parents:
diff changeset
   139
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   140
    ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   141
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   142
321c1729db5b initial checkin
penk
parents:
diff changeset
   143
isEmbeddedApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
   144
321c1729db5b initial checkin
penk
parents:
diff changeset
   145
     ^ self masterApplication notNil
321c1729db5b initial checkin
penk
parents:
diff changeset
   146
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   147
321c1729db5b initial checkin
penk
parents:
diff changeset
   148
isModified
321c1729db5b initial checkin
penk
parents:
diff changeset
   149
321c1729db5b initial checkin
penk
parents:
diff changeset
   150
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
   151
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   152
4147
e00eefe3f8fd querie for isTextEditor added
penk
parents: 3954
diff changeset
   153
isTextEditor
e00eefe3f8fd querie for isTextEditor added
penk
parents: 3954
diff changeset
   154
e00eefe3f8fd querie for isTextEditor added
penk
parents: 3954
diff changeset
   155
    ^ false
e00eefe3f8fd querie for isTextEditor added
penk
parents: 3954
diff changeset
   156
!
e00eefe3f8fd querie for isTextEditor added
penk
parents: 3954
diff changeset
   157
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   158
item
321c1729db5b initial checkin
penk
parents:
diff changeset
   159
321c1729db5b initial checkin
penk
parents:
diff changeset
   160
    ^ item
321c1729db5b initial checkin
penk
parents:
diff changeset
   161
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   162
321c1729db5b initial checkin
penk
parents:
diff changeset
   163
item:aItem
321c1729db5b initial checkin
penk
parents:
diff changeset
   164
321c1729db5b initial checkin
penk
parents:
diff changeset
   165
    item := aItem.
321c1729db5b initial checkin
penk
parents:
diff changeset
   166
    ^ true
321c1729db5b initial checkin
penk
parents:
diff changeset
   167
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   168
321c1729db5b initial checkin
penk
parents:
diff changeset
   169
presentation
321c1729db5b initial checkin
penk
parents:
diff changeset
   170
321c1729db5b initial checkin
penk
parents:
diff changeset
   171
    ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   172
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   173
321c1729db5b initial checkin
penk
parents:
diff changeset
   174
type
321c1729db5b initial checkin
penk
parents:
diff changeset
   175
321c1729db5b initial checkin
penk
parents:
diff changeset
   176
    ^ type
321c1729db5b initial checkin
penk
parents:
diff changeset
   177
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   178
321c1729db5b initial checkin
penk
parents:
diff changeset
   179
type:aType
321c1729db5b initial checkin
penk
parents:
diff changeset
   180
321c1729db5b initial checkin
penk
parents:
diff changeset
   181
    type := aType
321c1729db5b initial checkin
penk
parents:
diff changeset
   182
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   183
321c1729db5b initial checkin
penk
parents:
diff changeset
   184
wantChangeAnyWay
321c1729db5b initial checkin
penk
parents:
diff changeset
   185
321c1729db5b initial checkin
penk
parents:
diff changeset
   186
    ^ (self type == #directoryDescription)
321c1729db5b initial checkin
penk
parents:
diff changeset
   187
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   188
321c1729db5b initial checkin
penk
parents:
diff changeset
   189
!AbstractFileApplicationNoteBookComponent class methodsFor:'documentation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   190
321c1729db5b initial checkin
penk
parents:
diff changeset
   191
version
4523
ae3d65269e21 added notify: method;
Claus Gittinger <cg@exept.de>
parents: 4147
diff changeset
   192
    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileApplicationNoteBookComponent.st,v 1.5 2003-02-03 11:19:51 cg Exp $'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   193
! !