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
The data model pane allows users to change PAMGuard's data model.
- Author:
- Jamie Macaulay
-
Property Summary
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.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
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ModuleConnectionNode
attemptDefaultParentConnect
(ModuleConnectionNode childNode) Check the current modules to see if there is a suitable parent for a module to connect to.boolean
attemptModuleDisconnect
(ModuleConnectionNode childNode, ModuleConnectionNode parentNode) Disconnect two modules.void
createToolbarControls
(PamGuiTabFX pamTab) Add data model specific controls to a PamGuiTab.void
Check module connections.void
Called whenever files are imported into the data model.findConnectionModule
(PamControlledUnit pamControlledUnit) 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
notifyModelChanged
(int type) protected void
pamModeltoDataModel
(boolean disconnect) Check all module connections.Methods inherited from class pamViewFX.fxNodes.PamBorderPane
setBottomSpace, setLeftSpace, setRightSpace, setTopSpace
Methods inherited from class javafx.scene.layout.BorderPane
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.Region
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
getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, 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, 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
-
Constructor Details
-
Method Details
-
createToolbarControls
Add data model specific controls to a PamGuiTab.- Parameters:
pamTab
- - the PamGuiTab to add controls to.
-
filemport
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. -
pamModeltoDataModel
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
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 ModuleConnectionNodeconnectionNodes
- - 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 socketparentNode
- - the module with connecting plug- Returns:
- true if at least one process in the childNode had it's parent set to null.
-
attemptDefaultParentConnect
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
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
Get the module pane. This contains a list of possible modules to add to the data model.- Returns:
- the data module pane.
-
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
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
Get the connection pane in which the nodes are connected.- Returns:
- the connection pane.
-
getConnectionNodeFactory
Get the connection node factory. This handles creating new connection nodes and structures.- Returns:
- the connection node factory.
-