Class FxDefaultView

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.layout.Pane
org.graphstream.ui.fx_viewer.FxViewPanel
org.graphstream.ui.fx_viewer.FxDefaultView
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, org.graphstream.ui.view.View

public class FxDefaultView
extends FxViewPanel
Base for constructing views.

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.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, 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
    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.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, 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

    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

    • 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 interface org.graphstream.ui.view.View
      Specified by:
      enableMouseOptions in class FxViewPanel
    • setShortcutManager

      public void setShortcutManager​(org.graphstream.ui.view.util.ShortcutManager manager)
    • getViewer

      public org.graphstream.ui.view.Viewer getViewer()
      Specified by:
      getViewer in class FxViewPanel
    • requireFocus

      public Object requireFocus()
    • addListener

      public <T,​ U> void addListener​(T descriptor, U listener)
    • removeListener

      public <T,​ U> void removeListener​(T descriptor, U listener)