Class VisualGraphViewUpdater<V extends VisualVertex,E extends VisualEdge<V>>

java.lang.Object
ghidra.graph.viewer.VisualGraphViewUpdater<V,E>
Type Parameters:
V - the vertex type
E - the edge type

public class VisualGraphViewUpdater<V extends VisualVertex,E extends VisualEdge<V>> extends Object
This is the class through which operations travel that manipulate the view and graph while plugged-in to the UI. (Setup and tear down operations performed before the view or graph are visible need not pass through this class.) This class is responsible for controlling how to display view and graph changes, including whether to animate.

The animations are categorized into those that mutate the graph and those that are just display animations (like hover animations).

  • Constructor Details

  • Method Details

    • setSatelliteViewer

      protected void setSatelliteViewer(SatelliteGraphViewer<V,E> satelliteViewer)
    • addJobScheduledListener

      public void addJobScheduledListener(Callback c)
      Add a listener to be notified when a job is started. Jobs often, but not always, mutate the underlying graph. For this reason, other tasks that use the graph may want to not do their work while a job is running.
      Parameters:
      c - the listener
    • isAnimationEnabled

      public boolean isAnimationEnabled()
    • dispose

      public void dispose()
    • fitAllGraphsToViewsNow

      public void fitAllGraphsToViewsNow()
      Fits the graph into both the primary and satellite views
    • fitGraphToViewerNow

      public void fitGraphToViewerNow()
    • fitGraphToViewerNow

      public void fitGraphToViewerNow(edu.uci.ics.jung.visualization.VisualizationServer<V,E> theViewer)
    • fitGraphToViewerLater

      public void fitGraphToViewerLater()
      Will schedule the fitting work to happen now if now work is being done, or later otherwis
    • fitGraphToViewerLater

      public void fitGraphToViewerLater(edu.uci.ics.jung.visualization.VisualizationServer<V,E> theViewer)
    • zoomInCompletely

      public void zoomInCompletely()
    • zoomInCompletely

      public void zoomInCompletely(V centerOnVertex)
    • moveVertexToCenterTopWithoutAnimation

      public void moveVertexToCenterTopWithoutAnimation(V vertex)
    • moveVertexToCenterWithoutAnimation

      public void moveVertexToCenterWithoutAnimation(V vertex)
    • moveVertexToCenterWithAnimation

      public void moveVertexToCenterWithAnimation(V vertex)
    • moveVertexToCenterWithAnimation

      public void moveVertexToCenterWithAnimation(V vertex, BusyListener callbackListener)
    • moveVertexToCenterTopWithAnimation

      public void moveVertexToCenterTopWithAnimation(V vertex)
    • moveVertexToCenterTopWithAnimation

      public void moveVertexToCenterTopWithAnimation(V vertex, BusyListener callbackListener)
    • moveViewerLocationWithoutAnimation

      public void moveViewerLocationWithoutAnimation(Point translation)
    • centerViewSpacePointWithAnimation

      public void centerViewSpacePointWithAnimation(Point point)
    • centerViewSpacePointWithoutAnimation

      public void centerViewSpacePointWithoutAnimation(Point point)
    • centerLayoutSpacePointWithoutAnimation

      public void centerLayoutSpacePointWithoutAnimation(Point point)
    • setLayoutSpacePointWithoutAnimation

      public void setLayoutSpacePointWithoutAnimation(Point2D point)
    • setLayoutSpacePointWithAnimation

      public void setLayoutSpacePointWithAnimation(Point point)
    • ensureVertexVisible

      public void ensureVertexVisible(V vertex, Rectangle area)
    • ensureVertexAreaVisible

      public void ensureVertexAreaVisible(V vertex, Rectangle area, BusyListener callbackListener)
    • updateEdgeShapes

      public void updateEdgeShapes(Collection<E> edges)
    • setGraphPerspective

      public void setGraphPerspective(GraphPerspectiveInfo<V,E> graphInfo)
    • twinkeVertex

      public void twinkeVertex(V vertex)
    • setGraphScale

      public void setGraphScale(double scale)
    • animateEdgeHover

      public void animateEdgeHover()
    • isBusy

      public boolean isBusy()
      Returns true if this updater is performing any animations or running any jobs that can mutate the graph or view
      Returns:
      true if busy
    • isMutatingGraph

      public boolean isMutatingGraph()
      Returns true if this updater is running any jobs that can mutate the graph or view
      Returns:
      true if busy
    • scheduleViewChangeJob

      public void scheduleViewChangeJob(GraphJob job)
    • stopEdgeHoverAnimation

      public void stopEdgeHoverAnimation()
    • stopAllAnimation

      public void stopAllAnimation()
    • stopAllNonMutativeAnimation

      protected void stopAllNonMutativeAnimation()