Package de.gsi.chart.ui
Class SidesPane
- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- de.gsi.chart.ui.SidesPane
-
- All Implemented Interfaces:
javafx.css.Styleable,javafx.event.EventTarget,javafx.scene.control.Skinnable
- Direct Known Subclasses:
Chart
public class SidesPane extends javafx.scene.control.ControlSidesPane inspired by the HiddenSidesPane of the controlsFX packageA pane used to display a full-size content node and four initially hidden nodes on the four sides. The hidden nodes can be made visible by moving the mouse cursor to the edges (see
setTriggerDistance(double)) of the pane. The hidden node will appear (at its preferred width or height) with a short slide-in animation. The node will disappear again as soon as the mouse cursor exits it. A hidden node / side can also be pinned by callingsetPinned(Side,Boolean). It will remain visible as long as it stays pinned.Screenshot
The following screenshots shows the right side node hovering over a table after it was made visible:
Code Sample
SidesPane pane = new SidesPane(); pane.setContent(new TableView()); pane.setTop(new ToolBarView());
-
-
Constructor Summary
Constructors Constructor Description SidesPane()Constructs a new pane with no content and no side nodes.SidesPane(javafx.scene.Node content, javafx.scene.Node top, javafx.scene.Node right, javafx.scene.Node bottom, javafx.scene.Node left)Constructs a new pane with the given content node and the four side nodes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javafx.beans.property.ObjectProperty<javafx.util.Duration>animationDelayProperty()Returns the animation delay property.javafx.beans.property.ObjectProperty<javafx.util.Duration>animationDurationProperty()Returns the animation duration property.javafx.beans.property.ObjectProperty<javafx.scene.Node>bottomProperty()Returns the value of the bottom node property.javafx.beans.property.ObjectProperty<javafx.scene.Node>contentProperty()The property that is used to store a reference to the content node.protected javafx.scene.control.Skin<?>createDefaultSkin()javafx.util.DurationgetAnimationDelay()Returns the animation delayjavafx.util.DurationgetAnimationDuration()Returns the animation delayjavafx.scene.NodegetBottom()Returns the value of the bottom node property.javafx.scene.NodegetContent()Returns the value of the content node property.javafx.scene.NodegetLeft()Returns the value of the left node property.javafx.scene.NodegetRight()Returns the value of the right node property.javafx.scene.NodegetTop()Returns the value of the top node property.doublegetTriggerDistance()Returns the value of the trigger distance property.java.lang.BooleanisPinned(Side side)Returns the value of the pinned side property.javafx.beans.property.ObjectProperty<javafx.scene.Node>leftProperty()Returns the value of the left node property.javafx.collections.ObservableMap<Side,java.lang.Boolean>pinnedSideProperty()Returns the pinned side property.javafx.beans.property.DoublePropertyprefHeightBottomProperty()javafx.beans.property.DoublePropertyprefHeightTopProperty()javafx.beans.property.DoublePropertyprefWidthLeftProperty()javafx.beans.property.DoublePropertyprefWidthRightProperty()javafx.beans.property.ObjectProperty<javafx.scene.Node>rightProperty()Returns the value of the right node property.voidsetAnimationDelay(javafx.util.Duration duration)Set the animation delayvoidsetAnimationDuration(javafx.util.Duration duration)Set the animation delayvoidsetBottom(javafx.scene.Node bottom)Sets the value of the bottom node property.voidsetContent(javafx.scene.Node content)Sets the value of the content node property.voidsetLeft(javafx.scene.Node left)Sets the value of the left node property.voidsetPinned(Side side, java.lang.Boolean stateState)Sets the value of the pinned side property.voidsetRight(javafx.scene.Node right)Sets the value of the right node property.voidsetTop(javafx.scene.Node top)Sets the value of the top node property.voidsetTriggerDistance(double distance)Set the value of the trigger distance property.javafx.beans.property.ObjectProperty<javafx.scene.Node>topProperty()The property used to store a reference to the node shown at the top side of the pane.javafx.beans.property.DoublePropertytriggerDistanceProperty()The property that stores the distance to the pane's edges that will trigger the appearance of the hidden side nodes.
Setting the property to zero or a negative value will disable this functionality, so a hidden side can only be made visible withsetPinned(Side, Boolean).-
Methods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
-
Methods 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, widthProperty
-
Methods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods 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, getContentBias, 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, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
-
-
-
Constructor Detail
-
SidesPane
public SidesPane(javafx.scene.Node content, javafx.scene.Node top, javafx.scene.Node right, javafx.scene.Node bottom, javafx.scene.Node left)Constructs a new pane with the given content node and the four side nodes. Each one of the side nodes may be null.- Parameters:
content- the primary node that will fill the entire width and height of the panetop- the hidden node on the top sideright- the hidden node on the right sidebottom- the hidden node on the bottom sideleft- the hidden node on the left side
-
SidesPane
public SidesPane()
Constructs a new pane with no content and no side nodes.
-
-
Method Detail
-
createDefaultSkin
protected javafx.scene.control.Skin<?> createDefaultSkin()
- Overrides:
createDefaultSkinin classjavafx.scene.control.Control
-
prefHeightTopProperty
public javafx.beans.property.DoubleProperty prefHeightTopProperty()
-
prefHeightBottomProperty
public javafx.beans.property.DoubleProperty prefHeightBottomProperty()
-
prefWidthLeftProperty
public javafx.beans.property.DoubleProperty prefWidthLeftProperty()
-
prefWidthRightProperty
public javafx.beans.property.DoubleProperty prefWidthRightProperty()
-
triggerDistanceProperty
public final javafx.beans.property.DoubleProperty triggerDistanceProperty()
The property that stores the distance to the pane's edges that will trigger the appearance of the hidden side nodes.
Setting the property to zero or a negative value will disable this functionality, so a hidden side can only be made visible withsetPinned(Side, Boolean).- Returns:
- the trigger distance property
-
getTriggerDistance
public final double getTriggerDistance()
Returns the value of the trigger distance property.- Returns:
- the trigger distance property value
-
setTriggerDistance
public final void setTriggerDistance(double distance)
Set the value of the trigger distance property.
Setting the property to zero or a negative value will disable this functionality, so a hidden side can only be made visible withsetPinned(Side,Boolean).- Parameters:
distance- the new value for the trigger distance property
-
contentProperty
public final javafx.beans.property.ObjectProperty<javafx.scene.Node> contentProperty()
The property that is used to store a reference to the content node. The content node will fill the entire width and height of the pane.- Returns:
- the content node property
-
getContent
public final javafx.scene.Node getContent()
Returns the value of the content node property.- Returns:
- the content node property value
-
setContent
public final void setContent(javafx.scene.Node content)
Sets the value of the content node property.- Parameters:
content- the new content node
-
topProperty
public final javafx.beans.property.ObjectProperty<javafx.scene.Node> topProperty()
The property used to store a reference to the node shown at the top side of the pane.- Returns:
- the hidden node at the top side of the pane
-
getTop
public final javafx.scene.Node getTop()
Returns the value of the top node property.- Returns:
- the top node property value
-
setTop
public final void setTop(javafx.scene.Node top)
Sets the value of the top node property.- Parameters:
top- the top node value
-
rightProperty
public final javafx.beans.property.ObjectProperty<javafx.scene.Node> rightProperty()
Returns the value of the right node property.- Returns:
- the right node property value
-
getRight
public final javafx.scene.Node getRight()
Returns the value of the right node property.- Returns:
- the right node property value
-
setRight
public final void setRight(javafx.scene.Node right)
Sets the value of the right node property.- Parameters:
right- the right node value
-
bottomProperty
public final javafx.beans.property.ObjectProperty<javafx.scene.Node> bottomProperty()
Returns the value of the bottom node property.- Returns:
- the bottom node property value
-
getBottom
public final javafx.scene.Node getBottom()
Returns the value of the bottom node property.- Returns:
- the bottom node property value
-
setBottom
public final void setBottom(javafx.scene.Node bottom)
Sets the value of the bottom node property.- Parameters:
bottom- the bottom node value
-
leftProperty
public final javafx.beans.property.ObjectProperty<javafx.scene.Node> leftProperty()
Returns the value of the left node property.- Returns:
- the left node property value
-
getLeft
public final javafx.scene.Node getLeft()
Returns the value of the left node property.- Returns:
- the left node property value
-
setLeft
public final void setLeft(javafx.scene.Node left)
Sets the value of the left node property.- Parameters:
left- the left node value
-
pinnedSideProperty
public final javafx.collections.ObservableMap<Side,java.lang.Boolean> pinnedSideProperty()
Returns the pinned side property. The value of this property determines if one of the four hidden sides stays visible all the time.- Returns:
- the pinned side property
-
isPinned
public final java.lang.Boolean isPinned(Side side)
Returns the value of the pinned side property.- Parameters:
side- the side to query- Returns:
- the pinned side property value
-
setPinned
public final void setPinned(Side side, java.lang.Boolean stateState)
Sets the value of the pinned side property.- Parameters:
side- the new pinned side valuestateState- pinned state
-
animationDelayProperty
public final javafx.beans.property.ObjectProperty<javafx.util.Duration> animationDelayProperty()
Returns the animation delay property. The value of this property determines the delay before the hidden side slide in / slide out animation starts to play.- Returns:
- animation delay property
-
getAnimationDelay
public final javafx.util.Duration getAnimationDelay()
Returns the animation delay- Returns:
- animation delay
-
setAnimationDelay
public final void setAnimationDelay(javafx.util.Duration duration)
Set the animation delay- Parameters:
duration- slide in animation delay
-
animationDurationProperty
public final javafx.beans.property.ObjectProperty<javafx.util.Duration> animationDurationProperty()
Returns the animation duration property. The value of this property determines the fade in time for a hidden side to become visible.- Returns:
- animation delay property
-
getAnimationDuration
public final javafx.util.Duration getAnimationDuration()
Returns the animation delay- Returns:
- animation delay
-
setAnimationDuration
public final void setAnimationDuration(javafx.util.Duration duration)
Set the animation delay- Parameters:
duration- animation duration
-
-