Class TreeTableRowSkin<T>

All Implemented Interfaces:
Skin<TreeTableRow<T>>

public class TreeTableRowSkin<T>
extends TableRowSkinBase<TreeItem<T>,​TreeTableRow<T>,​TreeTableCell<T,​?>>
Default skin implementation for the TreeTableRow control.
Since:
9
See Also:
TreeTableRow
  • Property Details

    • indent

      public final DoubleProperty indentProperty
      The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS
      See Also:
      getIndent(), setIndent(double)
    • graphic

      protected ObjectProperty<Node> graphicProperty
      Returns the graphic to draw on the inside of the disclosure node. Null is acceptable when no graphic should be shown. Commonly this is the graphic associated with a TreeItem (i.e. treeItem.getGraphic()), rather than a graphic associated with a cell.
      Overrides:
      graphicProperty in class TableRowSkinBase<TreeItem<T>,​TreeTableRow<T>,​TreeTableCell<T,​?>>
  • Constructor Details

    • TreeTableRowSkin

      public TreeTableRowSkin​(TreeTableRow<T> control)
      Creates a new TreeTableRowSkin instance, installing the necessary child nodes into the Control children list, as well as the necessary input mappings for handling key, mouse, etc events.
      Parameters:
      control - The control that this skin should be installed onto.
  • Method Details

    • setIndent

      public final void setIndent​(double value)
      Sets the value of the property indent.
      Property description:
      The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS
    • getIndent

      public final double getIndent()
      Gets the value of the property indent.
      Property description:
      The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS
    • indentProperty

      public final DoubleProperty indentProperty()
      The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS
      See Also:
      getIndent(), setIndent(double)
    • dispose

      public void dispose()
      * Public API * *
      Specified by:
      dispose in interface Skin<T>
      Overrides:
      dispose in class LabeledSkinBase<TreeTableRow<T>>
    • updateChildren

      protected void updateChildren()
      Updates the children managed by LabeledSkinBase, which can be the Labeled graphic and/or a Text node. Only those nodes which actually must be used are used. For example, with a ContentDisplay of GRAPHIC_ONLY the text node is not added, and with a ContentDisplay of TEXT_ONLY, the graphic is not added.
      Overrides:
      updateChildren in class LabeledSkinBase<TreeTableRow<T>>
    • layoutChildren

      protected void layoutChildren​(double x, double y, double w, double h)
      The Layout algorithm works like this: - Get the labeled w/h, graphic w/h, text w/h - Compute content w/h based on graphicVPos, graphicHPos, graphicTextGap, and graphic w/h and text w/h - (Note that the text content has been pre-truncated where necessary) - compute content x/y based on content w/h and labeled w/h and the labeled's hpos and vpos - position the graphic and text
      Overrides:
      layoutChildren in class TableRowSkinBase<TreeItem<T>,​TreeTableRow<T>,​TreeTableCell<T,​?>>
      Parameters:
      x - the x position
      y - the y position
      w - the width
      h - the height
    • createCell

      protected TreeTableCell<T,​?> createCell​(TableColumnBase tcb)
      Creates a new cell instance that is suitable for representing the given table column instance.
      Specified by:
      createCell in class TableRowSkinBase<TreeItem<T>,​TreeTableRow<T>,​TreeTableCell<T,​?>>
      Parameters:
      tcb - the table column
      Returns:
      the created cell
    • getVisibleLeafColumns

      protected ObservableList<TreeTableColumn<T,​?>> getVisibleLeafColumns()
      Returns an unmodifiable list containing the currently visible leaf columns.
      Specified by:
      getVisibleLeafColumns in class TableRowSkinBase<TreeItem<T>,​TreeTableRow<T>,​TreeTableCell<T,​?>>
      Returns:
      the list of visible leaf columns
    • updateCell

      protected void updateCell​(TreeTableCell<T,​?> cell, TreeTableRow<T> row)
      A method to allow the given cell to be told that it is a member of the given row. How this is implemented is dependent on the actual cell implementation.
      Specified by:
      updateCell in class TableRowSkinBase<TreeItem<T>,​TreeTableRow<T>,​TreeTableCell<T,​?>>
      Parameters:
      cell - The cell for which we want to inform it of its owner row.
      row - The row which will be set on the given cell.
    • getTableColumn

      protected TreeTableColumn<T,​?> getTableColumn​(TreeTableCell cell)
      Returns the TableColumnBase instance for the given cell instance.
      Specified by:
      getTableColumn in class TableRowSkinBase<TreeItem<T>,​TreeTableRow<T>,​TreeTableCell<T,​?>>
      Parameters:
      cell - The cell for which a TableColumn is desired.
      Returns:
      the table column
    • graphicProperty

      protected ObjectProperty<Node> graphicProperty()
      Returns the graphic to draw on the inside of the disclosure node. Null is acceptable when no graphic should be shown. Commonly this is the graphic associated with a TreeItem (i.e. treeItem.getGraphic()), rather than a graphic associated with a cell.
      Overrides:
      graphicProperty in class TableRowSkinBase<TreeItem<T>,​TreeTableRow<T>,​TreeTableCell<T,​?>>
    • getClassCssMetaData

      public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()
      Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
      Returns:
      the CssMetaData associated with this class, which may include the CssMetaData of its superclasses
    • getCssMetaData

      public List<CssMetaData<? extends Styleable,​?>> getCssMetaData()
      This method should delegate to Node.getClassCssMetaData() so that a Node's CssMetaData can be accessed without the need for reflection.
      Overrides:
      getCssMetaData in class CellSkinBase<TreeTableRow<T>>
      Returns:
      The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.
    • queryAccessibleAttribute

      protected Object queryAccessibleAttribute​(AccessibleAttribute attribute, Object... parameters)
      This method is called by the assistive technology to request the value for an attribute.

      This method is commonly overridden by subclasses to implement attributes that are required for a specific role.
      If a particular attribute is not handled, the superclass implementation must be called.

      Overrides:
      queryAccessibleAttribute in class LabeledSkinBase<TreeTableRow<T>>
      Parameters:
      attribute - the requested attribute
      parameters - optional list of parameters
      Returns:
      the value for the requested attribute
      See Also:
      AccessibleAttribute, Node.queryAccessibleAttribute(javafx.scene.AccessibleAttribute, java.lang.Object...)