T
- The type of the cell (i.e. the generic type of the IndexedCell
subclass).C
- The cell type (e.g. TableRow or TreeTableRow)R
- The type of cell that is contained within each row (e.g.
or {@link javafx.scene.control.TreeTableCell}
).public abstract class TableRowSkinBase<T,C extends IndexedCell,R extends IndexedCell> extends CellSkinBase<C>
javafx.scene.control.TableRow
and javafx.scene.control.TreeTableRow
(the concrete classes are TableRowSkin
and TreeTableRowSkin
,
respectively).javafx.scene.control.TableRow
,
javafx.scene.control.TreeTableRow
,
TableRowSkin
,
TreeTableRowSkin
Type | Property and Description |
---|---|
protected <any> |
graphic
Returns the graphic to draw on the inside of the disclosure node.
|
cellSizeProperty
Modifier and Type | Field and Description |
---|---|
(package private) java.util.List<R> |
cells |
(package private) java.util.WeakHashMap<TableColumnBase,java.lang.ref.Reference<R>> |
cellsMap
*
Private Fields *
*
|
private static int |
DEFAULT_FULL_REFRESH_COUNTER |
private static boolean |
DO_ANIMATIONS |
private static Duration |
FADE_DURATION |
(package private) double |
fixedCellSize |
(package private) boolean |
fixedCellSizeEnabled |
private int |
fullRefreshCounter |
private static boolean |
IS_STUB_TOOLKIT
*
Static Fields *
*
|
(package private) boolean |
isDirty |
(package private) static java.util.Map<<any>,java.lang.Double> |
maxDisclosureWidthMap |
(package private) boolean |
updateCells |
private <any> |
visibleLeafColumnsListener
*
Listeners *
*
|
private <any> |
weakVisibleLeafColumnsListener |
DEFAULT_CELL_SIZE
ellipsisWidth, graphic, graphicPropertyChangedListener, invalidText, text, textWidth
Constructor and Description |
---|
TableRowSkinBase(C control)
Creates a new instance of TableRowSkinBase, although note that this
instance does not handle any behavior / input mappings - this needs to be
handled appropriately by subclasses.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
checkState() |
protected double |
computeMaxHeight(double width,
double topInset,
double rightInset,
double bottomInset,
double leftInset) |
protected double |
computeMinHeight(double width,
double topInset,
double rightInset,
double bottomInset,
double leftInset) |
protected double |
computePrefHeight(double width,
double topInset,
double rightInset,
double bottomInset,
double leftInset) |
protected double |
computePrefWidth(double height,
double topInset,
double rightInset,
double bottomInset,
double leftInset) |
protected abstract R |
createCell(<any> tc)
Creates a new cell instance that is suitable for representing the given table column instance.
|
private R |
createCellAndCache(<any> col) |
private void |
fadeIn(Node node) |
private void |
fadeOut(Node node) |
(package private) Node |
getDisclosureNode() |
(package private) int |
getIndentationLevel(C control) |
(package private) double |
getIndentationPerLevel() |
protected abstract <any> |
getTableColumn(R cell)
Returns the
TableColumnBase instance for the given cell instance. |
(package private) TableColumnBase |
getTreeColumn()
Returns the table column that should show the disclosure nodes and / or
a graphic.
|
(package private) VirtualFlow<C> |
getVirtualFlow() |
protected abstract <any> |
getVisibleLeafColumns()
Returns an unmodifiable list containing the currently visible leaf columns.
|
protected <any> |
graphicProperty()
Returns the graphic to draw on the inside of the disclosure node.
|
private boolean |
isColumnPartiallyOrFullyVisible(TableColumnBase col)
*
Private Implementation *
*
|
(package private) boolean |
isDisclosureNodeVisible()
Used to represent whether a disclosure node is visible for _this_
table row.
|
(package private) boolean |
isIndentationRequired()
Used to represent whether the current virtual flow owner is wanting
indentation to be used in this table row.
|
(package private) 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
|
private void |
recreateCells() |
private void |
requestCellUpdate() |
protected abstract void |
updateCell(R cell,
C row)
A method to allow the given cell to be told that it is a member of the given row.
|
(package private) void |
updateCells(boolean resetChildren) |
cellSizeProperty, getCellSize, getClassCssMetaData, getCssMetaData
bottomLabelPadding, computeBaselineOffset, computeMaxWidth, computeMinWidth, isIgnoreGraphic, isIgnoreText, layoutLabelInArea, layoutLabelInArea, leftLabelPadding, mnemonicTargetChanged, queryAccessibleAttribute, rightLabelPadding, topLabelPadding, updateChildren, updateDisplayedText
protected <any> graphicProperty
private static boolean IS_STUB_TOOLKIT
private static boolean DO_ANIMATIONS
private static final Duration FADE_DURATION
static final java.util.Map<<any>,java.lang.Double> maxDisclosureWidthMap
private static final int DEFAULT_FULL_REFRESH_COUNTER
java.util.WeakHashMap<TableColumnBase,java.lang.ref.Reference<R extends IndexedCell>> cellsMap
final java.util.List<R extends IndexedCell> cells
private int fullRefreshCounter
boolean isDirty
boolean updateCells
double fixedCellSize
boolean fixedCellSizeEnabled
private <any> visibleLeafColumnsListener
private <any> weakVisibleLeafColumnsListener
public TableRowSkinBase(C control)
control
- The control that this skin should be installed onto.protected abstract R createCell(<any> tc)
tc
- the table columnprotected abstract void updateCell(R cell, C row)
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.protected abstract <any> getTableColumn(R cell)
TableColumnBase
instance for the given cell instance.cell
- The cell for which a TableColumn is desired.protected abstract <any> getVisibleLeafColumns()
protected <any> graphicProperty()
protected void layoutChildren(double x, double y, double w, double h)
layoutChildren
in class LabeledSkinBase<C extends IndexedCell>
int getIndentationLevel(C control)
double getIndentationPerLevel()
boolean isIndentationRequired()
TableColumnBase getTreeColumn()
Node getDisclosureNode()
boolean isDisclosureNodeVisible()
boolean isShowRoot()
void updateCells(boolean resetChildren)
VirtualFlow<C> getVirtualFlow()
protected double computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
computePrefWidth
in class LabeledSkinBase<C extends IndexedCell>
protected double computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
computePrefHeight
in class LabeledSkinBase<C extends IndexedCell>
protected double computeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
computeMinHeight
in class LabeledSkinBase<C extends IndexedCell>
protected double computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
computeMaxHeight
in class LabeledSkinBase<C extends IndexedCell>
final void checkState()
private boolean isColumnPartiallyOrFullyVisible(TableColumnBase col)
private void requestCellUpdate()
private void recreateCells()
private R createCellAndCache(<any> col)
private void fadeOut(Node node)
private void fadeIn(Node node)