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

# Class TreeCellSkin<T>

java.lang.Object
javafx.scene.control.SkinBase<TreeCell<T>>
javafx.scene.control.skin.LabeledSkinBase<TreeCell<T>>
javafx.scene.control.skin.CellSkinBase<TreeCell<T>>
javafx.scene.control.skin.TreeCellSkin<T>

All Implemented Interfaces:
  `Skin<TreeCell<T>>`

public class TreeCellSkin<T> extends CellSkinBase<TreeCell<T>>
Default skin implementation for the `TreeCell` control.

Since:
  9
See Also:
  - `TreeCell`

## Property Summary

Properties
Type
Property
Description
`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
`TreeCellSkin(TreeCell<T> control)`
Creates a new TreeCellSkin 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 double`
`computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)`
Computes the maximum allowable height of the Skin, based on the provided width.
`protected double`
`computeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)`
Computes the minimum allowable height of the Skin, based on the provided width.
`protected double`
`computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)`
Calculates the preferred height of this `SkinBase`.
`protected double`
`computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)`
Calculates the preferred width of this `SkinBase`.
`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.
`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
`final void`
`setIndent(double value)`
Sets the value of the `indent` property.
`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.CellSkinBase

`cellSizeProperty, getCellSize`

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

`computeBaselineOffset, computeMaxWidth, computeMinWidth, layoutLabelInArea, layoutLabelInArea, queryAccessibleAttribute`

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

## Constructor Details

### TreeCellSkin

public TreeCellSkin(TreeCell<T> control)
Creates a new TreeCellSkin 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<TreeCell<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<TreeCell<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 `LabeledSkinBase<TreeCell<T>>`
Parameters:
  `x` - the x position
  `y` - the y position
  `w` - the width
  `h` - the height

### computeMinHeight

protected double computeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
Computes the minimum allowable height of the Skin, based on the provided width.

Overrides:
  `computeMinHeight` in class `LabeledSkinBase<TreeCell<T>>`
Parameters:
  `width` - The width of the Skin, in case this value might dictate the minimum height.
  `topInset` - the pixel snapped top inset
  `rightInset` - the pixel snapped right inset
  `bottomInset` - the pixel snapped bottom inset
  `leftInset` - the pixel snapped left inset
Returns:
  A double representing the minimum height of this Skin.

### computePrefHeight

protected double computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
Calculates the preferred height of this `SkinBase`. The default implementation calculates this height as the height of the area occupied by its managed children when they are positioned at their current positions at their preferred heights.

Overrides:
  `computePrefHeight` in class `LabeledSkinBase<TreeCell<T>>`
Parameters:
  `width` - the width that should be used if preferred height depends on it
  `topInset` - the pixel snapped top inset
  `rightInset` - the pixel snapped right inset
  `bottomInset` - the pixel snapped bottom inset
  `leftInset` - the pixel snapped left inset
Returns:
  the calculated preferred height

### computeMaxHeight

protected double computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
Computes the maximum allowable height of the Skin, based on the provided width.

Overrides:
  `computeMaxHeight` in class `LabeledSkinBase<TreeCell<T>>`
Parameters:
  `width` - The width of the Skin, in case this value might dictate the maximum height.
  `topInset` - the pixel snapped top inset
  `rightInset` - the pixel snapped right inset
  `bottomInset` - the pixel snapped bottom inset
  `leftInset` - the pixel snapped left inset
Returns:
  A double representing the maximum height of this Skin.

### computePrefWidth

protected double computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
Calculates the preferred width of this `SkinBase`. The default implementation calculates this width as the width of the area occupied by its managed children when they are positioned at their current positions at their preferred widths.

Overrides:
  `computePrefWidth` in class `LabeledSkinBase<TreeCell<T>>`
Parameters:
  `height` - the height that should be used if preferred width depends on it
  `topInset` - the pixel snapped top inset
  `rightInset` - the pixel snapped right inset
  `bottomInset` - the pixel snapped bottom inset
  `leftInset` - the pixel snapped left inset
Returns:
  the calculated preferred width

### 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<TreeCell<T>>`
Returns:
  The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.