Package docking.widgets.fieldpanel.field

# 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
  `protected AttributedString`
  `attributedString`
  the attributed string displayed by this field element
  `protected int`
  `column`
  the offset within the field's row where this element begins
  `protected int`
  `row`
  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
  `Color`
  `getColor(int charIndex)`
  Returns the color for a given character within this element, since different colors may be applied to different characters.
  `RowColLocation`
  `getDataLocationForCharacterIndex(int characterIndex)`
  Translates the given character index to a data location related to the data model, as determined by the FieldFactory.
  `FieldElement`
  `getFieldElement(int characterOffset)`
  Returns the inner-most FieldElement inside this field element at the given location
  `int`
  `getHeightAbove()`
  Returns the amount of height above the baseline of this element.
  `int`
  `getHeightBelow()`
  Returns the amount of height below the baseline of this element.
  `int`
  `getMaxCharactersForWidth(int width)`
  As the name implies, this method returns the maximum number of characters from this field element that will fit within the given width.
  `int`
  `getStringWidth()`
  Returns the string width of this element.
  `String`
  `getText()`
  Returns the text contained by this field element.
  `int`
  `length()`
  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.
  `FieldElement`
  `substring(int start)`
  Returns a new FieldElement containing just the characters beginning at the given index.
  `String`
  `toString()`

  ### 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.