Class MultiColumnListView.ColumnListCell<T>
- Type Parameters:
T- the type of the model objects shown by the list
- All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
- Enclosing class:
MultiColumnListView<T>
MultiColumnListView control.
The cell adds drag and drop support for re-arranging list cells and for dragging them from
one column to another.
The cells of the control show instances of MultiColumnListView.ColumnItem, which are wrappers around
the application's model objects. Subclasses do not have to deal with these wrappers as they
can simply override updateUserObject(Object, boolean) which receives
the model object itself. The model object will be null whenever the cell shows one of the two
placeholders used during drag and drop (see placeholderProperty(),
fromPlaceholderProperty(), toPlaceholderProperty()).
-
Property Summary
PropertiesTypePropertyDescriptionfinal javafx.beans.property.ReadOnlyBooleanPropertyA read-only property that is being set to true if the item in the cell is currently the "from" placeholder item.final javafx.beans.property.ReadOnlyBooleanPropertyA read-only property that is being set to true if the item in the cell is currently either the "from" or the "to" placeholder item used during drag and drop operations.final javafx.beans.property.ReadOnlyBooleanPropertyA read-only property that is being set to true if the item in the cell is currently the "to" placeholder item.Properties inherited from class javafx.scene.control.ListCell
listViewProperties inherited from class javafx.scene.control.IndexedCell
indexProperties inherited from class javafx.scene.control.Cell
editable, editing, empty, item, selectedProperties inherited from class javafx.scene.control.Labeled
alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, underline, wrapTextProperties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltipProperties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, widthProperties inherited from class javafx.scene.Parent
needsLayoutProperties inherited from class javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible -
Field Summary
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZEFields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT -
Constructor Summary
ConstructorsConstructorDescriptionColumnListCell(MultiColumnListView<T> multiColumnListView) Creates a new list cell. -
Method Summary
Modifier and TypeMethodDescriptionfinal javafx.beans.property.ReadOnlyBooleanPropertyA read-only property that is being set to true if the item in the cell is currently the "from" placeholder item.Returns the column containing this cell.protected final javafx.scene.control.LabelReturns the label that is used by the default implementation ofupdateUserObject(Object, boolean)to show the text of the cell.protected final javafx.scene.layout.StackPaneReturns the pane that is used as the graphic of the cell by the default implementation ofupdateUserObject(Object, boolean).final MultiColumnListView<T> Returns theMultiColumnListViewcontrol where the cell is being used.protected javafx.scene.NodeRetrieves the node that will be used to create a drag image via theNode.snapshot(SnapshotParameters, WritableImage)method.final TReturns the model object currently shown by this cell.final booleanGets the value of thefromPlaceholderproperty.final booleanGets the value of theplaceholderproperty.final booleanGets the value of thetoPlaceholderproperty.final javafx.beans.property.ReadOnlyBooleanPropertyA read-only property that is being set to true if the item in the cell is currently either the "from" or the "to" placeholder item used during drag and drop operations.final javafx.beans.property.ReadOnlyBooleanPropertyA read-only property that is being set to true if the item in the cell is currently the "to" placeholder item.voidUpdates the column reference used by this cell.protected final voidupdateItem(MultiColumnListView.ColumnItem<T> item, boolean empty) protected voidupdateUserObject(T userObject, boolean empty) Updates the cell for the given model object.Methods inherited from class javafx.scene.control.ListCell
cancelEdit, commitEdit, createDefaultSkin, executeAccessibleAction, getListView, listViewProperty, queryAccessibleAttribute, startEdit, updateListViewMethods inherited from class javafx.scene.control.IndexedCell
getIndex, indexProperty, updateIndexMethods inherited from class javafx.scene.control.Cell
editableProperty, editingProperty, emptyProperty, getInitialFocusTraversable, getItem, isEditable, isEditing, isEmpty, isItemChanged, isSelected, itemProperty, layoutChildren, selectedProperty, setEditable, setItem, updateSelectedMethods inherited from class javafx.scene.control.Labeled
alignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getClassCssMetaData, getContentBias, getContentDisplay, getControlCssMetaData, getEllipsisString, getFont, getGraphic, getGraphicTextGap, getInitialAlignment, getLabelPadding, getLineSpacing, getText, getTextAlignment, getTextFill, getTextOverrun, graphicProperty, graphicTextGapProperty, isMnemonicParsing, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, toString, underlineProperty, wrapTextPropertyMethods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipPropertyMethods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, 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, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthPropertyMethods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBoundsMethods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, 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, getViewOrder, hasProperties, hoverProperty, idProperty, 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, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visiblePropertyMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javafx.css.Styleable
getStyleableNode
-
Property Details
-
placeholder
public final javafx.beans.property.ReadOnlyBooleanProperty placeholderPropertyA read-only property that is being set to true if the item in the cell is currently either the "from" or the "to" placeholder item used during drag and drop operations.- See Also:
-
fromPlaceholder
public final javafx.beans.property.ReadOnlyBooleanProperty fromPlaceholderPropertyA read-only property that is being set to true if the item in the cell is currently the "from" placeholder item.- See Also:
-
toPlaceholder
public final javafx.beans.property.ReadOnlyBooleanProperty toPlaceholderPropertyA read-only property that is being set to true if the item in the cell is currently the "to" placeholder item.- See Also:
-
-
Constructor Details
-
ColumnListCell
Creates a new list cell.- Parameters:
multiColumnListView- reference to theMultiColumnListViewcontrol where the cell is being used
-
-
Method Details
-
getColumn
Returns the column containing this cell.- Returns:
- the column containing this cell
-
getUserObject
Returns the model object currently shown by this cell. The method returnsnullif the cell is empty or if the cell currently shows one of the two drag and drop placeholders.- Returns:
- the model object shown by this cell
-
getSnapshotNode
protected javafx.scene.Node getSnapshotNode()Retrieves the node that will be used to create a drag image via theNode.snapshot(SnapshotParameters, WritableImage)method.- Returns:
- the snapshot node
-
getMultiColumnListView
Returns theMultiColumnListViewcontrol where the cell is being used.- Returns:
- the parent control
-
updateItem
- Overrides:
updateItemin classjavafx.scene.control.Cell<MultiColumnListView.ColumnItem<T>>
-
updateUserObject
Updates the cell for the given model object. This method will be called by the cell whenever its item changes. Subclasses should override this method instead ofupdateItem(ColumnItem, boolean), which is final.The given model object will be
nullwhen the cell is empty or when the cell currently shows one of the two drag and drop placeholders. UseisFromPlaceholder()andisToPlaceholder()to distinguish these cases.The default implementation does not use the text of the cell but rather shows a "rich" graphic (see
getContentPane()): a pane with a dashed border that contains a centered label (seegetContentLabel()). Subclasses that override this method can either keep using that pane, replace the graphic with a node of their own, or simply callLabeled.setText(String)for a text-only cell.- Parameters:
userObject- the model object shown by this cell, possiblynullempty- true if the cell is empty
-
getContentLabel
protected final javafx.scene.control.Label getContentLabel()Returns the label that is used by the default implementation ofupdateUserObject(Object, boolean)to show the text of the cell. The label is centered inside thecontent paneand uses the style class "content-label".- Returns:
- the label showing the text of the cell
-
getContentPane
protected final javafx.scene.layout.StackPane getContentPane()Returns the pane that is used as the graphic of the cell by the default implementation ofupdateUserObject(Object, boolean). The pane uses the style class "content-pane", is styled with a dashed border, and centers thecontent label. The pane always spans the entire width of the cell.- Returns:
- the pane used as the graphic of the cell
-
isPlaceholder
public final boolean isPlaceholder()Gets the value of theplaceholderproperty.- Property description:
- A read-only property that is being set to true if the item in the cell is currently either the "from" or the "to" placeholder item used during drag and drop operations.
- Returns:
- the value of the
placeholderproperty - See Also:
-
placeholderProperty
public final javafx.beans.property.ReadOnlyBooleanProperty placeholderProperty()A read-only property that is being set to true if the item in the cell is currently either the "from" or the "to" placeholder item used during drag and drop operations.- Returns:
- true if the currently shown item is either the "from" or the "to" placeholder object
- See Also:
-
isFromPlaceholder
public final boolean isFromPlaceholder()Gets the value of thefromPlaceholderproperty.- Property description:
- A read-only property that is being set to true if the item in the cell is currently the "from" placeholder item.
- Returns:
- the value of the
fromPlaceholderproperty - See Also:
-
fromPlaceholderProperty
public final javafx.beans.property.ReadOnlyBooleanProperty fromPlaceholderProperty()A read-only property that is being set to true if the item in the cell is currently the "from" placeholder item.- Returns:
- true if the currently shown item is the "from" placeholder object
- See Also:
-
isToPlaceholder
public final boolean isToPlaceholder()Gets the value of thetoPlaceholderproperty.- Property description:
- A read-only property that is being set to true if the item in the cell is currently the "to" placeholder item.
- Returns:
- the value of the
toPlaceholderproperty - See Also:
-
toPlaceholderProperty
public final javafx.beans.property.ReadOnlyBooleanProperty toPlaceholderProperty()A read-only property that is being set to true if the item in the cell is currently the "to" placeholder item.- Returns:
- true if the currently shown item is the "to" placeholder object
- See Also:
-
updateColumn
Updates the column reference used by this cell.- Parameters:
column- the column containing this cell
-