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

# Class TreeTableRowSkin<T>

java.lang.Object
javafx.scene.control.SkinBase<TreeTableRow<T>>
javafx.scene.control.skin.LabeledSkinBase<TreeTableRow<T>>
javafx.scene.control.skin.CellSkinBase<TreeTableRow<T>>
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.
`final 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.
`final double`
`getIndent()`
Gets the value of the `indent` property.
`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.
`final 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.
`final void`
`setIndent(double value)`
Sets the value of the `indent` property.
`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)`
  - `indentProperty()`

### 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,?>>`
Returns:
  the graphic to draw on the inside of the disclosure node
See Also:
  - `graphicProperty()`

## 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 `indent` property.

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
Parameters:
  `value` - the value for the `indent` property
See Also:
  - `getIndent()`
  - `indentProperty()`

### getIndent

public final double getIndent()
Gets the value of the `indent` property.

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
Returns:
  the value of the `indent` property
See Also:
  - `setIndent(double)`
  - `indentProperty()`

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

Returns:
  the `indent` property
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,?>>`
Returns:
  the `graphic` property

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