| com.ibm.richtext.textpanel.MTextPanel
All known Subclasses: com.ibm.richtext.textpanel.TextPanel, com.ibm.richtext.textpanel.JTextPanel,
MTextPanel | public interface MTextPanel (Code) | | MTextPanel is implemented by Components which provide selectable
editable styled text.
Implementations of MTextPanel provide a simple, standard user interface
for text editing. MTextPanel supplies scrollable display, typing,
arrow-key support, character selection, word-
and sentence-selection (by double-clicking and triple-clicking,
respectively), text styles, clipboard operations (cut, copy and paste)
and a log of changes for undo-redo.
MTextPanel implementations do not provide user interface elements
such as an edit menu or style menu. This support is provided in
different packages, and is implemented with MTextPanel's API.
MTextPanel includes methods for setting selections and styles on text,
and using the clipboard and command-log functionality.
MTextPanel's API for selection and text handling is similar to that
of java.awt.TextArea and
java.awt.TextComponent.
MTextPanel supports bidirectional and complex text. In bidirectional
text, offsets at direction boundaries have dual carets. Logical selection
is used, so selections across run directions may not be contiguous in
display.
|
Field Summary | |
final static String | COPYRIGHT | final public static Object | MULTIPLE_VALUES This value is returned from getCharacterStyleOverSelection
and getParagraphStyleOverSelection to indicate that the
selection range contains multiple values for a key.
There is no reason for this Object ever to appear in an AttributeMap
as a value. |
Method Summary | |
public void | addListener(TextPanelListener listener) Add the given TextPanelListener to the listeners which will
receive update notifications from this MTextPanel. | public void | append(MConstText newText) Append the given text to the end of the document. | public boolean | canRedo() Return true if there is a change which can be redone. | public boolean | canUndo() Return true if there is a change which can be undone. | public void | clear() Remove selected text from the document, without altering the clipboard. | public void | clearCommandLog() Remove all commands from the command log. | public boolean | clipboardNotEmpty() Return true if the clipboard contains contents which could be
transfered into the text. | public void | copy() Place the selected text on the clipboard. | public void | cut() Remove the selected text from the document and place it
on the clipboard. | public Object | getCharacterStyleOverSelection(Object key) This method inspects the character style runs in the selection
range (or the typing style at the insertion point). | public int | getCommandLogSize() Return the number of commands the command log can hold. | public AttributeMap | getDefaultValues() Return an AttributeMap of keys with default values. | public int | getFormatWidth() Return the total format width, in pixels. | public KeyRemap | getKeyRemap() Return the KeyRemap used to process key events. | public Object | getParagraphStyleOverSelection(Object key) This method inspects the paragraph style runs in the selection
range (or the typing style at the insertion point). | public int | getSelectionEnd() Return the offset of the end of the selection. | public int | getSelectionStart() Return the offset of the start of the selection. | public MConstText | getText() Return the text document in the MTextPanel. | public int | getTextLength() Return the length of the text document in the MTextPanel. | public void | insert(MConstText newText, int position) Insert the given text into the document at the given position. | public boolean | isModified() Return the modification flag of the current text change. | public void | modifyCharacterStyleOnSelection(StyleModifier modifier) Modify the character styles on the selected characters. | public void | modifyParagraphStyleOnSelection(StyleModifier modifier) Modify the paragraph styles in paragraphs containing selected characters, or
the paragraph containing the insertion point. | public boolean | paragraphIsLeftToRight(int offset) Return true if the paragraph at the given offset is left-to-right. | public void | paste() Replace the currently selected text with the text on the clipboard. | public void | redo() Redo the most recent text change. | public void | removeListener(TextPanelListener listener) Remove the given TextPanelListener from the listeners which will
receive update notifications from this MTextPanel. | public void | replaceRange(MConstText newText, int start, int end) Replace the given range with newText. | public void | select(int selectionStart, int selectionEnd) Set the selection range to the given range. | public void | selectAll() Select all of the text in the document. | public void | setCaretPosition(int position) Set the selection range to an insertion point at the given
offset. | public void | setCommandLogSize(int size) Set the number of commands the command log can hold. | public void | setKeyRemap(KeyRemap remap) Use the given KeyRemap to map key events to characters.
Only key
events are affected by the remap; other text entering the
control (via the clipboard, for example) is not affected
by the KeyRemap.
Do not pass null to this method to leave key
events unmapped. | public void | setModified(boolean modified) Set the modification flag of the current text change. | public void | setSelectionEnd(int selectionEnd) Set the end of the selection range. | public void | setSelectionStart(int selectionStart) Set the beginning of the selection range. | public void | setText(MConstText newText) Set the document to newText. | public void | undo() Undo the most recent text change. |
MULTIPLE_VALUES | final public static Object MULTIPLE_VALUES(Code) | | This value is returned from getCharacterStyleOverSelection
and getParagraphStyleOverSelection to indicate that the
selection range contains multiple values for a key.
There is no reason for this Object ever to appear in an AttributeMap
as a value. Obviously, if it does there will be no way to distinguish
between multiple values across the selection and a consistent value of
MULTIPLE_VALUES for the key.
See Also: MTextPanel.getCharacterStyleOverSelection See Also: MTextPanel.getParagraphStyleOverSelection |
addListener | public void addListener(TextPanelListener listener)(Code) | | Add the given TextPanelListener to the listeners which will
receive update notifications from this MTextPanel.
Parameters: listener - the listener to add |
append | public void append(MConstText newText)(Code) | | Append the given text to the end of the document. Equivalent to
insert(newText, getTextLength()).
Parameters: newText - the text to append to the document |
canRedo | public boolean canRedo()(Code) | | Return true if there is a change which can be redone.
true if there is a change which can be redone. |
canUndo | public boolean canUndo()(Code) | | Return true if there is a change which can be undone.
true if there is a change which can be undone. |
clear | public void clear()(Code) | | Remove selected text from the document, without altering the clipboard.
This method has no effect if the
text is not editable.
|
clearCommandLog | public void clearCommandLog()(Code) | | Remove all commands from the command log.
|
clipboardNotEmpty | public boolean clipboardNotEmpty()(Code) | | Return true if the clipboard contains contents which could be
transfered into the text.
true if the clipboard has text content. |
copy | public void copy()(Code) | | Place the selected text on the clipboard. This method has
no effect if no text is selected.
|
cut | public void cut()(Code) | | Remove the selected text from the document and place it
on the clipboard. This method has no effect if the text
is not editable, or if no text is selected.
|
getCharacterStyleOverSelection | public Object getCharacterStyleOverSelection(Object key)(Code) | | This method inspects the character style runs in the selection
range (or the typing style at the insertion point). It returns:
- The value of key, if the value of key
is the same in all of the style runs in the selection, or
- MULTIPLE_VALUES, if two or more style runs have different
values for key.
If a style run does not contain key,
its value is considered to be the default style for key,
as defined by the default values AttributeMap. Note that if
key does not have a default value this method may return
null.
This method is useful for configuring style menus.
Parameters: key - the key used to retrieve values for comparison See Also: MTextPanel.MULTIPLE_VALUES |
getCommandLogSize | public int getCommandLogSize()(Code) | | Return the number of commands the command log can hold.
the number of commands the command log can hold |
getDefaultValues | public AttributeMap getDefaultValues()(Code) | | Return an AttributeMap of keys with default values. The default
values are used when displaying text for values which are not
specified in the text.
an AttributeMap of default key-value pairs |
getFormatWidth | public int getFormatWidth()(Code) | | Return the total format width, in pixels. The format width is the
width to which text is wrapped.
the format width |
getParagraphStyleOverSelection | public Object getParagraphStyleOverSelection(Object key)(Code) | | This method inspects the paragraph style runs in the selection
range (or the typing style at the insertion point). It returns:
- The value of key, if the value of key
is the same in all of the style runs in the selection, or
- MULTIPLE_VALUES, if two or more style runs have
different values for key.
If a style run does not contain key,
its value is considered to be the default style for key,
as defined by the default values AttributeMap. Note that if
key does not have a default value this method may return
null.
This method is useful for configuring style menus.
Parameters: key - the key used to retrieve values for comparison See Also: MTextPanel.MULTIPLE_VALUES |
getSelectionEnd | public int getSelectionEnd()(Code) | | Return the offset of the end of the selection.
|
getSelectionStart | public int getSelectionStart()(Code) | | Return the offset of the start of the selection.
|
getText | public MConstText getText()(Code) | | Return the text document in the MTextPanel.
the text document in the MTextPanel. |
getTextLength | public int getTextLength()(Code) | | Return the length of the text document in the MTextPanel.
the length of the text document in the MTextPanel |
insert | public void insert(MConstText newText, int position)(Code) | | Insert the given text into the document at the given position.
Equivalent to
replaceRange(newText, position, position).
Parameters: newText - the text to insert into the document. Parameters: position - the position in the document where thetext will be inserted |
modifyCharacterStyleOnSelection | public void modifyCharacterStyleOnSelection(StyleModifier modifier)(Code) | | Modify the character styles on the selected characters. If no characters
are selected, modify the typing style.
Parameters: modifier - the StyleModifier with which to modify the styles |
modifyParagraphStyleOnSelection | public void modifyParagraphStyleOnSelection(StyleModifier modifier)(Code) | | Modify the paragraph styles in paragraphs containing selected characters, or
the paragraph containing the insertion point.
Parameters: modifier - the StyleModifier with which to modify the styles |
paragraphIsLeftToRight | public boolean paragraphIsLeftToRight(int offset)(Code) | | Return true if the paragraph at the given offset is left-to-right.
Parameters: offset - an offset in the text true if the paragraph at the given offset is left-to-right |
paste | public void paste()(Code) | | Replace the currently selected text with the text on the clipboard.
This method has no effect if the text is not editable, or if no
text is on the clipboard.
|
redo | public void redo()(Code) | | Redo the most recent text change. This method has no effect if
there is no change to redo.
|
removeListener | public void removeListener(TextPanelListener listener)(Code) | | Remove the given TextPanelListener from the listeners which will
receive update notifications from this MTextPanel.
Parameters: listener - the listener to remove |
replaceRange | public void replaceRange(MConstText newText, int start, int end)(Code) | | Replace the given range with newText. After this
operation the selection range is an insertion point at the
end of the new text.
Parameters: newText - the text with which to replace the range Parameters: start - the beginning of the range to replace Parameters: end - the end of the range to replace |
select | public void select(int selectionStart, int selectionEnd)(Code) | | Set the selection range to the given range. The range start
is pinned between 0 and the text length; the range end is pinned
between the range start and the end of the text. These semantics
are identical to those of java.awt.TextComponent.
This method has no effect if the text is not selectable.
Parameters: selectionStart - the beginning of the selection range Parameters: selectionEnd - the end of the selection range |
selectAll | public void selectAll()(Code) | | Select all of the text in the document. This method has no effect if
the text is not selectable.
|
setCaretPosition | public void setCaretPosition(int position)(Code) | | Set the selection range to an insertion point at the given
offset. This is equivalent to
select(position, position).
Parameters: position - the offset of the new insertion point |
setCommandLogSize | public void setCommandLogSize(int size)(Code) | | Set the number of commands the command log can hold. All
redoable commands are removed when this method is called.
Parameters: size - the number of commands kept in the command log |
setKeyRemap | public void setKeyRemap(KeyRemap remap)(Code) | | Use the given KeyRemap to map key events to characters.
Only key
events are affected by the remap; other text entering the
control (via the clipboard, for example) is not affected
by the KeyRemap.
Do not pass null to this method to leave key
events unmapped. Instead, use KeyRemap.getIdentityRemap()
Parameters: remap - the KeyRemap to use for mapping key events to characters exception: java.lang.NullPointerException - if parameter is null See Also: KeyRemap |
setModified | public void setModified(boolean modified)(Code) | | Set the modification flag of the current text change.
|
setSelectionEnd | public void setSelectionEnd(int selectionEnd)(Code) | | Set the end of the selection range. This is
equivalent to select(getSelectionStart(), selectionEnd).
Parameters: selectionEnd - the end of the new selection range |
setSelectionStart | public void setSelectionStart(int selectionStart)(Code) | | Set the beginning of the selection range. This is
equivalent to select(selectionStart, getSelectionEnd()).
Parameters: selectionStart - the start of the new selection range |
setText | public void setText(MConstText newText)(Code) | | Set the document to newText. This operation
modifies the text in the MTextPanel. It does not modify or adopt
newText. This method sets the selection an insertion point at
the end of the text.
Parameters: newText - the text which will replace the current text. |
undo | public void undo()(Code) | | Undo the most recent text change. This method has no effect if
there is no change to undo.
|
|
|