Class TextLine
- java.lang.Object
-
- com.inductiveautomation.rm.base.RMListenerList
-
- com.inductiveautomation.rm.base.RMObject
-
- com.inductiveautomation.snap.text.TextRect
-
- com.inductiveautomation.snap.text.TextLine
-
- All Implemented Interfaces:
RMPropertyChanger,RMTypes,TextTypes,java.lang.CharSequence,java.lang.Cloneable
public class TextLine extends TextRect implements java.lang.CharSequence, TextTypes
A class to represent text with attributes.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.inductiveautomation.rm.base.RMTypes
RMTypes.Align, RMTypes.AlignX, RMTypes.AlignY
-
Nested classes/interfaces inherited from interface com.inductiveautomation.snap.text.TextTypes
TextTypes.TabType
-
-
Field Summary
Fields Modifier and Type Field Description static charTAB_CENTERstatic charTAB_DECIMALstatic charTAB_LEFTstatic charTAB_RIGHT-
Fields inherited from interface com.inductiveautomation.snap.text.TextTypes
TEXT_CHAR_SPACING, TEXT_COLOR, TEXT_FONT, TEXT_FORMAT, TEXT_LINK, TEXT_OUTLINE, TEXT_SCRIPTING, TEXT_UNDERLINE
-
-
Constructor Summary
Constructors Constructor Description TextLine()Creates a new TextLine.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddChars(java.lang.CharSequence theChars, TextStyle theStyle, int anIndex)Adds characters with attributes to this line at given index.voidaddRun(TextRun aRun, int anIndex)Adds a run to line.protected TextRunaddRun(TextStyle theStyle, int anIndex)Adds a new run at given index.charcharAt(int anIndex)Returns the char value at the specified index.TextLineclone()Standard clone implementation.protected TextRuncreateRun()Creates a new run.protected java.util.ListcreateTokens()Returns the tokens for this line.RMTypes.AlignXgetAlignX()Returns the alignment associated with this paragraph.doublegetBaselineY()Returns the y position for this line (in same coords as the layout frame).intgetCharIndex(double anX)Returns the character index for the given x/y point.intgetEnd()Returns the end char index of this line in text.intgetIndex()Returns the index of this line in text.chargetLastChar()Returns the last char.floatgetLeftIndent()Returns the left side indentation of this paragraph.floatgetLeftIndentFirst()Returns the left side indentation of the first line in this paragraph (this can be set different than successive lines).doublegetLineAdvance()Returns the vertical distance for any line below this line.floatgetLineGap()Returns additional line spacing expressed as a constant amount in points.floatgetLineHeightMax()Returns the maximum line height in printer points associated with this paragraph.floatgetLineHeightMin()Returns the minimum line height in printer points associated with this paragraph.floatgetLineSpacing()Returns the spacing of lines expressed as a factor of a given line's height.doublegetMaxAscent()Returns the max ascent of the chars in this line.TextLinegetNextLine()Returns the next line, if available.floatgetParagraphSpacing()Returns the spacing between paragraphs in printer points associated with this paragraph.TextLinegetPreviousLine()Returns the previous line if available.floatgetRightIndent()Returns the right side indentation of this paragraph.TextRungetRun(int anIndex)Returns the individual run at given index.TextRungetRunAt(int anIndex)Returns the head run for the line.intgetRunCount()Returns the number of runs for this line.TextRungetRunFor(int anIndex)Returns the run for the given character index or last run if at end of line.TextRungetRunLast()Returns the last run.intgetStart()Returns the start char index of this line in text.java.lang.StringgetString()Returns the string for the line.floatgetTab(int anIndex)Returns the specific tab value for the given index in printer points.intgetTabCount()Returns the number of tabs associated with this paragraph.intgetTabIndex(float aLocation)Returns the tab index for the given location.float[]getTabs()Returns the raw tab arrayjava.lang.StringgetTabsString()Returns the values of all the tabs associated with this paragraph as a comma separated string.chargetTabType(int anIndex)Returns the type of tab at the given index.char[]getTabTypes()Returns the raw tab type arrayTextgetText()Returns the text.TextTokengetToken(int anIndex)Returns the individual token at given index.TextTokengetTokenAt(int anIndex)Returns the token at character index.intgetTokenCount()Returns the number of tokens.TextTokengetTokenForPointX(double anX)Returns the token at index.java.util.List<TextToken>getTokens()Returns the tokens for this line.doublegetX()Returns the line x.doublegetXForChar(int anIndex)Returns the x coord for the given character index.doublegetY()Returns the line y.voidinvalidate()Invalidates this line starting at given run.booleanisLastCharNewline()Returns whether run ends with newline.booleanisLastCharWhiteSpace()Returns whether line ends with space.protected voidjoin(TextLine aLine)Joins the given line to the end of this line.intlength()Returns the length of this text line.voidremoveChars(int aStart, int anEnd)Removes characters in given range.TextRunremoveRun(int anIndex)Removes a run at given index.intremoveRun(TextRun aRun)Removes the given run.voidsetAlignX(RMTypes.AlignX anAlign)Sets the alignment associated with this paragraph.voidsetAttribute(java.lang.String aKey, java.lang.Object aValue, int aStart, int anEnd)Sets a given attribute to a given value for a given range.voidsetLineGap(float aGap)Sets additional line spacing expressed as a constant amount in points.voidsetLineHeightMax(float aValue)Sets the maximum line height in printer points associated with this paragraph.voidsetLineHeightMin(float aValue)Sets the minimum line height in printer points associated with this paragraph.voidsetLineSpacing(float aSpacing)Sets the spacing of lines expressed as a factor of a given line's height.voidsetParagraphSpacing(float aValue)Returns the spacing between paragraphs in printer points associated with this paragraph.voidsetTabsString(java.lang.String aString)Sets the value of tabs from the given tabs string.protected TextLinesplit(int anIndex)Splits the line at given index in line.java.lang.CharSequencesubSequence(int aStart, int anEnd)Returns a new char sequence that is a subsequence of this sequence.java.lang.StringtoString()Standard toString implementation.protected voidupdateRuns(int aRunIndex)Updates length due to change in given run.voidvalidate()Validates this line.-
Methods inherited from class com.inductiveautomation.snap.text.TextRect
getHeight, getMaxX, getMaxY, getWidth, setHeight, setRect, setSize, setWidth, setX, setY
-
Methods inherited from class com.inductiveautomation.rm.base.RMObject
addPropertyChangeListener, animUpdate, firePropertyChange, firePropertyChange, firePropertyChange, getPCEvent, removePropertyChangeListener, sendPropertyChange
-
Methods inherited from class com.inductiveautomation.rm.base.RMListenerList
addListener, getListener, getListenerCount, getListenerCount, getListenerList, getListeners, hasListeners, removeListener
-
-
-
-
Field Detail
-
TAB_LEFT
public static final char TAB_LEFT
- See Also:
- Constant Field Values
-
TAB_RIGHT
public static final char TAB_RIGHT
- See Also:
- Constant Field Values
-
TAB_CENTER
public static final char TAB_CENTER
- See Also:
- Constant Field Values
-
TAB_DECIMAL
public static final char TAB_DECIMAL
- See Also:
- Constant Field Values
-
-
Method Detail
-
getText
public Text getText()
Returns the text.
-
getIndex
public int getIndex()
Returns the index of this line in text.
-
getStart
public int getStart()
Returns the start char index of this line in text.
-
getEnd
public int getEnd()
Returns the end char index of this line in text.
-
length
public int length()
Returns the length of this text line.- Specified by:
lengthin interfacejava.lang.CharSequence
-
charAt
public char charAt(int anIndex)
Returns the char value at the specified index.- Specified by:
charAtin interfacejava.lang.CharSequence
-
subSequence
public java.lang.CharSequence subSequence(int aStart, int anEnd)Returns a new char sequence that is a subsequence of this sequence.- Specified by:
subSequencein interfacejava.lang.CharSequence
-
getString
public java.lang.String getString()
Returns the string for the line.
-
addChars
public void addChars(java.lang.CharSequence theChars, TextStyle theStyle, int anIndex)Adds characters with attributes to this line at given index.
-
removeChars
public void removeChars(int aStart, int anEnd)Removes characters in given range.
-
setAttribute
public void setAttribute(java.lang.String aKey, java.lang.Object aValue, int aStart, int anEnd)Sets a given attribute to a given value for a given range.
-
getRunCount
public int getRunCount()
Returns the number of runs for this line.
-
getRun
public TextRun getRun(int anIndex)
Returns the individual run at given index.
-
createRun
protected TextRun createRun()
Creates a new run.
-
addRun
public void addRun(TextRun aRun, int anIndex)
Adds a run to line.
-
removeRun
public TextRun removeRun(int anIndex)
Removes a run at given index.
-
removeRun
public int removeRun(TextRun aRun)
Removes the given run.
-
getRunLast
public TextRun getRunLast()
Returns the last run.
-
getRunAt
public TextRun getRunAt(int anIndex)
Returns the head run for the line.
-
getRunFor
public TextRun getRunFor(int anIndex)
Returns the run for the given character index or last run if at end of line.
-
updateRuns
protected void updateRuns(int aRunIndex)
Updates length due to change in given run.
-
invalidate
public void invalidate()
Invalidates this line starting at given run.
-
validate
public void validate()
Validates this line.
-
getAlignX
public RMTypes.AlignX getAlignX()
Returns the alignment associated with this paragraph.
-
setAlignX
public void setAlignX(RMTypes.AlignX anAlign)
Sets the alignment associated with this paragraph.
-
getLeftIndent
public float getLeftIndent()
Returns the left side indentation of this paragraph.
-
getLeftIndentFirst
public float getLeftIndentFirst()
Returns the left side indentation of the first line in this paragraph (this can be set different than successive lines).
-
getRightIndent
public float getRightIndent()
Returns the right side indentation of this paragraph.
-
getLineSpacing
public float getLineSpacing()
Returns the spacing of lines expressed as a factor of a given line's height.
-
setLineSpacing
public void setLineSpacing(float aSpacing)
Sets the spacing of lines expressed as a factor of a given line's height.
-
getLineGap
public float getLineGap()
Returns additional line spacing expressed as a constant amount in points.
-
setLineGap
public void setLineGap(float aGap)
Sets additional line spacing expressed as a constant amount in points.
-
getLineHeightMin
public float getLineHeightMin()
Returns the minimum line height in printer points associated with this paragraph.
-
setLineHeightMin
public void setLineHeightMin(float aValue)
Sets the minimum line height in printer points associated with this paragraph.
-
getLineHeightMax
public float getLineHeightMax()
Returns the maximum line height in printer points associated with this paragraph.
-
setLineHeightMax
public void setLineHeightMax(float aValue)
Sets the maximum line height in printer points associated with this paragraph.
-
getParagraphSpacing
public float getParagraphSpacing()
Returns the spacing between paragraphs in printer points associated with this paragraph.
-
setParagraphSpacing
public void setParagraphSpacing(float aValue)
Returns the spacing between paragraphs in printer points associated with this paragraph.
-
getTabCount
public int getTabCount()
Returns the number of tabs associated with this paragraph.
-
getTab
public float getTab(int anIndex)
Returns the specific tab value for the given index in printer points.
-
getTabType
public char getTabType(int anIndex)
Returns the type of tab at the given index.
-
getTabs
public float[] getTabs()
Returns the raw tab array
-
getTabTypes
public char[] getTabTypes()
Returns the raw tab type array
-
getTabIndex
public int getTabIndex(float aLocation)
Returns the tab index for the given location.
-
getTabsString
public java.lang.String getTabsString()
Returns the values of all the tabs associated with this paragraph as a comma separated string.
-
setTabsString
public void setTabsString(java.lang.String aString)
Sets the value of tabs from the given tabs string.
-
getTokenCount
public int getTokenCount()
Returns the number of tokens.
-
getToken
public TextToken getToken(int anIndex)
Returns the individual token at given index.
-
getTokens
public java.util.List<TextToken> getTokens()
Returns the tokens for this line.
-
createTokens
protected java.util.List createTokens()
Returns the tokens for this line.
-
getBaselineY
public double getBaselineY()
Returns the y position for this line (in same coords as the layout frame).
-
getMaxAscent
public double getMaxAscent()
Returns the max ascent of the chars in this line.
-
getLineAdvance
public double getLineAdvance()
Returns the vertical distance for any line below this line.
-
getLastChar
public char getLastChar()
Returns the last char.
-
isLastCharWhiteSpace
public boolean isLastCharWhiteSpace()
Returns whether line ends with space.
-
isLastCharNewline
public boolean isLastCharNewline()
Returns whether run ends with newline.
-
getTokenAt
public TextToken getTokenAt(int anIndex)
Returns the token at character index.
-
getTokenForPointX
public TextToken getTokenForPointX(double anX)
Returns the token at index.
-
getCharIndex
public int getCharIndex(double anX)
Returns the character index for the given x/y point.
-
getXForChar
public double getXForChar(int anIndex)
Returns the x coord for the given character index.
-
getPreviousLine
public TextLine getPreviousLine()
Returns the previous line if available.
-
getNextLine
public TextLine getNextLine()
Returns the next line, if available.
-
split
protected TextLine split(int anIndex)
Splits the line at given index in line.
-
join
protected void join(TextLine aLine)
Joins the given line to the end of this line.
-
clone
public TextLine clone()
Standard clone implementation.- Overrides:
clonein classRMListenerList
-
-