Package gui.page

Class Page

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.layout.Pane
javafx.scene.layout.StackPane
gui.page.Page
All Implemented Interfaces:
MediaObserver, Zoomable, javafx.css.Styleable, javafx.event.EventTarget

public class Page extends javafx.scene.layout.StackPane implements MediaObserver, Zoomable
GUI element which displays the visual representation of the Media entities in a page.
  • Property Summary

    Properties inherited from class javafx.scene.layout.StackPane

    alignment

    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
  • 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
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addMedia(GUIMedia<?> media)
    Add the given GUIMedia object to this page.
    void
    given the x and y coords of a point, make that point the center of the visible box
    boolean
    contains(GUIMedia<?> media)
    Return whether or not the given GUIMedia object is within this page
    Get all the media currently displayed on this page which have assigned IDs.
    Return the MediaCommunicator used by this app.media.Page.
    javafx.geometry.Point2D
    getCoords(double x, double y)
     
    javafx.geometry.Point2D
    getCoords(javafx.geometry.Point2D coords)
    Transform the given coordinates into the page's coordinate space.
    javafx.geometry.Point2D
    getCoordsInv(double x, double y)
     
    javafx.geometry.Point2D
    getCoordsInv(javafx.geometry.Point2D coords)
    Transform the given out of the page's coordinate space.
    javafx.scene.layout.Pane
    Getter for mediaLayer
    javafx.geometry.Point2D
    getMouseCoords(javafx.scene.input.MouseEvent e)
    Return the coordinates of the given MouseEvent in the page's coordinate space.
    javafx.scene.transform.Scale
    Getter for scale
    double
    Getter for scaleFactor
    javafx.geometry.Bounds
    Returns the currently visible region.
    void
    jumpToCenter(double x, double y)
    given the x and y coords of a point, make that point the center of the visible box
    void
    jumpToTopLeft(double x, double y)
    given the x and y coords of a point, make that point the top left of the visible box
    void
    mediaDeleted(long id)
    Called whenever a Media object is deleted.
    void
    Called whenever a Media object is updated/added.
    void
    Remove ALL GUIMedia objects from this page.
    void
    Remove the given GUIMedia object from this page.
    void
    scrollHorizontally(double translation)
    Translate the mediaLayer horizontally by translation amount of pixels (using traditional computer graphics coordinate systems with the top left corner being (0, 0) and y increasing positively downwards and x increasing positively to the right)
    void
    scrollVertically(double translation)
    Translate the mediaLayer vertically by translation amount of pixels (using traditional computer graphics coordinate systems with the top left corner being (0, 0) and y increasing positively downwards and x increasing positively to the right)
    void
    Set the handler of input events.
    void
    setUIlayer(javafx.scene.Node node)
    Set a node to display on top of the current page.
    void
    Indicate that the given GUIMedia object has been updated.
    void
    Scale toZoom by jumping to the next smallest/largest (depending on the value of inOrOut) double in zoomOptions
    void
    zoomToFactor(double factor)
    Given a factor to scale the Page, scale in x and y directions by that factor.

    Methods inherited from class javafx.scene.layout.StackPane

    alignmentProperty, clearConstraints, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getAlignment, getAlignment, getClassCssMetaData, getContentBias, getCssMetaData, getMargin, layoutChildren, requestLayout, setAlignment, setAlignment, setMargin

    Methods inherited from class javafx.scene.layout.Pane

    getChildren

    Methods inherited from class javafx.scene.layout.Region

    backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, 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, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty

    Methods inherited from class javafx.scene.Parent

    getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, 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, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, 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, toString, 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
  • Constructor Details

  • Method Details

    • getCommunicator

      public MediaCommunicator getCommunicator()
      Return the MediaCommunicator used by this app.media.Page.
    • setEventHandler

      public void setEventHandler(PageEventHandler h)
      Set the handler of input events.

      The previous handler will be removed.

    • addMedia

      public void addMedia(GUIMedia<?> media)
      Add the given GUIMedia object to this page.
    • contains

      public boolean contains(GUIMedia<?> media)
      Return whether or not the given GUIMedia object is within this page
    • updateMedia

      public void updateMedia(GUIMedia<?> media)
      Indicate that the given GUIMedia object has been updated.
    • removeMedia

      public void removeMedia(GUIMedia<?> media)
      Remove the given GUIMedia object from this page.
    • removeAllMedia

      public void removeAllMedia()
      Remove ALL GUIMedia objects from this page.
    • getAllMedia

      public Set<GUIMedia<?>> getAllMedia()
      Get all the media currently displayed on this page which have assigned IDs.
    • getCoords

      public javafx.geometry.Point2D getCoords(javafx.geometry.Point2D coords)
      Transform the given coordinates into the page's coordinate space.
    • getCoords

      public javafx.geometry.Point2D getCoords(double x, double y)
    • getMouseCoords

      public javafx.geometry.Point2D getMouseCoords(javafx.scene.input.MouseEvent e)
      Return the coordinates of the given MouseEvent in the page's coordinate space.
    • getCoordsInv

      public javafx.geometry.Point2D getCoordsInv(javafx.geometry.Point2D coords)
      Transform the given out of the page's coordinate space.
    • getCoordsInv

      public javafx.geometry.Point2D getCoordsInv(double x, double y)
    • getVisibleBounds

      public javafx.geometry.Bounds getVisibleBounds()
      Returns the currently visible region.
    • setUIlayer

      public void setUIlayer(javafx.scene.Node node)
      Set a node to display on top of the current page.

      This can be used to display a GUI control "above" the current page contents, such as a popup or context menu.

      Only one node can be set as the UI layer at a time. Calling this method will replace the previous contents of the UI layer (if any).

      The UI layer can be cleared by passing `null` as the argument to this method.

    • mediaDeleted

      public void mediaDeleted(long id)
      Description copied from interface: MediaObserver
      Called whenever a Media object is deleted.
      Specified by:
      mediaDeleted in interface MediaObserver
      Parameters:
      id - The unique identifier of the Media which was removed
    • mediaUpdated

      public void mediaUpdated(Media media)
      Description copied from interface: MediaObserver
      Called whenever a Media object is updated/added.
      Specified by:
      mediaUpdated in interface MediaObserver
      Parameters:
      media - The Media object which was changed
    • zoomToFactor

      public void zoomToFactor(double factor)
      Given a factor to scale the Page, scale in x and y directions by that factor. no pivot
      Specified by:
      zoomToFactor in interface Zoomable
      Parameters:
      factor - the factor by which to scale toZoom, ≥ 0.1, ≤ 10.0
    • zoomInOrOut

      public void zoomInOrOut(String inOrOut)
      Scale toZoom by jumping to the next smallest/largest (depending on the value of inOrOut) double in zoomOptions
      Specified by:
      zoomInOrOut in interface Zoomable
      Parameters:
      inOrOut - "In" to zoom in, "Out" to zoom out
    • scrollVertically

      public void scrollVertically(double translation)
      Translate the mediaLayer vertically by translation amount of pixels (using traditional computer graphics coordinate systems with the top left corner being (0, 0) and y increasing positively downwards and x increasing positively to the right)
      Parameters:
      translation - amount of pixels to translate by
    • scrollHorizontally

      public void scrollHorizontally(double translation)
      Translate the mediaLayer horizontally by translation amount of pixels (using traditional computer graphics coordinate systems with the top left corner being (0, 0) and y increasing positively downwards and x increasing positively to the right)
      Parameters:
      translation - amount of pixels to translate by
    • centerPage

      public void centerPage()
      given the x and y coords of a point, make that point the center of the visible box
      Specified by:
      centerPage in interface Zoomable
    • jumpToTopLeft

      public void jumpToTopLeft(double x, double y)
      given the x and y coords of a point, make that point the top left of the visible box
      Parameters:
      x - x coordinate of point you want to jump to
      y - y coordinate of point you want to jump to
    • jumpToCenter

      public void jumpToCenter(double x, double y)
      given the x and y coords of a point, make that point the center of the visible box
      Parameters:
      x - x coordinate of point you want to jump to
      y - y coordinate of point you want to jump to
    • getScaleFactor

      public double getScaleFactor()
      Getter for scaleFactor
      Returns:
      scaleFactor
    • getScale

      public javafx.scene.transform.Scale getScale()
      Getter for scale
      Returns:
      scale
    • getMediaLayer

      public javafx.scene.layout.Pane getMediaLayer()
      Getter for mediaLayer
      Returns:
      mediaLayer