Class TextRun
- java.lang.Object
-
- com.inductiveautomation.snap.text.TextRun
-
public class TextRun extends java.lang.Object implements java.lang.Cloneable, TextTypes, java.lang.CharSequence
The Run class represents a range of characters in an TextLine that share common attributes.This class makes a point to treat its attributes map as read-only so they can be shared among multiple runs.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classTextRun.CharsChangeA property change event for addChars/removeChars.-
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 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 TextRun()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddChars(java.lang.CharSequence theChars, int anIndex)Adds characters with style to this line at given index.charcharAt(int anIndex)CharSequence method returning character at given index.TextRunclone()Returns a basic clone of this object.booleanequals(java.lang.Object anObj)Returns whether this run is equal to the given object.protected voidfirePropertyChangeEvent(java.lang.String aPropName, java.lang.Object oldVal, java.lang.Object newVal, int anIndex)Fires a property change event.doublegetCharAdvance(char aChar)Returns the char advance for a given character.floatgetCharSpacing()Returns the char spacing.SnapColorgetColor()Returns the color for this run.intgetEnd()Returns the end character index for this run.SnapFontgetFont()Returns the font for this run.intgetIndex()Returns the run index.doublegetLeading()Returns the default distance between lines for this font.TextLinegetLine()Returns the line that this run works for.doublegetMaxAscent()Returns the max distance above the baseline for this run font.doublegetMaxDescent()Returns the max distance below the baseline that this font goes.TextRungetNext()Returns the next run.intgetScripting()Returns the scripting for this run (1=SuperScripting, -1=Subscripting, 0=none).intgetStart()Returns the start character index for this run.java.lang.StringgetString()Returns the string for this run.TextStylegetStyle()Returns the run style.intgetUnderlineStyle()Returns the underline style of this run.static intgetUnderlineStyle(java.util.Map attrs)Returns the underline style of this run.inthashCode()Standard hashCode implementation.booleanisUnderlined()Returns whether this run is underlined.intlength()Returns the length in characters for this run.voidremoveChars(int aStart, int anEnd)Removes characters in given range.protected voidsendPropertyChange(java.beans.PropertyChangeEvent anEvent)Sends a property change event.voidsetStyle(TextStyle aStyle)Sets the run style.TextRunsplit(int anIndex)Splits the run at the given index and returns a run containing the remaining characters (and identical attributes).java.lang.CharSequencesubSequence(int aStart, int anEnd)CharSequence method return character sequence for range.java.lang.StringtoString()Returns a string representation of this run.
-
-
-
Method Detail
-
getLine
public TextLine getLine()
Returns the line that this run works for.
-
getIndex
public int getIndex()
Returns the run index.
-
getStart
public int getStart()
Returns the start character index for this run.
-
getEnd
public int getEnd()
Returns the end character index for this run.
-
length
public int length()
Returns the length in characters for this run.- Specified by:
lengthin interfacejava.lang.CharSequence
-
charAt
public char charAt(int anIndex)
CharSequence method returning character at given index.- Specified by:
charAtin interfacejava.lang.CharSequence
-
subSequence
public java.lang.CharSequence subSequence(int aStart, int anEnd)CharSequence method return character sequence for range.- Specified by:
subSequencein interfacejava.lang.CharSequence
-
getString
public java.lang.String getString()
Returns the string for this run.
-
addChars
public void addChars(java.lang.CharSequence theChars, int anIndex)Adds characters with style to this line at given index.
-
removeChars
public void removeChars(int aStart, int anEnd)Removes characters in given range.
-
getStyle
public TextStyle getStyle()
Returns the run style.
-
setStyle
public void setStyle(TextStyle aStyle)
Sets the run style.
-
getFont
public SnapFont getFont()
Returns the font for this run.
-
getColor
public SnapColor getColor()
Returns the color for this run.
-
isUnderlined
public boolean isUnderlined()
Returns whether this run is underlined.
-
getUnderlineStyle
public int getUnderlineStyle()
Returns the underline style of this run.
-
getUnderlineStyle
public static int getUnderlineStyle(java.util.Map attrs)
Returns the underline style of this run.
-
getScripting
public int getScripting()
Returns the scripting for this run (1=SuperScripting, -1=Subscripting, 0=none).
-
getCharSpacing
public float getCharSpacing()
Returns the char spacing.
-
getCharAdvance
public double getCharAdvance(char aChar)
Returns the char advance for a given character.
-
getMaxAscent
public double getMaxAscent()
Returns the max distance above the baseline for this run font.
-
getMaxDescent
public double getMaxDescent()
Returns the max distance below the baseline that this font goes.
-
getLeading
public double getLeading()
Returns the default distance between lines for this font.
-
getNext
public TextRun getNext()
Returns the next run.
-
split
public TextRun split(int anIndex)
Splits the run at the given index and returns a run containing the remaining characters (and identical attributes).
-
firePropertyChangeEvent
protected void firePropertyChangeEvent(java.lang.String aPropName, java.lang.Object oldVal, java.lang.Object newVal, int anIndex)Fires a property change event.
-
sendPropertyChange
protected void sendPropertyChange(java.beans.PropertyChangeEvent anEvent)
Sends a property change event.
-
equals
public boolean equals(java.lang.Object anObj)
Returns whether this run is equal to the given object.- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
Standard hashCode implementation.- Overrides:
hashCodein classjava.lang.Object
-
clone
@Nullable public TextRun clone()
Returns a basic clone of this object.- Overrides:
clonein classjava.lang.Object
-
toString
public java.lang.String toString()
Returns a string representation of this run.- Specified by:
toStringin interfacejava.lang.CharSequence- Overrides:
toStringin classjava.lang.Object
-
-