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.
    • Method Detail

      • 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​(java.util.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

        java.util.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.
      • defineVertexAttribute

        void defineVertexAttribute​(java.lang.String name)
        Defines a vertex attribute type for this graph window
        Parameters:
        name - the name of the attribute which may be attached to vertices.
      • defineEdgeAttribute

        void defineEdgeAttribute​(java.lang.String name)
        Defines an edge attribute type for this graph window
        Parameters:
        name - the name of the attribute which may be attached to edges.
      • setVertexLabel

        void setVertexLabel​(java.lang.String attributeName,
                            int alignment,
                            int size,
                            boolean monospace,
                            int maxLines)
        Sets the name of the attribute which should be used as the primary vertex label in the display.
        Parameters:
        attributeName - the name of the attribute to use as the display label for vertices.
        alignment - (ALIGN_LEFT, ALIGN_RIGHT, or ALIGN_CENTER)
        size - the font size to use for the display label
        monospace - true if the font should be monospaced
        maxLines - the maximum number lines to display in the vertex labels
      • setGraph

        void setGraph​(AttributedGraph graph,
                      java.lang.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
        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,
                              java.lang.String newName)
        Updates a vertex to a new name
        Parameters:
        vertex - the vertex to rename
        newName - the new name for the vertex
      • getGraphTitle

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

        void addAction​(DockingAction 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.