[squeak-dev] The Trunk: Collections-ul.402.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Nov 2 21:10:55 UTC 2010
Levente Uzonyi uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.402.mcz
==================== Summary ====================
Name: Collections-ul.402
Author: ul
Time: 2 November 2010, 10:03:54.289 pm
UUID: c07fdead-7f3a-544f-82dd-4bfe4ef28365
Ancestors: Collections-ul.401
- enhanced AttributedTextStream so it can be used as a TextStream in some cases.
- recategorized a few methods, fixed some comments
=============== Diff against Collections-ul.401 ===============
Item was changed:
+ ----- Method: AttributedTextStream>>contents (in category 'accessing') -----
- ----- Method: AttributedTextStream>>contents (in category 'retrieving the text') -----
contents
| ans |
currentRun > 0 ifTrue:[
attributeValues nextPut: currentAttributes.
attributeRuns nextPut: currentRun.
currentRun := 0].
ans := Text string: characters contents runs:
(RunArray runs: attributeRuns contents values: attributeValues contents).
^ans!
Item was added:
+ ----- Method: AttributedTextStream>>cr (in category 'character writing') -----
+ cr
+ "Append a carriage return character to the receiver."
+
+ self nextPut: Character cr!
Item was added:
+ ----- Method: AttributedTextStream>>crlf (in category 'character writing') -----
+ crlf
+ "Append a carriage return and a line feed to the receiver."
+
+ self nextPut: Character cr; nextPut: Character lf!
Item was changed:
+ ----- Method: AttributedTextStream>>currentAttributes (in category 'accessing') -----
- ----- Method: AttributedTextStream>>currentAttributes (in category 'access') -----
currentAttributes
"return the current attributes"
^currentAttributes!
Item was changed:
+ ----- Method: AttributedTextStream>>currentAttributes: (in category 'accessing') -----
- ----- Method: AttributedTextStream>>currentAttributes: (in category 'access') -----
currentAttributes: newAttributes
"set the current attributes"
(currentRun > 0 and:[currentAttributes ~= newAttributes]) ifTrue:[
attributeRuns nextPut: currentRun.
attributeValues nextPut: currentAttributes.
currentRun := 0.
].
currentAttributes := newAttributes.
!
Item was changed:
+ ----- Method: AttributedTextStream>>initialize (in category 'initialize-release') -----
- ----- Method: AttributedTextStream>>initialize (in category 'private-initialization') -----
initialize
+
+ characters := String new writeStream.
+ currentAttributes := #().
- characters := WriteStream on: String new.
- currentAttributes := OrderedCollection new.
currentRun := 0.
+ attributeValues := (Array new: 50) writeStream.
+ attributeRuns := (Array new: 50) writeStream!
- attributeValues := WriteStream on: (Array new: 50).
- attributeRuns := WriteStream on: (Array new: 50). !
Item was added:
+ ----- Method: AttributedTextStream>>lf (in category 'character writing') -----
+ lf
+ "Append a line feed character to the receiver."
+
+ self nextPut: Character lf!
Item was changed:
+ ----- Method: AttributedTextStream>>nextPut: (in category 'accessing') -----
- ----- Method: AttributedTextStream>>nextPut: (in category 'stream protocol') -----
nextPut: aChar
currentRun := currentRun + 1.
^characters nextPut: aChar!
Item was changed:
+ ----- Method: AttributedTextStream>>nextPutAll: (in category 'accessing') -----
- ----- Method: AttributedTextStream>>nextPutAll: (in category 'stream protocol') -----
nextPutAll: aString
"add an entire string with the same attributes"
currentRun := currentRun + aString size.
^characters nextPutAll: aString.!
Item was changed:
+ ----- Method: AttributedTextStream>>size (in category 'accessing') -----
- ----- Method: AttributedTextStream>>size (in category 'access') -----
size
"number of characters in the stream so far"
^characters size!
Item was added:
+ ----- Method: AttributedTextStream>>withAttribute:do: (in category 'accessing') -----
+ withAttribute: attribute do: aBlock
+
+ ^self withAttributes: { attribute } do: aBlock!
Item was added:
+ ----- Method: AttributedTextStream>>withAttributes:do: (in category 'accessing') -----
+ withAttributes: attributes do: aBlock
+
+ | previousAttributes |
+ previousAttributes := currentAttributes.
+ [
+ self currentAttributes: attributes.
+ aBlock value ]
+ ensure: [ self currentAttributes: previousAttributes ]!
Item was changed:
+ ----- Method: Stream>>printOn: (in category 'printing') -----
- ----- Method: Stream>>printOn: (in category 'accessing') -----
printOn: stream
super printOn: stream.
stream space.
self contents printOn: stream.
!
Item was changed:
----- Method: WriteStream>>cr (in category 'character writing') -----
cr
+ "Append a carriage return character to the receiver."
- "Append a return character to the receiver."
self nextPut: Character cr!
Item was changed:
----- Method: WriteStream>>crlf (in category 'character writing') -----
crlf
+ "Append a carriage return and a line feed to the receiver."
- "Append a line feed character to the receiver."
self nextPut: Character cr; nextPut: Character lf!
More information about the Squeak-dev
mailing list
|