probably.
I should check.

On Jul 21, 2010, at 4:08 PM, Alexandre Bergel wrote:

>> Because RunArray>>scanFrom: basically links all the Text to RunArray
> 
> Indeed. Actually, RunArray class>>scanFrom: seems to be used as an utility 
> method. It can perfectly be moved into a different package (as soon as the 
> caller are updated).
> 
> Alexandre
> 
> 
>> 
>> I was thinking to simply use a RunArray subclass and specialze its scanFrom:
>> It may also means that RunArray should not be packaged in CollectionArrayed 
>> but with Collection-Text.
>> 
>> 
>> scanFrom: strm
>>      "Read the style section of a fileOut or sources file.  nextChunk has 
>> already been done.  We need to return a RunArray of TextAttributes of 
>> various kinds.  These are written by the implementors of writeScanOn:"
>>      | rr vv aa this |
>>      (strm peekFor: $( ) ifFalse: [^ nil].
>>      rr := OrderedCollection new.
>>      [strm skipSeparators.
>>       strm peekFor: $)] whileFalse: 
>>              [rr add: (Number readFrom: strm)].
>>      vv := OrderedCollection new.    "Value array"
>>      aa := OrderedCollection new.    "Attributes list"
>>      [(this := strm next) == nil] whileFalse: [
>>              this == $, ifTrue: [vv add: aa asArray.  aa := 
>> OrderedCollection new].
>>              this == $a ifTrue: [aa add: 
>>                      (TextAlignment new alignment: (Integer readFrom: strm 
>> ifFail: [0]))].
>>              this == $f ifTrue: [aa add: 
>>                      (TextFontChange new fontNumber: (Integer readFrom: strm 
>> ifFail: [0]))].
>>              this == $F ifTrue: [aa add: (TextFontReference toFont: 
>>                      (Smalltalk at: #StrikeFont ifPresent: [:sf | sf 
>> familyName: (strm upTo: $#) size: (Integer readFrom: strm ifFail: [0])]))].
>>              this == $b ifTrue: [aa add: (TextEmphasis bold)].
>>              this == $i ifTrue: [aa add: (TextEmphasis italic)].
>>              this == $u ifTrue: [aa add: (TextEmphasis underlined)].
>>              this == $= ifTrue: [aa add: (TextEmphasis struckOut)].
>>              this == $n ifTrue: [aa add: (TextEmphasis normal)].
>>              this == $- ifTrue: [aa add: (TextKern kern: -1)].
>>              this == $+ ifTrue: [aa add: (TextKern kern: 1)].
>>              this == $c ifTrue: [aa add: (TextColor scanFrom: strm)]. "color"
>>              this == $L ifTrue: [aa add: (TextLink scanFrom: strm)]. "L not 
>> look like 1"
>>              this == $R ifTrue: [aa add: (TextURL scanFrom: strm)].
>>                              "R capitalized so it can follow a number"
>>              this == $P ifTrue: [aa add: (TextPrintIt scanFrom: strm)].
>>              this == $d ifTrue: [aa add: (TextDoIt scanFrom: strm)].
>>              "space, cr do nothing"
>>              ].
>>      aa size > 0 ifTrue: [vv add: aa asArray].
>>      ^ self runs: rr asArray values: vv asArray
>> "
>> RunArray scanFrom: (ReadStream on: '(14 50 312)f1,f1b,f1LInteger +;i')
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                     "        
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                                                              
>>                                               
>> 
>> 
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> 
> -- 
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to