Class PinBoard

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
com.dua3.utility.fx.controls.PinBoard
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable

public class PinBoard extends javafx.scene.control.Control
A JavaFX component where items can be pinned at a position.
  • Property Summary

    Properties
    Type
    Property
    Description
    javafx.beans.property.ReadOnlyObjectProperty<javafx.geometry.Rectangle2D>
    Returns the read-only property that represents the area of the PinBoard.
    javafx.beans.property.DoubleProperty
    Returns the display scale property of the application.
    javafx.beans.property.BooleanProperty
    Returns the pannable property of the PinBoard.
    javafx.beans.property.DoubleProperty
    Returns the property representing the horizontal scroll value of the PinBoard.
    javafx.beans.property.DoubleProperty
    Returns the property representing the vertical scroll value of the PinBoard.

    Properties inherited from class javafx.scene.control.Control

    contextMenu, skin, tooltip

    Properties inherited from class javafx.scene.layout.Region

    background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width

    Properties inherited from class javafx.scene.Parent

    needsLayout

    Properties 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, focusVisible, focusWithin, 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
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final record 
    The Position class represents a position on a PinBoard relative to the pin board's coordinate system.
    static final record 
    The Item class represents an item on a PinBoard.
    static final record 
    The PositionInItem class represents the position within an item on a PinBoard.
  • Field Summary

    Fields inherited from class javafx.scene.layout.Region

    USE_COMPUTED_SIZE, USE_PREF_SIZE

    Fields inherited from class javafx.scene.Node

    BASELINE_OFFSET_SAME_AS_HEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    javafx.beans.property.ReadOnlyObjectProperty<javafx.geometry.Rectangle2D>
    Returns the read-only property that represents the area of the PinBoard.
    void
    Clears the PinBoard by removing all items and refreshes the skin.
    void
    clear(boolean refresh)
    Clears the PinBoard by removing all items and optionally refreshes the skin.
    protected javafx.scene.control.Skin<PinBoard>
     
    javafx.beans.property.DoubleProperty
    Returns the display scale property of the application.
    void
    Disposes the PinBoardSkin instance.
    javafx.geometry.Rectangle2D
    Returns the area of the PinBoard.
    double
    Retrieves the current value of the display scale.
    getItemAt(double x, double y)
    Get Item at point.
    javafx.collections.ObservableList<PinBoard.Item>
    Returns an unmodifiable observable list of items.
    getPositionInBoard(double xVP, double yVP)
    Get board position at point from viewport coordinates.
    getPositionInItem(double x, double y)
    Get Item at point and coordinates transformed to item coordinates.
    Retrieves the current scroll position of the PinBoard.
    javafx.geometry.Rectangle2D
    Calculates the viewport dimensions in the context of the board coordinates with respect to the current display scale and board area.
    javafx.beans.property.ReadOnlyListWrapper<PinBoard.Item>
    Retrieves the list of currently visible items on the PinBoard.
    javafx.beans.property.BooleanProperty
    Returns the pannable property of the PinBoard.
    void
    Pins the given item or collection of items to the PinBoard and refreshes the layout.
    void
    pin(PinBoard.Item item, boolean refresh)
    Pins the given item or collection of items to the PinBoard and optionally refreshes the layout.
    void
    Pins the given collection of items to the PinBoard and refreshes the skin.
    void
    pin(Collection<PinBoard.Item> itemsToPin, boolean refresh)
    Pins the given collection of items to the PinBoard and optionally refreshes the skin.
    void
    pinBottom(String name, Supplier<javafx.scene.Node> nodeSupplier, javafx.geometry.Dimension2D dimension)
    Add item at the bottom, centered horizontally.
    void
    pinBottom(String name, Supplier<javafx.scene.Node> nodeSupplier, javafx.geometry.Dimension2D dimension, boolean refresh)
    Add item at the bottom, centered horizontally.
    void
    Refreshes the PinBoard skin.
    void
    scroll(double dxBoard, double dyBoard)
    Adjusts the scroll position of the PinBoard by the specified horizontal and vertical deltas.
    void
    scrollHorizontal(double delta)
    Scrolls the PinBoard horizontally by the specified amount.
    javafx.beans.property.DoubleProperty
    Returns the property representing the horizontal scroll value of the PinBoard.
    void
    scrollIntoView(double x, double y)
    Scrolls the PinBoard the specified position into view.
    void
    scrollIntoView(PinBoard.Item item, double x, double y)
    Scrolls the PinBoard so that the point (x, y) in the item becomes visible.
    void
    scrollTo(double x, double y, double dxVP, double dyVP)
    Scrolls the PinBoard to the specified position within an item.
    void
    scrollTo(PinBoard.Item item, double x, double y, double dxVP, double dyVP)
    Scrolls the PinBoard to the specified position within an item.
    void
    scrollTo(PinBoard.PositionInItem pos, double dxVP, double dyVP)
    Scrolls the PinBoard to the specified position within an item.
    void
    scrollVertical(double delta)
    Scrolls the PinBoard vertically by the specified amount.
    javafx.beans.property.DoubleProperty
    Returns the property representing the vertical scroll value of the PinBoard.
    void
    Sets the content to the given collection of items to the PinBoard and refreshes the skin.
    void
    setDisplayScale(double scale)
    Sets the display scale of the component.
    void
    setHBarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy policy)
    Sets the horizontal scrollbar policy of the PinBoardSkin's ScrollPane.
    void
    setScrollPosition(double hValue, double vValue)
    Sets the scroll position of the PinBoardSkin's ScrollPane.
    void
    Sets the scroll position of the PinBoardSkin's ScrollPane.
    void
    setVBarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy policy)
    Sets the vertical scrollbar policy of the PinBoardSkin's ScrollPane.
     

    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, focusVisibleProperty, focusWithinProperty, 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, isFocusVisible, isFocusWithin, 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, visibleProperty

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Property Details

    • scrollHValueProperty

      public javafx.beans.property.DoubleProperty scrollHValuePropertyProperty
      Returns the property representing the horizontal scroll value of the PinBoard.
      See Also:
    • scrollVValueProperty

      public javafx.beans.property.DoubleProperty scrollVValuePropertyProperty
      Returns the property representing the vertical scroll value of the PinBoard.
      See Also:
    • area

      public javafx.beans.property.ReadOnlyObjectProperty<javafx.geometry.Rectangle2D> areaProperty
      Returns the read-only property that represents the area of the PinBoard.
      See Also:
    • pannable

      public javafx.beans.property.BooleanProperty pannableProperty
      Returns the pannable property of the PinBoard. The pannable property determines whether the user can pan the content within the PinBoard.
      See Also:
    • displayScale

      public javafx.beans.property.DoubleProperty displayScaleProperty
      Returns the display scale property of the application. This property represents the current scaling factor for the display.
      See Also:
  • Constructor Details

    • PinBoard

      public PinBoard()
      Default constructor.
  • Method Details

    • setHBarPolicy

      public void setHBarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy policy)
      Sets the horizontal scrollbar policy of the PinBoardSkin's ScrollPane.
      Parameters:
      policy - the scrollbar policy to set
    • setVBarPolicy

      public void setVBarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy policy)
      Sets the vertical scrollbar policy of the PinBoardSkin's ScrollPane.
      Parameters:
      policy - the ScrollBarPolicy to set
    • scrollHValuePropertyProperty

      public javafx.beans.property.DoubleProperty scrollHValuePropertyProperty()
      Returns the property representing the horizontal scroll value of the PinBoard.
      Returns:
      The DoubleProperty representing the horizontal scroll value.
    • scrollVValuePropertyProperty

      public javafx.beans.property.DoubleProperty scrollVValuePropertyProperty()
      Returns the property representing the vertical scroll value of the PinBoard.
      Returns:
      The DoubleProperty representing the vertical scroll value.
    • getVisibleItems

      public javafx.beans.property.ReadOnlyListWrapper<PinBoard.Item> getVisibleItems()
      Retrieves the list of currently visible items on the PinBoard.

      The method checks whether the PinBoard is associated with a PinBoardSkin. If so, it delegates the call to the skin to retrieve the visible items. If no PinBoardSkin is associated, it returns an empty list.

      Returns:
      A list of visible items. If no skin is available, an empty list is returned.
    • clear

      public void clear()
      Clears the PinBoard by removing all items and refreshes the skin. This method must be called from the JavaFX Application Thread.
    • clear

      public void clear(boolean refresh)
      Clears the PinBoard by removing all items and optionally refreshes the skin. This method must be called from the JavaFX Application Thread.
      Parameters:
      refresh - flag indicating whether to refresh the skin
    • refresh

      public void refresh()
      Refreshes the PinBoard skin.
    • dispose

      public void dispose()
      Disposes the PinBoardSkin instance. Stops the refresher and disposes the superclass.
    • createDefaultSkin

      protected javafx.scene.control.Skin<PinBoard> createDefaultSkin()
      Overrides:
      createDefaultSkin in class javafx.scene.control.Control
    • areaProperty

      public javafx.beans.property.ReadOnlyObjectProperty<javafx.geometry.Rectangle2D> areaProperty()
      Returns the read-only property that represents the area of the PinBoard.
      Returns:
      The read-only area property of type Rectangle2D.
      See Also:
    • pannableProperty

      public javafx.beans.property.BooleanProperty pannableProperty()
      Returns the pannable property of the PinBoard. The pannable property determines whether the user can pan the content within the PinBoard.
      Returns:
      The BooleanProperty representing the pannable state of the PinBoard.
    • getItems

      public javafx.collections.ObservableList<PinBoard.Item> getItems()
      Returns an unmodifiable observable list of items.
      Returns:
      An unmodifiable observable list of items.
    • getScrollPosition

      public ScrollPosition getScrollPosition()
      Retrieves the current scroll position of the PinBoard.
      Returns:
      a Pair containing the horizontal and vertical scroll positions
    • setScrollPosition

      public void setScrollPosition(double hValue, double vValue)
      Sets the scroll position of the PinBoardSkin's ScrollPane.
      Parameters:
      hValue - the horizontal scroll value to set
      vValue - the vertical scroll value to set
    • setScrollPosition

      public void setScrollPosition(ScrollPosition scrollPosition)
      Sets the scroll position of the PinBoardSkin's ScrollPane.
      Parameters:
      scrollPosition - a Pair containing the horizontal and vertical scroll positions
    • scrollTo

      public void scrollTo(PinBoard.Item item, double x, double y, double dxVP, double dyVP)
      Scrolls the PinBoard to the specified position within an item.
      Parameters:
      item - the item
      x - the x-coordinate inside the item
      y - the y-coordinate inside the item
      dxVP - x-offset in pixels
      dyVP - y-offset in pixels
    • scrollTo

      public void scrollTo(PinBoard.PositionInItem pos, double dxVP, double dyVP)
      Scrolls the PinBoard to the specified position within an item.
      Parameters:
      pos - the position within an item to scroll to
      dxVP - x-offset in pixels
      dyVP - y-offset in pixels
    • scroll

      public void scroll(double dxBoard, double dyBoard)
      Adjusts the scroll position of the PinBoard by the specified horizontal and vertical deltas.
      Parameters:
      dxBoard - the horizontal scroll offset to apply in board units
      dyBoard - the vertical scroll offset to apply in board units
    • scrollHorizontal

      public void scrollHorizontal(double delta)
      Scrolls the PinBoard horizontally by the specified amount.
      Parameters:
      delta - the amount to scroll in the horizontal direction
    • scrollVertical

      public void scrollVertical(double delta)
      Scrolls the PinBoard vertically by the specified amount.
      Parameters:
      delta - the amount to scroll in the vertical direction
    • scrollIntoView

      public void scrollIntoView(PinBoard.Item item, double x, double y)
      Scrolls the PinBoard so that the point (x, y) in the item becomes visible.
      Parameters:
      item - the item
      x - the x-coordinate inside the item
      y - the y-coordinate inside the item
    • scrollTo

      public void scrollTo(double x, double y, double dxVP, double dyVP)
      Scrolls the PinBoard to the specified position within an item.

      The parameters dxBoard and dyBoard are used to determine where the point (x,y) should end up in the viewport. For example, use 0.5 for dxBoard to center the point horizontally in the viewport.

      Parameters:
      x - The x-coordinate in local coordinates to scroll to
      y - The y-coordinate in local coordinates to scroll to
      dxVP - x-offset in pixels
      dyVP - x-offset in pixels
    • scrollIntoView

      public void scrollIntoView(double x, double y)
      Scrolls the PinBoard the specified position into view.
      Parameters:
      x - the x-position in board coordinates to scroll to
      y - the y-position in board coordinates to scroll to
    • getItemAt

      public Optional<PinBoard.Item> getItemAt(double x, double y)
      Get Item at point.
      Parameters:
      x - x-coordinate (relative to viewport)
      y - y-coordinate (relative to viewport)
      Returns:
      Optional containing the item at (x,y)
    • getPositionInItem

      public Optional<PinBoard.PositionInItem> getPositionInItem(double x, double y)
      Get Item at point and coordinates transformed to item coordinates.
      Parameters:
      x - x-coordinate (relative to viewport)
      y - y-coordinate (relative to viewport)
      Returns:
      Optional containing the item and the transformed coordinates
    • getPositionInBoard

      public PinBoard.BoardPosition getPositionInBoard(double xVP, double yVP)
      Get board position at point from viewport coordinates.
      Parameters:
      xVP - x-coordinate
      yVP - y-coordinate
      Returns:
      board position at (x,y)
    • getViewPortInBoardCoordinates

      public javafx.geometry.Rectangle2D getViewPortInBoardCoordinates()
      Calculates the viewport dimensions in the context of the board coordinates with respect to the current display scale and board area.
      Returns:
      A Rectangle2D representing the viewport position and size (width and height) in the board's coordinate system.
    • pinBottom

      public void pinBottom(String name, Supplier<javafx.scene.Node> nodeSupplier, javafx.geometry.Dimension2D dimension)
      Add item at the bottom, centered horizontally.
      Parameters:
      name - item name
      nodeSupplier - supplier (factory) for item node
      dimension - item dimension
    • pinBottom

      public void pinBottom(String name, Supplier<javafx.scene.Node> nodeSupplier, javafx.geometry.Dimension2D dimension, boolean refresh)
      Add item at the bottom, centered horizontally.
      Parameters:
      name - item name
      nodeSupplier - supplier (factory) for item node
      dimension - item dimension
      refresh - true to refresh skin after adding item
    • getArea

      public javafx.geometry.Rectangle2D getArea()
      Returns the area of the PinBoard.
      Returns:
      The Rectangle2D representing the area of the PinBoard.
    • pin

      public void pin(PinBoard.Item item)
      Pins the given item or collection of items to the PinBoard and refreshes the layout.
      Parameters:
      item - The item to be pinned. Can be a single item or a collection of items to be pinned together.
    • pin

      public void pin(PinBoard.Item item, boolean refresh)
      Pins the given item or collection of items to the PinBoard and optionally refreshes the layout.
      Parameters:
      item - The item to be pinned. Can be a single item or a collection of items to be pinned together.
      refresh - flag indicating whether the skin should be refreshed after pinning
    • pin

      public void pin(Collection<PinBoard.Item> itemsToPin)
      Pins the given collection of items to the PinBoard and refreshes the skin.
      Parameters:
      itemsToPin - The collection of items to be pinned.
    • pin

      public void pin(Collection<PinBoard.Item> itemsToPin, boolean refresh)
      Pins the given collection of items to the PinBoard and optionally refreshes the skin.
      Parameters:
      itemsToPin - The collection of items to be pinned.
      refresh - flag indicating whether the skin should be refreshed after pinning
    • set

      public void set(Collection<PinBoard.Item> itemsToPin)
      Sets the content to the given collection of items to the PinBoard and refreshes the skin.
      Parameters:
      itemsToPin - The collection of items to be pinned.
    • displayScaleProperty

      public javafx.beans.property.DoubleProperty displayScaleProperty()
      Returns the display scale property of the application. This property represents the current scaling factor for the display.
      Returns:
      the display scale property as a DoubleProperty
      See Also:
    • setDisplayScale

      public void setDisplayScale(double scale)
      Sets the display scale of the component.
      Parameters:
      scale - the new scale value to set for the display. This value determines the magnification or reduction applied to the component's display.
    • getDisplayScale

      public double getDisplayScale()
      Retrieves the current value of the display scale.
      Returns:
      the value of the display scale as a Double
    • toString

      public String toString()
      Overrides:
      toString in class javafx.scene.Node