Module javafx.controls
Package javafx.scene.control.skin

# Class TreeTableRowSkin<T>

java.lang.Object
javafx.scene.control.SkinBase<C>
javafx.scene.control.skin.LabeledSkinBase<C>
javafx.scene.control.skin.CellSkinBase<C>
javafx.scene.control.skin.TableRowSkinBase<TreeItem<T>,​TreeTableRow<T>,​TreeTableCell<T,​?>>
javafx.scene.control.skin.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 Summary

  Properties
  Type | Property | Description
  --- | --- | ---
  `protected ObjectProperty<Node>` | `graphic` | Returns the graphic to draw on the inside of the disclosure node.
  `DoubleProperty` | `indent` | The amount of space to multiply by the treeItem.level to get the left margin for this tree cell.

  ### Properties inherited from class javafx.scene.control.skin.CellSkinBase

  `cellSize`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `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.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `protected TreeTableCell<T,​?>` | `createCell​(TableColumnBase tcb)` | Creates a new cell instance that is suitable for representing the given table column instance.
  `void` | `dispose()` | Called by a Skinnable when the Skin is replaced on the Skinnable.
  `static List<CssMetaData<? extends Styleable,​?>>` | `getClassCssMetaData()` | Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
  `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.
  `double` | `getIndent()` | Gets the value of the property indent.
  `protected TreeTableColumn<T,​?>` | `getTableColumn​(TreeTableCell cell)` | Returns the `TableColumnBase` instance for the given cell instance.
  `protected ObservableList<TreeTableColumn<T,​?>>` | `getVisibleLeafColumns()` | Returns an unmodifiable list containing the currently visible leaf columns.
  `protected ObjectProperty<Node>` | `graphicProperty()` | Returns the graphic to draw on the inside of the disclosure node.
  `DoubleProperty` | `indentProperty()` | The amount of space to multiply by the treeItem.level to get the left margin for this tree cell.
  `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
  `protected Object` | `queryAccessibleAttribute​(AccessibleAttribute attribute, Object... parameters)` | This method is called by the assistive technology to request the value for an attribute.
  `void` | `setIndent​(double value)` | Sets the value of the property indent.
  `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.
  `protected void` | `updateChildren()` | Updates the children managed by LabeledSkinBase, which can be the Labeled graphic and/or a Text node.

  ### Methods inherited from class javafx.scene.control.skin.TableRowSkinBase

  `computeMaxHeight, computeMinHeight, computePrefHeight, computePrefWidth`

  ### Methods inherited from class javafx.scene.control.skin.CellSkinBase

  `cellSizeProperty, getCellSize`

  ### Methods inherited from class javafx.scene.control.skin.LabeledSkinBase

  `computeBaselineOffset, computeMaxWidth, computeMinWidth, layoutLabelInArea, layoutLabelInArea`

  ### Methods inherited from class javafx.scene.control.SkinBase

  `consumeMouseEvents, executeAccessibleAction, getChildren, getNode, getSkinnable, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, registerChangeListener, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, unregisterChangeListeners`

  ### Methods inherited from class java.lang.Object

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

- ## 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()
    Called by a Skinnable when the Skin is replaced on the Skinnable. This method allows a Skin to implement any logic necessary to clean up itself after the Skin is no longer needed. It may be used to release native resources. The methods `Skin.getSkinnable()` and `Skin.getNode()` should return null following a call to dispose. Calling dispose twice has no effect.
    Specified by:
      `dispose` in interface `Skin<T>`
    Overrides:
      `dispose` in class `SkinBase<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...)`