TextCollectorStream.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 20:55:17 +0200
changeset 24417 03b083548da2
parent 9312 73bc3f585e86
child 17711 39faaaf888b4
permissions -rw-r--r--
#REFACTORING by exept class: Smalltalk class changed: #recursiveInstallAutoloadedClassesFrom:rememberIn:maxLevels:noAutoload:packageTop:showSplashInLevels: Transcript showCR:(... bindWith:...) -> Transcript showCR:... with:...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9312
73bc3f585e86 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2409
diff changeset
     1
"{ Package: 'stx:libbasic' }"
73bc3f585e86 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2409
diff changeset
     2
2409
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     3
WriteStream subclass:#TextCollectorStream
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'access lineLimit partialLastLine'
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     7
	category:'Streams-Misc'
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     8
!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     9
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    10
!TextCollectorStream class methodsFor:'documentation'!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    11
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    12
documentation
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    13
"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    14
    a textCollectorStream is much like a regular writeStream.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    15
    In addition to collecting characters, it does a delayed update
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    16
    of its collection, and may be used as a model for a TextView to
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    17
    work like a TextCollector.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    18
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    19
    Currently ListViews are optimezed for StringCollections as model.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    20
    So stream on a StringCollection for best performance.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    21
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    22
    [author:]
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    23
        Stefan Vogel
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    24
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    25
    [see also:]
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    26
        WriteStream
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    27
        TextCollector StringCollection
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    28
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    29
"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    30
!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    31
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    32
examples
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    33
"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    34
                                        [exBegin]
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    35
    |s|
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    36
    s := TextCollectorStream on:StringCollection new.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    37
    s show:'Hello '.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    38
    s showCR:'World'.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    39
    s contents inspect
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    40
                                        [exEnd]
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    41
"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    42
!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    43
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    44
history
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    45
    "Created: 18.2.1997 / 13:18:17 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    46
! !
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    47
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    48
!TextCollectorStream class methodsFor:'defaults'!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    49
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    50
defaultLineLimit
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    51
    "the number of lines remembered by default"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    52
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    53
    ^ 600
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    54
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    55
    "Created: 18.2.1997 / 14:41:38 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    56
! !
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    57
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    58
!TextCollectorStream methodsFor:'accessing'!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    59
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    60
access
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    61
    "return the value of the instance variable 'access' (automatically generated)"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    62
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    63
    ^ access
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    64
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    65
    "Created: 19.2.1997 / 09:01:21 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    66
!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    67
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    68
access:something
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    69
    "set the value of the instance variable 'access' (automatically generated)"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    70
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    71
    access := something.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    72
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    73
    "Created: 19.2.1997 / 09:01:21 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    74
!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    75
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    76
lineLimit
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    77
    "return the value of the instance variable 'lineLimit' (automatically generated)"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    78
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    79
    ^ lineLimit
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    80
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    81
    "Created: 19.2.1997 / 09:01:21 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    82
!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    83
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    84
lineLimit:something
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    85
    "set the value of the instance variable 'lineLimit' (automatically generated)"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    86
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    87
    lineLimit := something.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    88
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    89
    "Created: 19.2.1997 / 09:01:21 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    90
! !
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    91
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    92
!TextCollectorStream methodsFor:'initialization'!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    93
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    94
initialize
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    95
    super initialize.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    96
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    97
"/    access := RecursionLock new.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    98
    lineLimit := self class defaultLineLimit.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    99
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   100
    "first line is empty"    
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   101
    partialLastLine := false.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   102
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   103
    "Created: 18.2.1997 / 14:39:50 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   104
    "Modified: 19.2.1997 / 11:59:01 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   105
!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   106
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   107
on:aCollection
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   108
    self initialize.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   109
    ^ super on:aCollection.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   110
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   111
    "Created: 19.2.1997 / 08:59:45 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   112
!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   113
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   114
on:aCollection from:start to:end
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   115
    self initialize.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   116
    ^ super on:aCollection from:start to:end.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   117
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   118
    "Created: 19.2.1997 / 09:00:07 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   119
!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   120
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   121
with:aCollection
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   122
    self initialize.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   123
    ^ super with:aCollection.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   124
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   125
    "Created: 19.2.1997 / 09:00:24 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   126
! !
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   127
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   128
!TextCollectorStream methodsFor:'writing'!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   129
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   130
nextPut:anObject
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   131
    "an Object may be a Character (cr or nl), or anything 
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   132
     responding to #printString."
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   133
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   134
    |string newPartialLastLine size|
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   135
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   136
    (writeLimit notNil
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   137
     and:[position >= writeLimit]) ifTrue:[
9312
73bc3f585e86 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2409
diff changeset
   138
        WriteError raiseErrorString:'write beyond writeLimit'
2409
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   139
    ].
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   140
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   141
    anObject isCharacter ifTrue:[       
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   142
        ((anObject == Character cr) or:[anObject == Character nl]) ifTrue:[
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   143
            partialLastLine ifFalse:[
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   144
                collection add:''.      "add empty line"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   145
                position := position + 1.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   146
            ].
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   147
            partialLastLine := false.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   148
            ^ anObject.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   149
        ].
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   150
    ].
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   151
        
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   152
    string := anObject printString.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   153
    (string includes:Character cr) ifTrue:[
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   154
        newPartialLastLine := (string last ~= Character cr).
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   155
        string := string asStringCollection.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   156
        partialLastLine ifTrue:[
9312
73bc3f585e86 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2409
diff changeset
   157
            string at:1 put:((collection removeLast ? ''), (string at:1)).
2409
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   158
        ].
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   159
        size := collection size + string size.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   160
        size > lineLimit ifTrue:[
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   161
            collection removeFirst:(size - lineLimit min:(collection size)).
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   162
            position := lineLimit.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   163
        ].
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   164
        collection addAll:string.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   165
        position := position + string size.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   166
        partialLastLine := newPartialLastLine.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   167
    ] ifFalse:[
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   168
        partialLastLine ifTrue:[
9312
73bc3f585e86 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2409
diff changeset
   169
            collection add:((collection removeLast ? ''), string).
2409
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   170
        ] ifFalse:[
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   171
            collection add:string.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   172
            position := position + 1.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   173
        ].
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   174
        partialLastLine := true.
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   175
    ].
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   176
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   177
    ^ anObject
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   178
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   179
    "Created: 18.2.1997 / 14:29:51 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   180
    "Modified: 19.2.1997 / 11:47:37 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   181
!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   182
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   183
show:anObject
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   184
    self nextPut:anObject
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   185
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   186
    "Created: 18.2.1997 / 17:20:53 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   187
!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   188
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   189
showCR:anObject
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   190
    self nextPut:anObject; nextPut:Character cr
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   191
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   192
    "Created: 18.2.1997 / 17:21:12 / stefan"
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   193
! !
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   194
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   195
!TextCollectorStream class methodsFor:'documentation'!
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   196
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   197
version
9312
73bc3f585e86 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2409
diff changeset
   198
    ^ '$Header: /cvs/stx/stx/libbasic/TextCollectorStream.st,v 1.2 2006-04-06 10:54:06 stefan Exp $'
2409
790d1ea9e8ff intitial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   199
! !