Class DetectionPlotDisplay

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.layout.Pane
javafx.scene.layout.BorderPane
pamViewFX.fxNodes.PamBorderPane
detectionPlotFX.layout.DetectionPlotDisplay
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget

public class DetectionPlotDisplay extends PamBorderPane
A detection display plot usually plots a single detection. The axis on a detection display plot can be anything, e.g. dB and bin number, linear amplitude and frequency.

TODO - explain data structure.

Author:
Jamie Macaulay
  • Property Summary

    Properties inherited from class javafx.scene.layout.BorderPane

    bottom, center, left, right, top

    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
    Clear tyhe plot.
    void
    Set the data model to represent the parent currently selected in the display.
    void
    Redraw the current dataunit.
    Get a plot pane axis.
    getAxisPane(javafx.geometry.Side side)
    Get an axis pane
    Get the current DDDataInfo for the graph.
    Get the settings pane which allows changing of axis and data blocks.
    Get the projector for the plot.
    getHidingPane(javafx.geometry.Side side)
    Get the hiding pane.
    Get the plot pane.
    The pane which holds settings for the the current plot.
    boolean
    Check whether the time scroll bar is enabled.
    boolean
    Get whether PAMGuard is in viewer mode.
    void
    Called whenever a new datablock is added.
    void
    newDataUnit(PamDataUnit newDataUnit)
    Display a new data unit on the graph.
    void
     
    void
    setAxisVisible(boolean top, boolean right, boolean bottom, boolean left)
    Set which axis are shown on the graph.
    void
    setDataInfo(DDDataInfo dDDataInfo)
    Set the DataInfo for the display.
    void
    setDataInfo(DDDataProvider newDataProviderFX)
    Set the DataInfo for the display.
    void
    setDataUnit(PamDataUnit newDataUnit)
    Convenience function.
    void
    setEnableScrollBar(boolean enableScrollBarPane)
     
    void
    setMinHidePaneHeight(double minHeight)
    Set the minimum height of the hiding side panes.
    void
    Setup the scroll bar if the pot changes.
    void
    Setup the scroll bar so that it has the correct limits and datagram for the current data unit.

    Methods inherited from class pamViewFX.fxNodes.PamBorderPane

    setBottomSpace, setLeftSpace, setRightSpace, setTopSpace

    Methods inherited from class javafx.scene.layout.BorderPane

    bottomProperty, centerProperty, clearConstraints, getAlignment, getBottom, getCenter, getContentBias, getLeft, getMargin, getRight, getTop, leftProperty, rightProperty, setAlignment, setBottom, setCenter, setLeft, setMargin, setRight, setTop, topProperty

    Methods inherited from class javafx.scene.layout.Pane

    getChildren

    Methods inherited from class javafx.scene.layout.Region

    backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getClassCssMetaData, getCssMetaData, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, isScaleShape, isSnapToPixel, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPositionX, snapPositionY, snapSizeX, snapSizeY, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty

    Methods inherited from class javafx.scene.Parent

    getBaselineOffset, getChildrenUnmodifiable, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout

    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, 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, setEffect, setEventDispatcher, setFocusTraversable, 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, 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

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Constructor Details

    • DetectionPlotDisplay

      public DetectionPlotDisplay(DetectionDisplayControl detectionDisplayControl)
    • DetectionPlotDisplay

      public DetectionPlotDisplay()
  • Method Details

    • isViewer

      public boolean isViewer()
      Get whether PAMGuard is in viewer mode.
      Returns:
      true if in viewer mode.
    • setDataInfo

      public void setDataInfo(DDDataProvider newDataProviderFX)
      Set the DataInfo for the display.
      Parameters:
      newDataProviderFX - - a DDDataProvider used to create a new DDDataInfo instance.
    • setDataInfo

      public void setDataInfo(DDDataInfo dDDataInfo)
      Set the DataInfo for the display.
      Parameters:
      dDDataInfo - - the DataInfo to set.
    • removeDataInfo

      public void removeDataInfo()
    • getCurrentDataInfo

      public DDDataInfo getCurrentDataInfo()
      Get the current DDDataInfo for the graph.
      Returns:
      the current DDDataInfo. Can be null.
    • newDataUnit

      public void newDataUnit(PamDataUnit newDataUnit)
      Display a new data unit on the graph.
      Parameters:
      the - new data unit to display
    • setupScrollBar

      public void setupScrollBar()
      Setup the scroll bar if the pot changes.
    • setupScrollBar

      public void setupScrollBar(PamDataUnit newDataUnit)
      Setup the scroll bar so that it has the correct limits and datagram for the current data unit.
    • setDataUnit

      public void setDataUnit(PamDataUnit newDataUnit)
      Convenience function. Same as newDataUnit(PamguardMVC.PamDataUnit)
      Parameters:
      the - new data unit to display
    • clearPane

      public void clearPane()
      Clear tyhe plot.
    • drawCurrentUnit

      public void drawCurrentUnit()
      Redraw the current dataunit.
    • setAxisVisible

      public void setAxisVisible(boolean top, boolean right, boolean bottom, boolean left)
      Set which axis are shown on the graph.
      Parameters:
      axis - the axis in order TOP, RIGHT BOTTOM, LEFT. true to show, false to not show. Default is to show. This should not be more thna four elements long
    • getAllAxisPanes

      public PamAxisPane2[] getAllAxisPanes()
      Get a plot pane axis.
      Parameters:
      the - axis side
      Returns:
      the pam axis
    • dataModelToDisplay

      public void dataModelToDisplay()
      Set the data model to represent the parent currently selected in the display. (Only FX GUI)
    • getAxisPane

      public PamAxisPane2 getAxisPane(javafx.geometry.Side side)
      Get an axis pane
      Parameters:
      side - the axis to get.
    • getHidingPane

      public HidingPane getHidingPane(javafx.geometry.Side side)
      Get the hiding pane.
      Parameters:
      side - - the side.
      Returns:
      the hiding pane.
    • newDataBlockAdded

      public void newDataBlockAdded(PamDataBlock dataBlock)
      Called whenever a new datablock is added.
      Parameters:
      dataBlock - - the data blovck to add
    • setMinHidePaneHeight

      public void setMinHidePaneHeight(double minHeight)
      Set the minimum height of the hiding side panes. If the detection plot goes below this height the hiding panes pop out of the display. This ensures all controls are easily accessble to the user.
      Parameters:
      minHeight - the minimum height of the hiding pane.
    • getDataTypePane

      public DDDataPane2 getDataTypePane()
      Get the settings pane which allows changing of axis and data blocks.
      Returns:
      the settings pane for changing axis and data blocks.
    • getPlotPane

      public DDPlotPane getPlotPane()
      Get the plot pane. This is where all the basic nodes such as axis and drawing canvas are held.
      Returns:
      the plot pane.
    • setEnableScrollBar

      public void setEnableScrollBar(boolean enableScrollBarPane)
      Parameters:
      enableSettingsButton -
    • getDetectionPlotProjector

      public DetectionPlotProjector getDetectionPlotProjector()
      Get the projector for the plot. This handles pixel to data conversion and vice versa.
      Returns:
      the projector for the plot.
    • getSettingsHolder

      public PamBorderPane getSettingsHolder()
      The pane which holds settings for the the current plot.
      Returns:
      the pane which holds settings for the current plot.
    • isEnableScrollBar

      public boolean isEnableScrollBar()
      Check whether the time scroll bar is enabled.
      Returns:
      true if the time scroll bar is enabled.