| java.lang.Object com.ibm.richtext.styledtext.MConstText com.ibm.richtext.styledtext.MText
All known Subclasses: com.ibm.richtext.styledtext.StyledText,
MText | abstract public class MText extends MConstText (Code) | | This class is a mutable extension of MConstText. It has methods for
inserting, appending, replacing, and removing styled text. Additionally,
it has methods for modifying paragraph and character styles.
Styled characters (from another MConstText instance) added
to the text retain their original character styles. The style of plain characters
(specified as a char or char[] ) is always
specified explicitly when they are added to the text. MText does not do
character style "propagation", where unstyled characters take on the
style of previous characters. Clients can implement this behavior by
specifying the styles to propagate.
When unstyled characters are added to the text, their paragraph style
is the paragraph style in effect immediately after the last new character.
If the characters contain paragraph separators, then every new paragraph
will have the same paragraph style. When styled characters are added
to the text, their resulting paragraph style is determined by the
following rule:
The paragraph styles in the new text
become the paragraph styles in the target text, with the exception of the
last paragraph in the new text, which takes on the paragraph style in
effect immediately after the inserted text.
If the new text is added at the end of the target text, the new text's
paragraph styles take effect in any paragraph affected by the addition.
For example, suppose there is a single paragraph of text with style 'A',
delimited with a paragraph separator 'P':
AAAAAAP
Suppose the following styled paragraphs are inserted into the above text
after the fourth character:
BBBBPCCCPDDD
Then the original paragraph style of each character is:
AAAABBBBPCCCPDDDAAP
The resulting paragraph styles are:
BBBBBBBBPCCCPAAAAAP
Similarly, if characters are deleted, the paragraph style immediately
after the deletion takes effect on the paragraph containing the deletion.
So, if characters 4-16 were deleted in the example above, the paragraph
styles would be:
AAAAAAP
This paragraph-style propagation policy is sometimes referred to as
following styles win, since styles at the end of the paragraph
become the style for the entire paragraph.
This class can accumulate a damaged range - an interval in
which characters, character styles, or paragraph styles have changed. This is
useful for clients such as text editors which reformat and draw text after
changes. Usually the damaged range is exactly the range of characters
operated upon; however, larger ranges may be damaged if paragraph styles
change.
See Also: StyleModifier |
Constructor Summary | |
protected | MText() |
Method Summary | |
abstract public void | append(MConstText srcText) Append the contents of srcText (both characters and styles) to the
end of this MText.
Parameters: srcText - The text to append. | abstract public void | compress() Minimize the amount of memory used by the MText object. | abstract public MText | extractWritable(int start, int limit) Create an MText containing the characters and styles in the range
[start , limit ). | abstract public void | insert(int pos, MConstText srcText) Insert the contents of srcText (both characters and styles) into this
MText at the position specified by pos .
Parameters: pos - The character offset where the new text is to be inserted. Parameters: srcText - The text to insert. | abstract public void | modifyCharacterStyles(int start, int limit, StyleModifier modifier) Invoke the given modifier on all character styles from start to limit. | abstract public void | modifyParagraphStyles(int start, int limit, StyleModifier modifier) Invoke the given modifier on all paragraph styles in paragraphs
containing characters in the range [start, limit). | abstract public void | remove(int start, int limit) Delete the specified range of characters (and styles).
Parameters: start - Offset of the first character to delete. Parameters: limit - Offset of the first character after the range to delete. | abstract public void | remove() Delete all characters and styles. | abstract public void | removeCharacterStyles() Set the character style of all characters in the MText object to
AttributeMap.EMPTY_ATTRIBUTE_MAP . | abstract public void | replace(int start, int limit, MConstText srcText, int srcStart, int srcLimit) Replace the characters and styles in the range [start , limit ) with the characters
and styles in srcText in the range [srcStart , srcLimit ). | abstract public void | replace(int start, int limit, MConstText text) Replace the characters and styles in the range [start , limit ) with the characters
and styles in srcText . | abstract public void | replace(int start, int limit, char[] srcChars, int srcStart, int srcLimit, AttributeMap charsStyle) Replace the characters in the range [start , limit ) with the characters
in srcChars in the range [srcStart , srcLimit ). | abstract public void | replace(int start, int limit, char srcChar, AttributeMap charStyle) Replace the characters in the range [start , limit ) with the character srcChar .
The new character takes on the style charStyle
Parameters: start - the offset at which the replace operation begins Parameters: limit - the offset at which the replace operation ends. | abstract public void | replaceAll(MConstText srcText) Replace the entire contents of this MText (both characters and styles) with
the contents of srcText . | abstract public void | resetDamagedRange() Reset the damaged range to an empty interval, and begin accumulating the damaged
range. |
append | abstract public void append(MConstText srcText)(Code) | | Append the contents of srcText (both characters and styles) to the
end of this MText.
Parameters: srcText - The text to append. |
compress | abstract public void compress()(Code) | | Minimize the amount of memory used by the MText object.
|
extractWritable | abstract public MText extractWritable(int start, int limit)(Code) | | Create an MText containing the characters and styles in the range
[start , limit ).
Parameters: start - offset of first character in the new text Parameters: limit - offset immediately after the last character in the new text an MConstText object containing the characters and styles in the given range |
insert | abstract public void insert(int pos, MConstText srcText)(Code) | | Insert the contents of srcText (both characters and styles) into this
MText at the position specified by pos .
Parameters: pos - The character offset where the new text is to be inserted. Parameters: srcText - The text to insert. |
modifyCharacterStyles | abstract public void modifyCharacterStyles(int start, int limit, StyleModifier modifier)(Code) | | Invoke the given modifier on all character styles from start to limit.
Parameters: modifier - the modifier to apply to the range. Parameters: start - the start of the range of text to modify. Parameters: limit - the limit of the range of text to modify. |
modifyParagraphStyles | abstract public void modifyParagraphStyles(int start, int limit, StyleModifier modifier)(Code) | | Invoke the given modifier on all paragraph styles in paragraphs
containing characters in the range [start, limit).
Parameters: modifier - the modifier to apply to the range. Parameters: start - the start of the range of text to modify. Parameters: limit - the limit of the range of text to modify. |
remove | abstract public void remove(int start, int limit)(Code) | | Delete the specified range of characters (and styles).
Parameters: start - Offset of the first character to delete. Parameters: limit - Offset of the first character after the range to delete. |
remove | abstract public void remove()(Code) | | Delete all characters and styles.
|
removeCharacterStyles | abstract public void removeCharacterStyles()(Code) | | Set the character style of all characters in the MText object to
AttributeMap.EMPTY_ATTRIBUTE_MAP .
|
replace | abstract public void replace(int start, int limit, MConstText srcText, int srcStart, int srcLimit)(Code) | | Replace the characters and styles in the range [start , limit ) with the characters
and styles in srcText in the range [srcStart , srcLimit ). srcText is not
modified.
Parameters: start - the offset at which the replace operation begins Parameters: limit - the offset at which the replace operation ends. The character and style atlimit is not modified. Parameters: srcText - the source for the new characters and styles Parameters: srcStart - the offset into srcText where new characters and styles will be obtained Parameters: srcLimit - the offset into srcText where the new characters and styles end |
replace | abstract public void replace(int start, int limit, MConstText text)(Code) | | Replace the characters and styles in the range [start , limit ) with the characters
and styles in srcText . srcText is not
modified.
Parameters: start - the offset at which the replace operation begins Parameters: limit - the offset at which the replace operation ends. The character and style atlimit is not modified. Parameters: text - the source for the new characters and styles |
replace | abstract public void replace(int start, int limit, char[] srcChars, int srcStart, int srcLimit, AttributeMap charsStyle)(Code) | | Replace the characters in the range [start , limit ) with the characters
in srcChars in the range [srcStart , srcLimit ). New characters take on the style
charsStyle .
srcChars is not modified.
Parameters: start - the offset at which the replace operation begins Parameters: limit - the offset at which the replace operation ends. The character atlimit is not modified. Parameters: srcChars - the source for the new characters Parameters: srcStart - the offset into srcChars where new characters will be obtained Parameters: srcLimit - the offset into srcChars where the new characters end Parameters: charsStyle - the style of the new characters |
replace | abstract public void replace(int start, int limit, char srcChar, AttributeMap charStyle)(Code) | | Replace the characters in the range [start , limit ) with the character srcChar .
The new character takes on the style charStyle
Parameters: start - the offset at which the replace operation begins Parameters: limit - the offset at which the replace operation ends. The character atlimit is not modified. Parameters: srcChar - the new character Parameters: charStyle - the style of the new character |
replaceAll | abstract public void replaceAll(MConstText srcText)(Code) | | Replace the entire contents of this MText (both characters and styles) with
the contents of srcText .
Parameters: srcText - the source for the new characters and styles |
resetDamagedRange | abstract public void resetDamagedRange()(Code) | | Reset the damaged range to an empty interval, and begin accumulating the damaged
range. The damaged range includes every index where a character, character style,
or paragraph style has changed.
See Also: MText.damagedRangeStart See Also: MText.damagedRangeLimit |
|
|