Interface GraphDisplay


public interface GraphDisplay
Interface for objects that display (or consume) graphs. Normally, a graph display represents a visual component for displaying and interacting with a graph. Some implementation may not be a visual component, but instead consumes/processes the graph (i.e. graph exporter). In this case, there is no interactive element and once the graph has been set on the display, it is closed.
  • Field Details

    • ALIGN_LEFT

      static final int ALIGN_LEFT
      See Also:
    • ALIGN_CENTER

      static final int ALIGN_CENTER
      See Also:
    • ALIGN_RIGHT

      static final int ALIGN_RIGHT
      See Also:
    • SELECTED_VERTEX_COLOR

      static final String SELECTED_VERTEX_COLOR
      values are color names or rgb in hex '0xFF0000' is red
      See Also:
    • SELECTED_EDGE_COLOR

      static final String SELECTED_EDGE_COLOR
      values are color names or rgb in hex '0xFF0000' is red
      See Also:
    • INITIAL_LAYOUT_ALGORITHM

      static final String INITIAL_LAYOUT_ALGORITHM
      values are defined as String symbols in LayoutFunction class KAMADA_KAWAI,FRUCTERMAN_REINGOLD,CIRCLE_MINCROSS,TIDIER_TREE,TIDIER_RADIAL_TREE, MIN_CROSS_TOP_DOWN,MIN_CROSS_LONGEST_PATH,MIN_CROSS_NETWORK_SIMPLEX,MIN_CROSS_COFFMAN_GRAHAM, EXP_MIN_CROSS_TOP_DOWN,EXP_MIN_CROSS_LONGEST_PATH,EXP_MIN_CROSS_NETWORK_SIMPLEX, EXP_MIN_CROSS_COFFMAN_GRAHAM,TREE,RADIAL,BALLOON,GEM may have no meaning for a different graph visualization library
      See Also:
    • DISPLAY_VERTICES_AS_ICONS

      static final String DISPLAY_VERTICES_AS_ICONS
      true or false may have no meaning for a different graph visualization library
      See Also:
    • VERTEX_LABEL_POSITION

      static final String VERTEX_LABEL_POSITION
      values are the strings N,NE,E,SE,S,SW,W,NW,AUTO,CNTR may have no meaning for a different graph visualization library
      See Also:
    • ENABLE_EDGE_SELECTION

      static final String ENABLE_EDGE_SELECTION
      true or false, whether edge selection via a mouse click is enabled. May not be supported by another graph visualization library
      See Also:
    • EDGE_TYPE_PRIORITY_LIST

      static final String EDGE_TYPE_PRIORITY_LIST
      a comma-separated list of edge type names in priority order
      See Also:
    • FAVORED_EDGES

      static final String FAVORED_EDGES
      a comma-separated list of edge type names. any will be considered a favored edge for the min-cross layout algorithms. May have no meaning with a different graph visualization library
      See Also:
  • Method Details

    • setGraphDisplayListener

      void setGraphDisplayListener(GraphDisplayListener listener)
      Sets a GraphDisplayListener to be notified when the user changes the vertex focus or selects one or more nodes in a graph window
      Parameters:
      listener - the listener to be notified
    • setFocusedVertex

      void setFocusedVertex(AttributedVertex vertex, EventTrigger eventTrigger)
      Tells the graph display window to focus the vertex with the given id
      Parameters:
      vertex - the vertex to focus
      eventTrigger - Provides a hint to the GraphDisplay as to why we are updating the graph location so that the GraphDisplay can decide if it should send out a notification via the GraphDisplayListener.locationFocusChanged(AttributedVertex). For example, if we are updating the the location due to an event from the main application, we don't want to notify the application the graph changed to avoid event cycles. See EventTrigger for more information.
    • getGraph

      AttributedGraph getGraph()
      Returns the graph for this display
      Returns:
      the graph for this display
    • getFocusedVertex

      AttributedVertex getFocusedVertex()
      Returns the currently focused vertex or null if no vertex is focused
      Returns:
      the currently focused vertex or null if no vertex is focused
    • selectVertices

      void selectVertices(Set<AttributedVertex> vertexSet, EventTrigger eventTrigger)
      Tells the graph display window to select the vertices with the given ids
      Parameters:
      vertexSet - the set of vertices to select
      eventTrigger - Provides a hint to the GraphDisplay as to why we are updating the graph location so that the GraphDisplay can decide if it should send out a notification via the GraphDisplayListener.selectionChanged(Set). For example, if we are updating the the location due to an event from the main application, we don't want to notify the application the graph changed to avoid event cycles. See EventTrigger for more information.
    • getSelectedVertices

      Set<AttributedVertex> getSelectedVertices()
      Returns a set of vertex ids for all the currently selected vertices
      Returns:
      a set of vertex ids for all the currently selected vertices
    • close

      void close()
      Closes this graph display window.
    • setGraph

      default void setGraph(AttributedGraph graph, String title, boolean append, TaskMonitor monitor) throws CancelledException
      Deprecated.
      You should now use the form that takes in a GraphDisplayOptions
      Sets the graph to be displayed or consumed by this graph display
      Parameters:
      graph - the graph to display or consume
      title - a title for the graph
      monitor - a TaskMonitor which can be used to cancel the graphing operation
      append - if true, append the new graph to any existing graph
      Throws:
      CancelledException - thrown if the graphing operation was cancelled
    • setGraph

      void setGraph(AttributedGraph graph, GraphDisplayOptions options, String title, boolean append, TaskMonitor monitor) throws CancelledException
      Sets the graph to be displayed or consumed by this graph display
      Parameters:
      graph - the graph to display or consume
      options - GraphDisplayOptions for configuring how the display will render vertices and edges based on there vertex type and edge type respectively.
      title - a title for the graph
      monitor - a TaskMonitor which can be used to cancel the graphing operation
      append - if true, append the new graph to any existing graph
      Throws:
      CancelledException - thrown if the graphing operation was cancelled
    • clear

      void clear()
      Clears all graph vertices and edges from this graph display
    • updateVertexName

      void updateVertexName(AttributedVertex vertex, String newName)
      Updates a vertex to a new name
      Parameters:
      vertex - the vertex to rename
      newName - the new name for the vertex
    • getGraphTitle

      String getGraphTitle()
      Returns the title of the current graph
      Returns:
      the title of the current graph
    • addAction

      void addAction(DockingActionIf action)
      Adds the action to the graph display. Not all GraphDisplays support adding custom actions, so this may have no effect.
      Parameters:
      action - the action to add