Portable Object Compiler (c) 1997,98,99,2003.  All Rights Reserved.

Text

Inherits from: Object

Maturity Index: Experimental

Class Description

The Text class associates to a String instance a RunArray.  The runs for a string, consist of string segments that have the same text attributes, such as font, boldface, fontsize etc.

Method types

Creation	- new
	- new:
	- str:
	- sprintf:
	- fromString:
	- string:attribute:
	- copy
	- free

Comparison	- hash
	- isEqual:

Accessing	- string
	- runs
	- str
	- size
	- charAt:
	- charAt:put:
	- at:insert:
	- at:insert:count:
	- deleteFrom:to:
	- concat:
	- concatSTR:

Emphasis	- allBold
	- makeBoldFrom:to:
	- addAttribute:
	- addAttribute:from:to:
	- attributesAt:
	- runLengthFor:

Format Conversions	- asString
	- asText
	- asParagraph

Printing	- printOn:

Methods

new
+new

Creates an instance whose value is set to the empty string.

new:
+new:(unsigned)nChars

Creates an instance whose value is set to the empty string, can hold at least nChars without having to expand.

str:
+str:(STR)aString

Creates an instance whose value is set to a copy of aString.  If aString is NULL, creates an instance whose value is set to the empty string. 

sprintf:
+sprintf:(STR)format,...

Returns a new instace initialized just as the standard C library sprintf().  See the documentation on sprintf() for the formats and variable declarations.

fromString:
+fromString:aString

Creates an instance whose value is set to aString.

string:attribute:
+string:aStringattribute:attrib

Creates an instance whose value is set to aString and then sends itself an addAttribute: message.

copy
-copy

Returns a copy of the receiver with its internal C string copied as well.

free
-free

Frees the receiver and its internal C string as well.

hash
- (unsigned)hash

Returns a hash value based upon the contents of the string held in the receiver.

isEqual:
- (BOOL)isEqual:aStr

Returns YES if the string and runarray contained by aStr is equal to the contents of the receiver.

string
-string

Returns the String instance for this Text object.

runs
-runs

Returns the RunArray instance for this Text object.

str
- (STR)str

Returns a pointer to the NULL-terminated C string stored in the receiver.

size
- (unsigned)size

Returns the size of the String instance for this Text object.  The following all return the same value :

[text size];
[[text string] size];
[[text runs] size];

charAt:
- (char)charAt:(unsigned)anOffset

Returns the character at anOffset or zero if anOffset is greater than the length of the C string.

charAt:put:
- (char)charAt:(unsigned)anOffsetput:(char)aChar

Replaces the character at anOffset with aChar and returns the old character which was in that location.  Returns zero if anOffset is greater than the length of the C string.

at:insert:
-at:(unsigned)anOffsetinsert:aString

at:insert:count:
-at:(unsigned)anOffsetinsert:(char*)aStringcount:(int)size

deleteFrom:to:
-deleteFrom:(unsigned)pto:(unsigned)q

concat:
-concat:b

concatSTR:
-concatSTR:(STR)b

allBold
-allBold

This message is equivalent to,

[self makeBoldFrom:0 to:[self size] - 1].

Returns self (the text object).

makeBoldFrom:to:
-makeBoldFrom:(unsigned)pto:(unsigned)q

Adds a boldface TextAttribute for the characters from index p to q (including the characters at offset p and q).  A boldface attribute has emphasiscode equal to 1.

addAttribute:
-addAttribute:attribute

This message is equivalent to,

[self addAttribute:attribute from:0 to:[self size] - 1].

Returns self (the text object).

addAttribute:from:to:
-addAttribute:attributefrom:(unsigned)pto:(unsigned)q

Adds attribute to the string segments between p and q.

attributesAt:
-attributesAt:(unsigned)i

Returns an OrdCltn of TextAttribute instances for the character at index i.

runLengthFor:
- (unsigned)runLengthFor:(unsigned)i

Returns the number of remaining characters in the string segment to which the character at position i belongs.  If i is the first character of a run, this method returns the size of the run.  Otherwise it returns the size minus the index of character in the run.

asString
-asString

Equivalent to string.

asText
-asText

Returns the object itself.

asParagraph
-asParagraph

Returns a paragraph for this text object.

printOn:
-printOn:(IOD)aFile

Prints the Text for the string contained by this instance.  Returns the receiver.