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 Link icon

    Properties inherited from class javafx.scene.layout.BorderPane Link icon

    bottom, center, left, right, top

    Properties inherited from class javafx.scene.layout.Region Link icon

    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 Link icon

    needsLayout

    Properties inherited from class javafx.scene.Node Link icon

    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 Link icon

    Fields inherited from class javafx.scene.layout.Region Link icon

    USE_COMPUTED_SIZE, USE_PREF_SIZE

    Fields inherited from class javafx.scene.Node Link icon

    BASELINE_OFFSET_SAME_AS_HEIGHT
  • Constructor Summary Link icon

    Constructors
    Constructor
    Description
    Constructor for the data model.
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    Check the current modules to see if there is a suitable parent for a module to connect to.
    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
     
    protected void
    pamModeltoDataModel(boolean disconnect)
    Check all module connections.

    Methods inherited from class pamViewFX.fxNodes.PamBorderPane Link icon

    setBottomSpace, setLeftSpace, setRightSpace, setTopSpace

    Methods inherited from class javafx.scene.layout.BorderPane Link icon

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

    Methods inherited from class javafx.scene.layout.Pane Link icon

    getChildren

    Methods inherited from class javafx.scene.layout.Region Link icon

    backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, 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, 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 Link icon

    getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds

    Methods inherited from class javafx.scene.Node Link icon

    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 Link icon

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

    Methods inherited from interface javafx.css.Styleable Link icon

    getStyleableNode
  • Constructor Details Link icon

    • DataModelPaneFX Link icon

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

    • createToolbarControls Link icon

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

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

      public void notifyModelChanged(int type)
    • dataModeltoPamModel Link icon

      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.
    • pamModeltoDataModel Link icon

      protected void pamModeltoDataModel(boolean disconnect)
      Check all module connections. This essentially attempts to make the pamDataModel the same as the GUI connections in the data model pane.
      Parameters:
      disconnect - - if true then all module which are not connected have any parent datablock etc. removed. If false then any modules which have parent data blocks and no connection are connected. The later instance is used, for example, when modules with dependencies are added.
    • findConnectionModule Link icon

      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 Link icon

      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 Link icon

      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.
    • attemptDefaultParentConnect Link icon

      protected ModuleConnectionNode attemptDefaultParentConnect(ModuleConnectionNode childNode)
      Check the current modules to see if there is a suitable parent for a module to connect to. If there is connect to that parent. Note: this does not connect socket/plug. Use childNode.connectNode(parentNode) to do that.
      Returns:
      - the parent node to connect to. null if no suitable node.
    • isFXModule Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

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

      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 Link icon

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

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