public class TableColumnHeader extends Region
Modifier and Type | Class and Description |
---|---|
private static class |
TableColumnHeader.StyleableProperties
Super-lazy instantiation pattern from Bill Pugh.
|
USE_COMPUTED_SIZE, USE_PREF_SIZE
BASELINE_OFFSET_SAME_AS_HEIGHT
Constructor and Description |
---|
TableColumnHeader(TableViewSkinBase skin,
TableColumnBase tc)
*
Constructor *
*
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
columnReordering(double sceneX,
double sceneY) |
(package private) void |
columnReorderingComplete() |
(package private) void |
columnReorderingStarted(double dragOffset)
*
Private Implementation: Column Reordering *
*
|
protected double |
computeMinHeight(double width)
Computes the minimum height of this region.
|
protected double |
computePrefHeight(double width)
Computes the preferred height of this region for the given width;
Region subclasses should override this method to return an appropriate
value based on their content and layout strategy.
|
protected double |
computePrefWidth(double height)
Computes the preferred width of this region for the given height.
|
(package private) void |
dispose() |
private void |
doColumnAutoSize(TableColumnBase<?,?> column,
int cellsToMeasure) |
static java.util.List<CssMetaData<? extends Styleable,?>> |
getClassCssMetaData() |
private ObservableList<TableColumnBase<?,?>> |
getColumns(TableColumnBase column) |
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. |
(package private) double |
getDragRectHeight() |
private int |
getIndex(TableColumnBase<?,?> column) |
(package private) NestedTableColumnHeader |
getNestedColumnHeader() |
(package private) NestedTableColumnHeader |
getParentHeader() |
private double |
getSize() |
private int |
getSortPosition() |
TableColumnBase |
getTableColumn() |
(package private) TableHeaderRow |
getTableHeaderRow() |
protected TableViewSkinBase<?,?,?,?,?,TableColumnBase<?,?>> |
getTableViewSkin() |
private int |
getVisibleSortOrderColumnCount() |
private java.util.List<TableColumnBase> |
getVisibleSortOrderColumns() |
protected void |
handlePropertyChanged(java.lang.String p)
*
Public Methods *
*
|
private void |
initUI() |
private boolean |
isColumnReorderingEnabled() |
private boolean |
isSortingEnabled() |
protected void |
layoutChildren()
Invoked during the layout pass to layout the children in this
Parent . |
(package private) void |
moveColumn(TableColumnBase column,
int newColumnPos) |
java.lang.Object |
queryAccessibleAttribute(AccessibleAttribute attribute,
java.lang.Object... parameters)
This method is called by the assistive technology to request
the value for an attribute.
|
(package private) void |
setNestedColumnHeader(NestedTableColumnHeader nch) |
(package private) void |
setParentHeader(NestedTableColumnHeader ph) |
(package private) void |
setTableHeaderRow(TableHeaderRow thr) |
private DoubleProperty |
sizeProperty() |
private void |
sortColumn(boolean addColumn) |
private void |
updateAllHeaders(TableColumnHeader header)
*
Private Implementation *
*
|
private void |
updateColumnIndex() |
private void |
updateScene() |
private void |
updateSortGrid() |
private void |
updateSortOrderDots(int sortPos) |
private void |
updateSortPosition() |
private void |
updateStyleClass() |
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, impl_computeContains, impl_computeGeomBounds, impl_computeLayoutBounds, impl_createPeer, impl_notifyLayoutBoundsChanged, impl_pickNodeLocal, impl_updatePeer, insetsProperty, isCacheShape, isCenterShape, isResizable, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapSize, snapSpace, snapToPixelProperty, widthProperty
getBaselineOffset, getChildren, getChildrenUnmodifiable, getImpl_traversalEngine, getManagedChildren, getStylesheets, impl_getAllParentStylesheets, impl_processCSS, impl_processMXNode, impl_traversalEngineProperty, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setImpl_traversalEngine, setNeedsLayout, updateBounds
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, containsBounds, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, hasProperties, hoverProperty, idProperty, impl_clearDirty, impl_computeIntersects, impl_cssGetCursorInitialValue, impl_cssGetFocusTraversableInitialValue, impl_findStyles, impl_geomChanged, impl_getLeafTransform, impl_getMatchingStyles, impl_getPeer, impl_getPivotX, impl_getPivotY, impl_getPivotZ, impl_getStyleMap, impl_hasTransforms, impl_intersects, impl_intersectsBounds, impl_isDirty, impl_isDirtyEmpty, impl_isShowMnemonics, impl_isTreeVisible, impl_layoutBoundsChanged, impl_markDirty, impl_pickNode, impl_processCSS, impl_reapplyCSS, impl_setShowMnemonics, impl_setStyleMap, impl_showMnemonicsProperty, impl_syncPeer, impl_transformsChanged, impl_traverse, impl_treeVisibleProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visibleProperty
static final double DEFAULT_COLUMN_WIDTH
private boolean autoSizeComplete
private double dragOffset
private final TableViewSkinBase<?,?,?,?,?,TableColumnBase<?,?>> skin
private NestedTableColumnHeader nestedColumnHeader
private final TableColumnBase<?,?> column
private TableHeaderRow tableHeaderRow
private NestedTableColumnHeader parentHeader
Label label
int sortPos
private Region arrow
private Label sortOrderLabel
private HBox sortOrderDots
private Node sortArrow
private boolean isSortColumn
private boolean isSizeDirty
boolean isLastVisibleColumn
int columnIndex
private int newColumnPos
protected final Region columnReorderLine
protected final MultiplePropertyChangeListenerHandler changeListenerHandler
private ListChangeListener<TableColumnBase<?,?>> sortOrderListener
private ListChangeListener<TableColumnBase<?,?>> visibleLeafColumnsListener
private ListChangeListener<java.lang.String> styleClassListener
private WeakListChangeListener<TableColumnBase<?,?>> weakSortOrderListener
private final WeakListChangeListener<TableColumnBase<?,?>> weakVisibleLeafColumnsListener
private final WeakListChangeListener<java.lang.String> weakStyleClassListener
private static final EventHandler<MouseEvent> mousePressedHandler
private static final EventHandler<MouseEvent> mouseDraggedHandler
private static final EventHandler<MouseEvent> mouseReleasedHandler
private static final EventHandler<ContextMenuEvent> contextMenuRequestedHandler
private DoubleProperty size
private static final PseudoClass PSEUDO_CLASS_LAST_VISIBLE
public TableColumnHeader(TableViewSkinBase skin, TableColumnBase tc)
private double getSize()
private DoubleProperty sizeProperty()
protected void handlePropertyChanged(java.lang.String p)
protected TableViewSkinBase<?,?,?,?,?,TableColumnBase<?,?>> getTableViewSkin()
NestedTableColumnHeader getNestedColumnHeader()
void setNestedColumnHeader(NestedTableColumnHeader nch)
public TableColumnBase getTableColumn()
TableHeaderRow getTableHeaderRow()
void setTableHeaderRow(TableHeaderRow thr)
NestedTableColumnHeader getParentHeader()
void setParentHeader(NestedTableColumnHeader ph)
protected void layoutChildren()
Parent
. By default it will only set the size of managed,
resizable content to their preferred sizes and does not do any node
positioning.
Subclasses should override this function to layout content as needed.
layoutChildren
in class Parent
protected double computePrefWidth(double height)
computePrefWidth
in class Region
height
- the height that should be used if preferred width depends
on itprotected double computeMinHeight(double width)
computeMinHeight
in class Region
width
- the width that should be used if min height depends
on itprotected double computePrefHeight(double width)
computePrefHeight
in class Region
width
- the width that should be used if preferred height depends
on itprivate void updateAllHeaders(TableColumnHeader header)
private void updateStyleClass()
private void updateScene()
void dispose()
private boolean isSortingEnabled()
private boolean isColumnReorderingEnabled()
private void initUI()
private void doColumnAutoSize(TableColumnBase<?,?> column, int cellsToMeasure)
private void updateSortPosition()
private void updateSortGrid()
private void updateSortOrderDots(int sortPos)
void moveColumn(TableColumnBase column, int newColumnPos)
private ObservableList<TableColumnBase<?,?>> getColumns(TableColumnBase column)
private int getIndex(TableColumnBase<?,?> column)
private void updateColumnIndex()
private void sortColumn(boolean addColumn)
private int getSortPosition()
private java.util.List<TableColumnBase> getVisibleSortOrderColumns()
private int getVisibleSortOrderColumnCount()
void columnReorderingStarted(double dragOffset)
void columnReordering(double sceneX, double sceneY)
void columnReorderingComplete()
double getDragRectHeight()
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 interface Styleable
getCssMetaData
in class Region
public java.lang.Object queryAccessibleAttribute(AccessibleAttribute attribute, java.lang.Object... parameters)
Node
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 super class implementation
must be called.
queryAccessibleAttribute
in class Parent
attribute
- the requested attributeparameters
- optional list of parametersAccessibleAttribute