Package com.reportmill.text
Class RMTextEditor
- java.lang.Object
-
- com.reportmill.text.RMTextEditor
-
- Direct Known Subclasses:
RMEditorTextEditor
public class RMTextEditor extends java.lang.ObjectThis class provides all of the event and drawing code necessary to edit text in the form of an RMXString (separated from an actual UI Component).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRMTextEditor.ListenerListener class so other objects can track changes to text editor.
-
Field Summary
Fields Modifier and Type Field Description static booleanisHyphenatingstatic booleanisSpellChecking
-
Constructor Summary
Constructors Constructor Description RMTextEditor()Creates a plain text editor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddListener(RMTextEditor.Listener aTEL)Adds a listener.voidcopy()Copies the current selection onto the clipboard.voidcut()Copies the current selection onto the clip board, then deletes the current selection.voiddelete()Deletes the current selection.voiddeleteForward()Deletes the character in front of the insertion point.voiddeleteToLineEnd()Deletes the characters from the insertion point to the end of the line.bytegetAlign()Returns the alignment for current selection.RMRectgetBounds()Returns the bounds of the text editor.floatgetCharSpacing()Returns the character spacing of the current selection or cursor.RMColorgetColor()Returns the color of the current selection or cursor.RMFontgetFont()Returns the font of the current selection or cursor.floatgetFontScale()Returns the scale applied to text when editing.RMFormatgetFormat()Returns the format of the current selection or cursor.floatgetHeightToFit()Returns the height needed to display all characters.java.util.MapgetInputAttributes()Returns the map of attributes applied to any inputted characters.RMParagraphgetInputParagraph()Returns the paragraph of the current selection or cursor position.floatgetLineGap()Returns the line gap for current selection.floatgetLineHeightMax()Returns the maximum line height for a line of text (even if font size would dictate higher).floatgetLineHeightMin()Returns the min line height for current selection.floatgetLineSpacing()Returns the line spacing for current selection.RMTextEditor.ListenergetListener(int anIndex)Return the listener at the given index.RMXString.OutlinegetOutline()Returns whether current selection is outlined.static java.awt.geom.GeneralPathgetSelectionPath(RMTextEditor aTextEditor, RMTextLayout aTextLayout)Returns a path for the current selection.intgetSelEnd()Returns the character index of the end of the text selection.intgetSelStart()Returns the character index of the start of the text selection.static java.awt.geom.GeneralPathgetSpellingPath(RMTextEditor aTextEditor, RMTextLayout aTextLayout)Returns a path for misspelled word underlining.java.lang.StringgetString()Returns the plain string of the xstring being edited.RMTextLayoutgetTextLayout()Returns the configured text layout used to layout text.RMXStringgetXString()Returns the xstring that is being edited.booleanisUnderlined()Returns whether current selection is underlined.voidkeyBackward()Moves the insertion point backward a character (or if a range is selected, moves to beginning of range).voidkeyDown()Moves the insertion point down a line, trying preserve distance from beginning of line.voidkeyForward()Moves the insertion point forward a character (or if a range is selected, moves to end of range).voidkeyUp()Moves the insertion point up a line, trying to preserve distance from beginning of line.intlength()Returns the number of characters in the text string.voidlineEnd()Moves the insertion point to the end of line.voidlineStart()Moves the insertion point to the beginning of line.voidmouseDragged(java.awt.event.MouseEvent e, RMPoint location)Handles mouse dragged.voidmousePressed(java.awt.event.MouseEvent e, RMPoint location)Handles mouse pressed.voidmouseReleased(java.awt.event.MouseEvent e, RMPoint location)Handles mouse released.static voidpaintLayout(RMTextEditor aTextEditor, RMTextLayout aTextLayout, java.awt.Graphics2D g, float opacity)Paints a given layout in a given graphics.voidpaintLayout(java.awt.Graphics2D g, float opacity)Paints the text editor (with an opacity value).voidpaste()Pasts the current clipboard data over the current selection.voidprocessKeyEvent(java.awt.event.KeyEvent e)Handles key events.voidremoveListener(RMTextEditor.Listener aTEL)Removes a listener.voidreplace(RMXString aString)Replaces the current selection with the given xstring.voidreplace(java.lang.String aString)Replaces the current selection with the given string.voidselectAll()Selects all the characters in the text editor.voidsetAlign(int align)Sets the alignment for current selection.voidsetBounds(float x, float y, float w, float h)Set the bounds of the text editor.voidsetCharSpacing(float aValue)Returns the character spacing of the current selection or cursor.voidsetColor(RMColor color)Sets the color of the current selection or cursor.voidsetFont(RMFont font)Sets the font of the current selection or cursor.voidsetFontScale(float aScale)Sets the scale applied to text when editing.voidsetFormat(RMFormat aFormat)Sets the format of the current selection or cursor, after trying to expand the selection to encompase currently selected, @-sign deliniated key.voidsetInputAttribute(java.lang.String aKey, java.lang.Object aValue)Sets the attributes that are applied to current selection or newly typed chars.voidsetInputParagraph(RMParagraph ps)Sets the paragraph of the current selection or cursor position.voidsetLineGap(float aHeight)Sets the line gap for current selection.voidsetLineHeightMax(float aHeight)Sets the maximum line height for a line of text (even if font size would dictate higher).voidsetLineHeightMin(float aHeight)Sets the min line height for current selection.voidsetLineSpacing(float aHeight)Sets the line spacing for current selection.voidsetNeedsRepaint()Tell the text editor listener that editor needs repaint.voidsetOutline(RMXString.Outline anOutline)Sets whether current selection is outlined.voidsetSelection(int newStartEnd)Sets the character index of the text cursor.voidsetSelection(int newStart, int newEnd)Sets the character index of the start and end of the text selection.voidsetSelEnd(int newEnd)Sets the character index of the end of the text selection.voidsetSelStart(int newStart)Sets the character index of the start of the text selection.voidsetSubscript()Sets current selection to subscript.voidsetSuperscript()Sets current selection to superscript.voidsetTextLayout(RMTextLayout aLayout)Sets the text layout for this text editor.voidsetUnderlined(boolean aFlag)Sets whether current selection is underlined.voidsetXString(RMXString aString)Sets the xstring that is to be edited.RMRangesmartFindFormatRange()This method returns the range of the @-sign delinated key closest to the current selection (or null if not found).voidtextDidChange()Called when characters where added, updated or deleted.
-
-
-
Method Detail
-
getXString
public RMXString getXString()
Returns the xstring that is being edited.
-
setXString
public void setXString(RMXString aString)
Sets the xstring that is to be edited.
-
getBounds
public RMRect getBounds()
Returns the bounds of the text editor.
-
setBounds
public void setBounds(float x, float y, float w, float h)Set the bounds of the text editor.
-
length
public int length()
Returns the number of characters in the text string.
-
getSelStart
public int getSelStart()
Returns the character index of the start of the text selection.
-
setSelStart
public void setSelStart(int newStart)
Sets the character index of the start of the text selection.
-
getSelEnd
public int getSelEnd()
Returns the character index of the end of the text selection.
-
setSelEnd
public void setSelEnd(int newEnd)
Sets the character index of the end of the text selection.
-
setSelection
public void setSelection(int newStartEnd)
Sets the character index of the text cursor.
-
setSelection
public void setSelection(int newStart, int newEnd)Sets the character index of the start and end of the text selection.
-
getFontScale
public float getFontScale()
Returns the scale applied to text when editing.
-
setFontScale
public void setFontScale(float aScale)
Sets the scale applied to text when editing.
-
getTextLayout
public RMTextLayout getTextLayout()
Returns the configured text layout used to layout text.
-
setTextLayout
public void setTextLayout(RMTextLayout aLayout)
Sets the text layout for this text editor.
-
getInputAttributes
public java.util.Map getInputAttributes()
Returns the map of attributes applied to any inputted characters.
-
setInputAttribute
public void setInputAttribute(java.lang.String aKey, java.lang.Object aValue)Sets the attributes that are applied to current selection or newly typed chars.
-
getInputParagraph
public RMParagraph getInputParagraph()
Returns the paragraph of the current selection or cursor position.
-
setInputParagraph
public void setInputParagraph(RMParagraph ps)
Sets the paragraph of the current selection or cursor position.
-
getString
public java.lang.String getString()
Returns the plain string of the xstring being edited.
-
getColor
public RMColor getColor()
Returns the color of the current selection or cursor.
-
setColor
public void setColor(RMColor color)
Sets the color of the current selection or cursor.
-
getFont
public RMFont getFont()
Returns the font of the current selection or cursor.
-
setFont
public void setFont(RMFont font)
Sets the font of the current selection or cursor.
-
getFormat
public RMFormat getFormat()
Returns the format of the current selection or cursor.
-
setFormat
public void setFormat(RMFormat aFormat)
Sets the format of the current selection or cursor, after trying to expand the selection to encompase currently selected, @-sign deliniated key.
-
smartFindFormatRange
public RMRange smartFindFormatRange()
This method returns the range of the @-sign delinated key closest to the current selection (or null if not found).
-
isUnderlined
public boolean isUnderlined()
Returns whether current selection is underlined.
-
setUnderlined
public void setUnderlined(boolean aFlag)
Sets whether current selection is underlined.
-
getOutline
public RMXString.Outline getOutline()
Returns whether current selection is outlined.
-
setOutline
public void setOutline(RMXString.Outline anOutline)
Sets whether current selection is outlined.
-
setSuperscript
public void setSuperscript()
Sets current selection to superscript.
-
setSubscript
public void setSubscript()
Sets current selection to subscript.
-
getAlign
public byte getAlign()
Returns the alignment for current selection.
-
setAlign
public void setAlign(int align)
Sets the alignment for current selection.
-
getCharSpacing
public float getCharSpacing()
Returns the character spacing of the current selection or cursor.
-
setCharSpacing
public void setCharSpacing(float aValue)
Returns the character spacing of the current selection or cursor.
-
getLineSpacing
public float getLineSpacing()
Returns the line spacing for current selection.
-
setLineSpacing
public void setLineSpacing(float aHeight)
Sets the line spacing for current selection.
-
getLineGap
public float getLineGap()
Returns the line gap for current selection.
-
setLineGap
public void setLineGap(float aHeight)
Sets the line gap for current selection.
-
getLineHeightMin
public float getLineHeightMin()
Returns the min line height for current selection.
-
setLineHeightMin
public void setLineHeightMin(float aHeight)
Sets the min line height for current selection.
-
getLineHeightMax
public float getLineHeightMax()
Returns the maximum line height for a line of text (even if font size would dictate higher).
-
setLineHeightMax
public void setLineHeightMax(float aHeight)
Sets the maximum line height for a line of text (even if font size would dictate higher).
-
getListener
public RMTextEditor.Listener getListener(int anIndex)
Return the listener at the given index.
-
addListener
public void addListener(RMTextEditor.Listener aTEL)
Adds a listener.
-
removeListener
public void removeListener(RMTextEditor.Listener aTEL)
Removes a listener.
-
textDidChange
public void textDidChange()
Called when characters where added, updated or deleted.
-
setNeedsRepaint
public void setNeedsRepaint()
Tell the text editor listener that editor needs repaint.
-
replace
public void replace(java.lang.String aString)
Replaces the current selection with the given string.
-
replace
public void replace(RMXString aString)
Replaces the current selection with the given xstring.
-
cut
public void cut()
Copies the current selection onto the clip board, then deletes the current selection.
-
copy
public void copy()
Copies the current selection onto the clipboard.
-
paste
public void paste()
Pasts the current clipboard data over the current selection.
-
delete
public void delete()
Deletes the current selection.
-
selectAll
public void selectAll()
Selects all the characters in the text editor.
-
keyForward
public void keyForward()
Moves the insertion point forward a character (or if a range is selected, moves to end of range).
-
keyBackward
public void keyBackward()
Moves the insertion point backward a character (or if a range is selected, moves to beginning of range).
-
keyUp
public void keyUp()
Moves the insertion point up a line, trying to preserve distance from beginning of line.
-
keyDown
public void keyDown()
Moves the insertion point down a line, trying preserve distance from beginning of line.
-
lineStart
public void lineStart()
Moves the insertion point to the beginning of line.
-
lineEnd
public void lineEnd()
Moves the insertion point to the end of line.
-
deleteForward
public void deleteForward()
Deletes the character in front of the insertion point.
-
deleteToLineEnd
public void deleteToLineEnd()
Deletes the characters from the insertion point to the end of the line.
-
getHeightToFit
public float getHeightToFit()
Returns the height needed to display all characters.
-
processKeyEvent
public void processKeyEvent(java.awt.event.KeyEvent e)
Handles key events.
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e, RMPoint location)Handles mouse pressed.
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e, RMPoint location)Handles mouse dragged.
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e, RMPoint location)Handles mouse released.
-
paintLayout
public void paintLayout(java.awt.Graphics2D g, float opacity)Paints the text editor (with an opacity value).
-
paintLayout
public static void paintLayout(RMTextEditor aTextEditor, RMTextLayout aTextLayout, java.awt.Graphics2D g, float opacity)
Paints a given layout in a given graphics.
-
getSelectionPath
public static java.awt.geom.GeneralPath getSelectionPath(RMTextEditor aTextEditor, RMTextLayout aTextLayout)
Returns a path for the current selection.
-
getSpellingPath
public static java.awt.geom.GeneralPath getSpellingPath(RMTextEditor aTextEditor, RMTextLayout aTextLayout)
Returns a path for misspelled word underlining.
-
-