Class AbstractTextFieldElement

java.lang.Object
docking.widgets.fieldpanel.field.AbstractTextFieldElement
All Implemented Interfaces:
FieldElement
Direct Known Subclasses:
AnnotatedTextFieldElement, ClangFieldElement, TextFieldElement

public abstract class AbstractTextFieldElement extends Object implements FieldElement
An object that wraps a string and provides data that describes how to render that string.

This class was created as a place to house attributes of rendering that are not described by Java's Font object, like underlining.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    the attributed string displayed by this field element
    protected int
    the offset within the field's row where this element begins
    protected int
    the row within the field where this element begins
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    AbstractTextFieldElement(AttributedString attributedString, int row, int column)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    char
    charAt(int index)
    Returns the character at the given index.
    int
    getCharacterIndexForDataLocation(int dataRow, int dataColumn)
    Returns the character index appropriate for the given data location
    getColor(int charIndex)
    Returns the color for a given character within this element, since different colors may be applied to different characters.
    Translates the given character index to a data location related to the data model, as determined by the FieldFactory.
    getFieldElement(int characterOffset)
    Returns the inner-most FieldElement inside this field element at the given location
    int
    Returns the amount of height above the baseline of this element.
    int
    Returns the amount of height below the baseline of this element.
    int
    As the name implies, this method returns the maximum number of characters from this field element that will fit within the given width.
    int
    Returns the string width of this element.
    Returns the text contained by this field element.
    int
    Returns the length of the text within this element.
    void
    paint(JComponent c, Graphics g, int x, int y)
    Paints the text contained in this field element at the given x,y screen coordinate using the given Graphics object.
    substring(int start)
    Returns a new FieldElement containing just the characters beginning at the given index.
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface docking.widgets.fieldpanel.field.FieldElement

    replaceAll, substring
  • Field Details

    • attributedString

      protected AttributedString attributedString
      the attributed string displayed by this field element
    • row

      protected int row
      the row within the field where this element begins
    • column

      protected int column
      the offset within the field's row where this element begins
  • Constructor Details

    • AbstractTextFieldElement

      protected AbstractTextFieldElement(AttributedString attributedString, int row, int column)
  • Method Details

    • getText

      public String getText()
      Description copied from interface: FieldElement
      Returns the text contained by this field element.
      Specified by:
      getText in interface FieldElement
      Returns:
      the text contained by this field element.
    • charAt

      public char charAt(int index)
      Description copied from interface: FieldElement
      Returns the character at the given index.
      Specified by:
      charAt in interface FieldElement
      Parameters:
      index - the index of the character in this field element.
      Returns:
      the character at the given index.
    • length

      public int length()
      Description copied from interface: FieldElement
      Returns the length of the text within this element. This is a convenience method for calling getText().length().
      Specified by:
      length in interface FieldElement
      Returns:
      the length of the text within this element.
    • getStringWidth

      public int getStringWidth()
      Description copied from interface: FieldElement
      Returns the string width of this element. The width is based upon the associated FontMetrics object within this element.
      Specified by:
      getStringWidth in interface FieldElement
      Returns:
      the string width of this element.
    • getHeightAbove

      public int getHeightAbove()
      Description copied from interface: FieldElement
      Returns the amount of height above the baseline of this element.
      Specified by:
      getHeightAbove in interface FieldElement
      Returns:
      the amount of height above the baseline of this element.
    • getHeightBelow

      public int getHeightBelow()
      Description copied from interface: FieldElement
      Returns the amount of height below the baseline of this element.
      Specified by:
      getHeightBelow in interface FieldElement
      Returns:
      the amount of height below the baseline of this element.
    • getMaxCharactersForWidth

      public int getMaxCharactersForWidth(int width)
      Description copied from interface: FieldElement
      As the name implies, this method returns the maximum number of characters from this field element that will fit within the given width.
      Specified by:
      getMaxCharactersForWidth in interface FieldElement
      Parameters:
      width - The width constraint
      Returns:
      the maximum number of characters from this field element that will fit within the given width.
    • getColor

      public Color getColor(int charIndex)
      Description copied from interface: FieldElement
      Returns the color for a given character within this element, since different colors may be applied to different characters.
      Specified by:
      getColor in interface FieldElement
      Parameters:
      charIndex - The character index
      Returns:
      the color for a given character within this element.
    • getFieldElement

      public FieldElement getFieldElement(int characterOffset)
      Description copied from interface: FieldElement
      Returns the inner-most FieldElement inside this field element at the given location
      Specified by:
      getFieldElement in interface FieldElement
      Parameters:
      characterOffset - the character offset.
      Returns:
      the inner-most FieldElement inside this field element at the given location
    • substring

      public FieldElement substring(int start)
      Description copied from interface: FieldElement
      Returns a new FieldElement containing just the characters beginning at the given index.
      Specified by:
      substring in interface FieldElement
      Parameters:
      start - The starting index (inclusive) from which to substring this element.
      Returns:
      a new FieldElement containing just the characters beginning at the given index.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getDataLocationForCharacterIndex

      public RowColLocation getDataLocationForCharacterIndex(int characterIndex)
      Description copied from interface: FieldElement
      Translates the given character index to a data location related to the data model, as determined by the FieldFactory.
      Specified by:
      getDataLocationForCharacterIndex in interface FieldElement
      Parameters:
      characterIndex - The character index to translate.
      Returns:
      The data location in the model coordinates.
    • getCharacterIndexForDataLocation

      public int getCharacterIndexForDataLocation(int dataRow, int dataColumn)
      Description copied from interface: FieldElement
      Returns the character index appropriate for the given data location
      Specified by:
      getCharacterIndexForDataLocation in interface FieldElement
      Parameters:
      dataRow - the row in the data model as determined by the creating field factory.
      dataColumn - the column in the data model as determined by the creating field factory.
      Returns:
      the character index appropriate for the given data location; -1 if this field does not contain the given location
    • paint

      public void paint(JComponent c, Graphics g, int x, int y)
      Description copied from interface: FieldElement
      Paints the text contained in this field element at the given x,y screen coordinate using the given Graphics object.
      Specified by:
      paint in interface FieldElement
      Parameters:
      c - the component being painted.
      g - the Graphics object used to paint the field text.
      x - the horizontal screen position to paint
      y - the vertical screen position to paint.