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. -
Constructor Summary
Constructors Constructor Description TreeTableRowSkin(TreeTableRow<T> control)
Creates a new TreeTableRowSkin instance, installing the necessary child nodes into the Controlchildren
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 toNode.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 theTableColumnBase
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 textprotected 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.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
-
Property Details
-
indent
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
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 classTableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableCell<T,?>>
-
-
Constructor Details
-
TreeTableRowSkin
Creates a new TreeTableRowSkin instance, installing the necessary child nodes into the Controlchildren
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
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 methodsSkin.getSkinnable()
andSkin.getNode()
should return null following a call to dispose. Calling dispose twice has no effect. -
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 classLabeledSkinBase<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 classTableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableCell<T,?>>
- Parameters:
x
- the x positiony
- the y positionw
- the widthh
- the height
-
createCell
Creates a new cell instance that is suitable for representing the given table column instance.- Specified by:
createCell
in classTableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableCell<T,?>>
- Parameters:
tcb
- the table column- Returns:
- the created cell
-
getVisibleLeafColumns
Returns an unmodifiable list containing the currently visible leaf columns.- Specified by:
getVisibleLeafColumns
in classTableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableCell<T,?>>
- Returns:
- the list of visible leaf columns
-
updateCell
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 classTableRowSkinBase<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
Returns theTableColumnBase
instance for the given cell instance.- Specified by:
getTableColumn
in classTableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableCell<T,?>>
- Parameters:
cell
- The cell for which a TableColumn is desired.- Returns:
- the table column
-
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 classTableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableCell<T,?>>
-
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
This method should delegate toNode.getClassCssMetaData()
so that a Node's CssMetaData can be accessed without the need for reflection.- Overrides:
getCssMetaData
in classCellSkinBase<TreeTableRow<T>>
- Returns:
- The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.
-
queryAccessibleAttribute
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 classLabeledSkinBase<TreeTableRow<T>>
- Parameters:
attribute
- the requested attributeparameters
- optional list of parameters- Returns:
- the value for the requested attribute
- See Also:
AccessibleAttribute
,Node.queryAccessibleAttribute(javafx.scene.AccessibleAttribute, java.lang.Object...)
-