Package dataModelFX

Class DataModelPaneFX

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

public class DataModelPaneFX extends PamBorderPane
The data model pane allows users to change PAMGuard's data model.
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
    Constructor for the data model.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Disconnect two modules.
    void
    Add data model specific controls to a PamGuiTab.
    void
    Check module connections.
    void
    Called whenever files are imported into the data model.
    Find the ModuleConnection node in the ConnectionPane which holds a certain PamControlledUnit.
    findConnectionModule(PamControlledUnit pamControlledUnit, ArrayList<ConnectionNode> connectionNodes)
    Find the ModuleConnection node in the ConnectionPane which holds a certain PamControlledUnit.
    Get the connection node factory.
    Get the connection pane in which the nodes are connected.
    Get settings for the data model.
    javafx.beans.property.ObjectProperty<dataModelFX.DataModelModulePane.ModuleRectangle>
    Get the dragging module properties.
    javafx.beans.property.ObjectProperty<DataModelModulePane.StructureRectangle>
    Get the dragging structure.
    Get the module drag key.
    Get the module pane.
    static boolean
    isFXModule(PamModuleInfo pamModuleInfo)
    Check whether a PAM Module has an FX compatible GUI.
    void
     

    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

    • DataModelPaneFX

      public DataModelPaneFX()
      Constructor for the data model.
  • Method Details

    • createToolbarControls

      public void createToolbarControls(PamGuiTabFX pamTab)
      Add data model specific controls to a PamGuiTab.
      Parameters:
      pamTab - - the PamGuiTab to add controls to.
    • filemport

      public void filemport(List<File> files)
      Called whenever files are imported into the data model. e.g. by drag and drop.
    • notifyModelChanged

      public void notifyModelChanged(int type)
    • dataModeltoPamModel

      public void dataModeltoPamModel()
      Check module connections. This functions attempts to make the data model GUI reflect the current pamDataModel. For example use this function if source data is changed in external dialogs.
    • findConnectionModule

      public ModuleConnectionNode findConnectionModule(PamControlledUnit pamControlledUnit)
      Find the ModuleConnection node in the ConnectionPane which holds a certain PamControlledUnit.
      Parameters:
      pamControlledUnit - - the PamControlledUnit to find the ModuleConnectionNode for
      Returns:
      the ModuleConnectionNode associated with the pamControlledUnit. Return null if no unit is found.
    • findConnectionModule

      public ModuleConnectionNode findConnectionModule(PamControlledUnit pamControlledUnit, ArrayList<ConnectionNode> connectionNodes)
      Find the ModuleConnection node in the ConnectionPane which holds a certain PamControlledUnit.
      Parameters:
      pamControlledUnit - - the PamControlledUnit to find the ModuleConnectionNode
      connectionNodes - - the list of nodes to search.
      Returns:
      the ModuleConnectionNode associated with the pamControlledUnit. Return null if no unit is found.
    • attemptModuleDisconnect

      public boolean attemptModuleDisconnect(ModuleConnectionNode childNode, ModuleConnectionNode parentNode)
      Disconnect two modules. To disconnect modules no process in the child node must subscribe to any output data blocks from the parent node. Note: this does not disconnect socket/plug. Use childNode.connectNode(parentNode) to do that.
      Parameters:
      childNode - - the module with connecting socket
      parentNode - - the module with connecting plug
      Returns:
      true if at least one process in the childNode had it's parent set to null.
    • isFXModule

      public static boolean isFXModule(PamModuleInfo pamModuleInfo)
      Check whether a PAM Module has an FX compatible GUI.
      Parameters:
      pamModuleInfo - - the PAMModuleInfo to check for an FX GUI
      Returns:
      true if there is an FX GUI flag.
    • getModuleSelectPane

      public DataModelModulePane getModuleSelectPane()
      Get the module pane. This contains a list of possible modules to add to the data model.
      Returns:
      the data module pane.
    • getModuleDragKey

      public String getModuleDragKey()
      Get the module drag key. Used for drag and drop listeners between module and connection panes.
      Returns:
      the module drag key string.
    • getDraggingModule

      public javafx.beans.property.ObjectProperty<dataModelFX.DataModelModulePane.ModuleRectangle> getDraggingModule()
      Get the dragging module properties. Used for drag and drop listeners between module and connection panes.
      Returns:
      the dragging module properties
    • getDataModelSettings

      public DataModelPaneFXSettings getDataModelSettings()
      Get settings for the data model.
      Returns:
      settings for the data model.
    • getDraggingStructure

      public javafx.beans.property.ObjectProperty<DataModelModulePane.StructureRectangle> getDraggingStructure()
      Get the dragging structure. Used for drag and drop listeners between module and connection panes.
      Returns:
      the dragging structure.
    • getConnectionPane

      public DataModelConnectPane getConnectionPane()
      Get the connection pane in which the nodes are connected.
      Returns:
      the connection pane.
    • getConnectionNodeFactory

      public ConnectionNodeFactory getConnectionNodeFactory()
      Get the connection node factory. This handles creating new connection nodes and structures.
      Returns:
      the connection node factory.