Class FxDefaultView
- All Implemented Interfaces:
javafx.css.Styleable
,javafx.event.EventTarget
,org.graphstream.ui.view.View
public class FxDefaultView extends FxViewPanel
This base view is an abstract class that provides mechanism that are necessary in any view :
- the painting and repainting mechanism.
- the optional frame handling.
- the frame closing protocol.
This view also handle a current selection of nodes and sprites.
The painting mechanism
The main method to implement is render(GraphicsContext)
. This method is
called each time the graph needs to be rendered anew in the canvas.
The render(GraphicsContext)
is called only when a repainting is really
needed.
All the painting, by default, is deferred to a GraphRenderer
instance. This mechanism allows developers that do not want to mess with the
viewer/view mechanisms to render a graph in any javafx surface.
The optional frame handling
This abstract view is able to create a frame that is added around this panel (each view is a JPanel instance). The frame can be removed at any time.
The frame closing protocol
This abstract view handles the closing protocol. This means that it will close the view if needed, or only hide it to allow reopening it later. Furthermore it adds the "ui.viewClosed" attribute to the graph when the view is closed or hidden, and removes it when the view is shown. The value of this graph attribute is the identifier of the view.
-
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, 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 Constructor Description FxDefaultView(org.graphstream.ui.view.Viewer viewer, String identifier, org.graphstream.ui.view.GraphRenderer renderer)
-
Method Summary
Modifier and Type Method Description <T, U> void
addListener(T descriptor, U listener)
Collection<org.graphstream.ui.graphicGraph.GraphicElement>
allGraphicElementsIn(EnumSet<org.graphstream.ui.view.util.InteractiveElement> types, double x1, double y1, double x2, double y2)
void
beginSelectionAt(double x1, double y1)
void
close(org.graphstream.ui.graphicGraph.GraphicGraph graph)
void
display(org.graphstream.ui.graphicGraph.GraphicGraph graph, boolean graphChanged)
void
enableMouseOptions()
This is a shortcut to a call setMouseManager with a MouseOverMouseManager instance and with (InteractiveElement.EDGE, InteractiveElement.NODE, InteractiveElement.SPRITE).void
endSelectionAt(double x2, double y2)
org.graphstream.ui.graphicGraph.GraphicElement
findGraphicElementAt(EnumSet<org.graphstream.ui.view.util.InteractiveElement> types, double x, double y)
void
freezeElement(org.graphstream.ui.graphicGraph.GraphicElement element, boolean frozen)
org.graphstream.ui.view.camera.Camera
getCamera()
org.graphstream.ui.view.Viewer
getViewer()
void
moveElementAtPx(org.graphstream.ui.graphicGraph.GraphicElement element, double x, double y)
void
openInAFrame(boolean on)
<T, U> void
removeListener(T descriptor, U listener)
void
render(javafx.scene.canvas.GraphicsContext g)
Object
requireFocus()
void
selectionGrowsAt(double x, double y)
void
setBackLayerRenderer(org.graphstream.ui.view.LayerRenderer<javafx.scene.canvas.GraphicsContext> renderer)
void
setForeLayoutRenderer(org.graphstream.ui.view.LayerRenderer<javafx.scene.canvas.GraphicsContext> renderer)
void
setMouseManager(org.graphstream.ui.view.util.MouseManager manager)
void
setShortcutManager(org.graphstream.ui.view.util.ShortcutManager manager)
Methods inherited from class org.graphstream.ui.fx_viewer.FxViewPanel
getGraphics, getIdView, setAliasing
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, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, 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, 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
-
Constructor Details
-
FxDefaultView
public FxDefaultView(org.graphstream.ui.view.Viewer viewer, String identifier, org.graphstream.ui.view.GraphRenderer renderer)
-
-
Method Details
-
getCamera
public org.graphstream.ui.view.camera.Camera getCamera() -
display
public void display(org.graphstream.ui.graphicGraph.GraphicGraph graph, boolean graphChanged) -
close
public void close(org.graphstream.ui.graphicGraph.GraphicGraph graph) -
openInAFrame
public void openInAFrame(boolean on) -
render
public void render(javafx.scene.canvas.GraphicsContext g) -
beginSelectionAt
public void beginSelectionAt(double x1, double y1) -
selectionGrowsAt
public void selectionGrowsAt(double x, double y) -
endSelectionAt
public void endSelectionAt(double x2, double y2) -
allGraphicElementsIn
public Collection<org.graphstream.ui.graphicGraph.GraphicElement> allGraphicElementsIn(EnumSet<org.graphstream.ui.view.util.InteractiveElement> types, double x1, double y1, double x2, double y2) -
findGraphicElementAt
public org.graphstream.ui.graphicGraph.GraphicElement findGraphicElementAt(EnumSet<org.graphstream.ui.view.util.InteractiveElement> types, double x, double y) -
moveElementAtPx
public void moveElementAtPx(org.graphstream.ui.graphicGraph.GraphicElement element, double x, double y) -
freezeElement
public void freezeElement(org.graphstream.ui.graphicGraph.GraphicElement element, boolean frozen) -
setBackLayerRenderer
public void setBackLayerRenderer(org.graphstream.ui.view.LayerRenderer<javafx.scene.canvas.GraphicsContext> renderer) -
setForeLayoutRenderer
public void setForeLayoutRenderer(org.graphstream.ui.view.LayerRenderer<javafx.scene.canvas.GraphicsContext> renderer) -
setMouseManager
public void setMouseManager(org.graphstream.ui.view.util.MouseManager manager) -
enableMouseOptions
public void enableMouseOptions()This is a shortcut to a call setMouseManager with a MouseOverMouseManager instance and with (InteractiveElement.EDGE, InteractiveElement.NODE, InteractiveElement.SPRITE).- Specified by:
enableMouseOptions
in interfaceorg.graphstream.ui.view.View
- Specified by:
enableMouseOptions
in classFxViewPanel
-
setShortcutManager
public void setShortcutManager(org.graphstream.ui.view.util.ShortcutManager manager) -
getViewer
public org.graphstream.ui.view.Viewer getViewer()- Specified by:
getViewer
in classFxViewPanel
-
requireFocus
-
addListener
public <T, U> void addListener(T descriptor, U listener) -
removeListener
public <T, U> void removeListener(T descriptor, U listener)
-