AbstractFileApplicationNoteBookComponent.st
author penk
Wed, 25 Sep 2002 10:00:32 +0200
changeset 3892 321c1729db5b
child 3933 2e083e6e224f
permissions -rw-r--r--
initial checkin
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
321c1729db5b initial checkin
penk
parents:
diff changeset
    38
    notifyChannel isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    39
        self masterApplication notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    40
            notifyChannel := masterApplication notifyChannel.
321c1729db5b initial checkin
penk
parents:
diff changeset
    41
        ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    42
            notifyChannel := ValueHolder with:''.
321c1729db5b initial checkin
penk
parents:
diff changeset
    43
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    44
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    45
    ^ notifyChannel
321c1729db5b initial checkin
penk
parents:
diff changeset
    46
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    47
321c1729db5b initial checkin
penk
parents:
diff changeset
    48
sameFileIndex
321c1729db5b initial checkin
penk
parents:
diff changeset
    49
321c1729db5b initial checkin
penk
parents:
diff changeset
    50
    ^ sameFileIndex
321c1729db5b initial checkin
penk
parents:
diff changeset
    51
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    52
321c1729db5b initial checkin
penk
parents:
diff changeset
    53
sameFileIndex:something
321c1729db5b initial checkin
penk
parents:
diff changeset
    54
321c1729db5b initial checkin
penk
parents:
diff changeset
    55
    sameFileIndex := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
    56
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    57
321c1729db5b initial checkin
penk
parents:
diff changeset
    58
!AbstractFileApplicationNoteBookComponent methodsFor:'actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    59
321c1729db5b initial checkin
penk
parents:
diff changeset
    60
changeItem:aItem
321c1729db5b initial checkin
penk
parents:
diff changeset
    61
321c1729db5b initial checkin
penk
parents:
diff changeset
    62
    ^ self item:aItem.
321c1729db5b initial checkin
penk
parents:
diff changeset
    63
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    64
321c1729db5b initial checkin
penk
parents:
diff changeset
    65
doClose
321c1729db5b initial checkin
penk
parents:
diff changeset
    66
    |master|
321c1729db5b initial checkin
penk
parents:
diff changeset
    67
321c1729db5b initial checkin
penk
parents:
diff changeset
    68
    "/ tell the NoteBookApplication to close me
321c1729db5b initial checkin
penk
parents:
diff changeset
    69
    (master := self masterApplication) notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    70
        master closeSubCanvas:self.
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
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    74
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    75
321c1729db5b initial checkin
penk
parents:
diff changeset
    76
!AbstractFileApplicationNoteBookComponent methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    77
321c1729db5b initial checkin
penk
parents:
diff changeset
    78
fileName
321c1729db5b initial checkin
penk
parents:
diff changeset
    79
321c1729db5b initial checkin
penk
parents:
diff changeset
    80
    item notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    81
        ^ item fileName.
321c1729db5b initial checkin
penk
parents:
diff changeset
    82
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    83
    ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
    84
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    85
321c1729db5b initial checkin
penk
parents:
diff changeset
    86
getDirWithoutFileName:aFileName
321c1729db5b initial checkin
penk
parents:
diff changeset
    87
321c1729db5b initial checkin
penk
parents:
diff changeset
    88
    | dir |
321c1729db5b initial checkin
penk
parents:
diff changeset
    89
    aFileName isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    90
        ^ aFileName.    
321c1729db5b initial checkin
penk
parents:
diff changeset
    91
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    92
    dir := aFileName asFilename.
321c1729db5b initial checkin
penk
parents:
diff changeset
    93
    dir isDirectory ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    94
        dir := dir directory.
321c1729db5b initial checkin
penk
parents:
diff changeset
    95
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    96
    ^ dir.
321c1729db5b initial checkin
penk
parents:
diff changeset
    97
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    98
321c1729db5b initial checkin
penk
parents:
diff changeset
    99
getTabString
321c1729db5b initial checkin
penk
parents:
diff changeset
   100
321c1729db5b initial checkin
penk
parents:
diff changeset
   101
" get the tab string from the application list on the class side "
321c1729db5b initial checkin
penk
parents:
diff changeset
   102
321c1729db5b initial checkin
penk
parents:
diff changeset
   103
    | stream string firstString endString|
321c1729db5b initial checkin
penk
parents:
diff changeset
   104
321c1729db5b initial checkin
penk
parents:
diff changeset
   105
    stream := WriteStream on:''.
321c1729db5b initial checkin
penk
parents:
diff changeset
   106
    firstString := self class tabStringFor:type.
321c1729db5b initial checkin
penk
parents:
diff changeset
   107
    firstString isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   108
        "/ default take the class name
321c1729db5b initial checkin
penk
parents:
diff changeset
   109
        firstString := self className.
321c1729db5b initial checkin
penk
parents:
diff changeset
   110
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   111
    stream nextPutAll:firstString.
321c1729db5b initial checkin
penk
parents:
diff changeset
   112
    endString := self getTabStringEnd.
321c1729db5b initial checkin
penk
parents:
diff changeset
   113
    endString notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   114
        stream space.
321c1729db5b initial checkin
penk
parents:
diff changeset
   115
        stream nextPutAll:endString.
321c1729db5b initial checkin
penk
parents:
diff changeset
   116
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   117
    string := stream contents.
321c1729db5b initial checkin
penk
parents:
diff changeset
   118
    stream close.
321c1729db5b initial checkin
penk
parents:
diff changeset
   119
    ^ string.
321c1729db5b initial checkin
penk
parents:
diff changeset
   120
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   121
321c1729db5b initial checkin
penk
parents:
diff changeset
   122
getTabStringEnd
321c1729db5b initial checkin
penk
parents:
diff changeset
   123
321c1729db5b initial checkin
penk
parents:
diff changeset
   124
" get the tab string from the application list on the class side "
321c1729db5b initial checkin
penk
parents:
diff changeset
   125
321c1729db5b initial checkin
penk
parents:
diff changeset
   126
    | stream string|
321c1729db5b initial checkin
penk
parents:
diff changeset
   127
321c1729db5b initial checkin
penk
parents:
diff changeset
   128
    self item notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   129
        stream := WriteStream on:''.
321c1729db5b initial checkin
penk
parents:
diff changeset
   130
        stream nextPutAll:self fileName baseName.
321c1729db5b initial checkin
penk
parents:
diff changeset
   131
        stream space.
321c1729db5b initial checkin
penk
parents:
diff changeset
   132
        self sameFileIndex notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   133
            stream nextPutAll:self sameFileIndex asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
   134
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   135
        string := stream contents.
321c1729db5b initial checkin
penk
parents:
diff changeset
   136
        stream close.
321c1729db5b initial checkin
penk
parents:
diff changeset
   137
        ^ string.
321c1729db5b initial checkin
penk
parents:
diff changeset
   138
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   139
    ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   140
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   141
321c1729db5b initial checkin
penk
parents:
diff changeset
   142
isEmbeddedApplication
321c1729db5b initial checkin
penk
parents:
diff changeset
   143
321c1729db5b initial checkin
penk
parents:
diff changeset
   144
     ^ self masterApplication notNil
321c1729db5b initial checkin
penk
parents:
diff changeset
   145
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   146
321c1729db5b initial checkin
penk
parents:
diff changeset
   147
isModified
321c1729db5b initial checkin
penk
parents:
diff changeset
   148
321c1729db5b initial checkin
penk
parents:
diff changeset
   149
    ^ false
321c1729db5b initial checkin
penk
parents:
diff changeset
   150
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   151
321c1729db5b initial checkin
penk
parents:
diff changeset
   152
item
321c1729db5b initial checkin
penk
parents:
diff changeset
   153
321c1729db5b initial checkin
penk
parents:
diff changeset
   154
    ^ item
321c1729db5b initial checkin
penk
parents:
diff changeset
   155
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   156
321c1729db5b initial checkin
penk
parents:
diff changeset
   157
item:aItem
321c1729db5b initial checkin
penk
parents:
diff changeset
   158
321c1729db5b initial checkin
penk
parents:
diff changeset
   159
    item := aItem.
321c1729db5b initial checkin
penk
parents:
diff changeset
   160
    ^ true
321c1729db5b initial checkin
penk
parents:
diff changeset
   161
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   162
321c1729db5b initial checkin
penk
parents:
diff changeset
   163
presentation
321c1729db5b initial checkin
penk
parents:
diff changeset
   164
321c1729db5b initial checkin
penk
parents:
diff changeset
   165
    ^ nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   166
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   167
321c1729db5b initial checkin
penk
parents:
diff changeset
   168
type
321c1729db5b initial checkin
penk
parents:
diff changeset
   169
321c1729db5b initial checkin
penk
parents:
diff changeset
   170
    ^ type
321c1729db5b initial checkin
penk
parents:
diff changeset
   171
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   172
321c1729db5b initial checkin
penk
parents:
diff changeset
   173
type:aType
321c1729db5b initial checkin
penk
parents:
diff changeset
   174
321c1729db5b initial checkin
penk
parents:
diff changeset
   175
    type := aType
321c1729db5b initial checkin
penk
parents:
diff changeset
   176
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   177
321c1729db5b initial checkin
penk
parents:
diff changeset
   178
wantChangeAnyWay
321c1729db5b initial checkin
penk
parents:
diff changeset
   179
321c1729db5b initial checkin
penk
parents:
diff changeset
   180
    ^ (self type == #directoryDescription)
321c1729db5b initial checkin
penk
parents:
diff changeset
   181
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   182
321c1729db5b initial checkin
penk
parents:
diff changeset
   183
!AbstractFileApplicationNoteBookComponent class methodsFor:'documentation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   184
321c1729db5b initial checkin
penk
parents:
diff changeset
   185
version
321c1729db5b initial checkin
penk
parents:
diff changeset
   186
    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileApplicationNoteBookComponent.st,v 1.1 2002-09-25 08:00:15 penk Exp $'
321c1729db5b initial checkin
penk
parents:
diff changeset
   187
! !