Package ghidra.graph.job
Class AbstractGraphVisibilityTransitionJob<V extends VisualVertex,E extends VisualEdge<V>>
- java.lang.Object
-
- ghidra.graph.job.AbstractAnimatorJob
-
- ghidra.graph.job.AbstractGraphVisibilityTransitionJob<V,E>
-
- Type Parameters:
V
- the vertex typeE
- the edge type
- All Implemented Interfaces:
GraphJob
- Direct Known Subclasses:
AbstractGraphTransitionJob
,FilterVerticesJob
public abstract class AbstractGraphVisibilityTransitionJob<V extends VisualVertex,E extends VisualEdge<V>> extends AbstractAnimatorJob
A job that provides an animator and callbacks for transitioning the visibility of graph vertices. The opacity value will change from 0 to 1 over the course of the job. Subclasses can decide how to use the opacity value as it changes. For example, a subclass can fade in or out the vertices provided to the job.
-
-
Field Summary
Fields Modifier and Type Field Description protected int
duration
protected static int
FAST_DURATION
protected VisualGraph<V,E>
graph
protected static int
NORMAL_DURATION
protected boolean
useAnimation
protected GraphViewer<V,E>
viewer
-
Fields inherited from class ghidra.graph.job.AbstractAnimatorJob
animator, isShortcut, log, TOO_BIG_TO_ANIMATE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractGraphVisibilityTransitionJob(GraphViewer<V,E> viewer, boolean useAnimation)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.jdesktop.animation.timing.Animator
createAnimator()
protected void
finished()
A callback given when this animator has run to completion.protected java.util.Set<E>
getEdges(java.util.Collection<V> vertices)
protected java.util.Collection<E>
getEdges(V vertex)
protected boolean
isTooBigToAnimate()
Returns true if the graph is too large for animation (usually due to performance issues).void
setPercentComplete(double percentComplete)
Callback from our animator.protected void
updateOpacity(double percentComplete)
-
Methods inherited from class ghidra.graph.job.AbstractAnimatorJob
canShortcut, dispose, execute, isFinished, setBusyListener, shortcut, stop, toString, trace
-
-
-
-
Field Detail
-
NORMAL_DURATION
protected static final int NORMAL_DURATION
- See Also:
- Constant Field Values
-
FAST_DURATION
protected static final int FAST_DURATION
- See Also:
- Constant Field Values
-
duration
protected int duration
-
viewer
protected final GraphViewer<V extends VisualVertex,E extends VisualEdge<V>> viewer
-
graph
protected final VisualGraph<V extends VisualVertex,E extends VisualEdge<V>> graph
-
useAnimation
protected boolean useAnimation
-
-
Constructor Detail
-
AbstractGraphVisibilityTransitionJob
protected AbstractGraphVisibilityTransitionJob(GraphViewer<V,E> viewer, boolean useAnimation)
-
-
Method Detail
-
isTooBigToAnimate
protected boolean isTooBigToAnimate()
Returns true if the graph is too large for animation (usually due to performance issues).- Returns:
- true if the graph is too large for animation
-
setPercentComplete
public void setPercentComplete(double percentComplete)
Callback from our animator.
-
createAnimator
protected org.jdesktop.animation.timing.Animator createAnimator()
- Specified by:
createAnimator
in classAbstractAnimatorJob
-
finished
protected void finished()
Description copied from class:AbstractAnimatorJob
A callback given when this animator has run to completion. This will be called whether the animator is stopped prematurely or ends naturally.- Specified by:
finished
in classAbstractAnimatorJob
-
updateOpacity
protected void updateOpacity(double percentComplete)
-
-