public class TreeTableRowSkin<T> extends TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>
| Modifier and Type | Class and Description |
|---|---|
private static class |
TreeTableRowSkin.StyleableProperties |
| Modifier and Type | Field and Description |
|---|---|
private boolean |
childrenDirty |
private boolean |
disclosureNodeDirty |
private Node |
graphic |
private DoubleProperty |
indent
The amount of space to multiply by the treeItem.level to get the left
margin for this tree cell.
|
private SimpleObjectProperty<ObservableList<TreeItem<T>>> |
itemsProperty
*
Private Fields *
*
|
private TreeItem<?> |
treeItem |
private MultiplePropertyChangeListenerHandler |
treeItemListener
*
Listeners *
*
|
private TreeTableViewSkin |
treeTableViewSkin |
cells, cellsMap, isDirty, maxDisclosureWidthMap, updateCellsDEFAULT_CELL_SIZEbindings, ellipsisWidth, graphicPropertyChangedListener, invalidText, mnemonic_underscore, text, textWidthIS_TOUCH_SUPPORTED| Constructor and Description |
|---|
TreeTableRowSkin(TreeTableRow<T> control)
*
Constructors *
*
|
| Modifier and Type | Method and Description |
|---|---|
protected DoubleProperty |
fixedCellSizeProperty() |
protected TreeTableCell<T,?> |
getCell(TableColumnBase tcb) |
static java.util.List<CssMetaData<? extends Styleable,?>> |
getClassCssMetaData() |
java.util.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. |
protected Node |
getDisclosureNode() |
double |
getIndent() |
protected int |
getIndentationLevel(TreeTableRow<T> control) |
protected double |
getIndentationPerLevel() |
protected TreeTableColumn<T,?> |
getTableColumnBase(TreeTableCell cell) |
protected TableColumnBase |
getTreeColumn()
Returns the table column that should show the disclosure nodes and / or
a graphic.
|
protected Control |
getVirtualFlowOwner() |
protected ObservableList<TreeTableColumn<T,?>> |
getVisibleLeafColumns() |
protected ObjectProperty<Node> |
graphicProperty()
Returns the graphic to draw on the inside of the disclosure node.
|
protected void |
handleControlPropertyChanged(java.lang.String p)
*
Public Methods *
*
|
DoubleProperty |
indentProperty() |
protected boolean |
isColumnPartiallyOrFullyVisible(TableColumnBase tc) |
protected boolean |
isDisclosureNodeVisible()
Used to represent whether a disclosure node is visible for _this_
table row.
|
protected boolean |
isIndentationRequired()
Used to represent whether the current virtual flow owner is wanting
indentation to be used in this table row.
|
protected boolean |
isShowRoot() |
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 java.lang.Object |
queryAccessibleAttribute(AccessibleAttribute attribute,
java.lang.Object... parameters) |
void |
setIndent(double value) |
protected void |
updateCell(TreeTableCell<T,?> cell,
TreeTableRow<T> row) |
protected void |
updateCells(boolean resetChildren) |
protected void |
updateChildren()
Updates the children managed by LabeledSkinBase, which can be the Labeled
graphic and/or a Text node.
|
private void |
updateDisclosureNodeAndGraphic() |
private void |
updateTableViewSkin() |
private void |
updateTreeItem()
*
Private Implementation *
*
|
checkState, computeMaxHeight, computeMinHeight, computePrefHeight, computePrefWidth, getVisibleLeafColumn, initcellSizeProperty, getCellSizebottomLabelPadding, computeBaselineOffset, computeMaxWidth, computeMinWidth, isIgnoreGraphic, isIgnoreText, layoutLabelInArea, layoutLabelInArea, leftLabelPadding, mnemonicTargetChanged, rightLabelPadding, topLabelPadding, updateDisplayedTextdispose, getBehavior, registerChangeListener, unregisterChangeListenerconsumeMouseEvents, executeAccessibleAction, getChildren, getNode, getSkinnable, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapSize, snapSpaceprivate SimpleObjectProperty<ObservableList<TreeItem<T>>> itemsProperty
private TreeItem<?> treeItem
private boolean disclosureNodeDirty
private Node graphic
private TreeTableViewSkin treeTableViewSkin
private boolean childrenDirty
private MultiplePropertyChangeListenerHandler treeItemListener
private DoubleProperty indent
public TreeTableRowSkin(TreeTableRow<T> control)
public final void setIndent(double value)
public final double getIndent()
public final DoubleProperty indentProperty()
protected void handleControlPropertyChanged(java.lang.String p)
handleControlPropertyChanged in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected void updateChildren()
LabeledSkinBaseupdateChildren in class LabeledSkinBase<TreeTableRow<T>,TreeTableRowBehavior<T>>protected void layoutChildren(double x,
double y,
double w,
double h)
LabeledSkinBaselayoutChildren in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected TreeTableCell<T,?> getCell(TableColumnBase tcb)
getCell in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected void updateCells(boolean resetChildren)
updateCells in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected boolean isIndentationRequired()
TableRowSkinBaseisIndentationRequired in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected TableColumnBase getTreeColumn()
TableRowSkinBasegetTreeColumn in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected int getIndentationLevel(TreeTableRow<T> control)
getIndentationLevel in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected double getIndentationPerLevel()
getIndentationPerLevel in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected Node getDisclosureNode()
getDisclosureNode in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected boolean isDisclosureNodeVisible()
TableRowSkinBaseisDisclosureNodeVisible in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected boolean isShowRoot()
isShowRoot in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected ObservableList<TreeTableColumn<T,?>> getVisibleLeafColumns()
getVisibleLeafColumns in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected void updateCell(TreeTableCell<T,?> cell, TreeTableRow<T> row)
updateCell in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected boolean isColumnPartiallyOrFullyVisible(TableColumnBase tc)
isColumnPartiallyOrFullyVisible in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected TreeTableColumn<T,?> getTableColumnBase(TreeTableCell cell)
getTableColumnBase in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected ObjectProperty<Node> graphicProperty()
TableRowSkinBasegraphicProperty in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected Control getVirtualFlowOwner()
getVirtualFlowOwner in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>protected DoubleProperty fixedCellSizeProperty()
fixedCellSizeProperty in class TableRowSkinBase<TreeItem<T>,TreeTableRow<T>,TreeTableRowBehavior<T>,TreeTableCell<T,?>>private void updateTreeItem()
private void updateDisclosureNodeAndGraphic()
private void updateTableViewSkin()
public static java.util.List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
public java.util.List<CssMetaData<? extends Styleable,?>> getCssMetaData()
Node.getClassCssMetaData() so that
a Node's CssMetaData can be accessed without the need for reflection.getCssMetaData in class CellSkinBase<TreeTableRow<T>,TreeTableRowBehavior<T>>protected java.lang.Object queryAccessibleAttribute(AccessibleAttribute attribute, java.lang.Object... parameters)