Package ghidra.graph.viewer.event.mouse
Class JungPickingGraphMousePlugin<V,E>
- java.lang.Object
-
- edu.uci.ics.jung.visualization.control.AbstractGraphMousePlugin
-
- ghidra.graph.viewer.event.mouse.JungPickingGraphMousePlugin<V,E>
-
- Type Parameters:
V
- the vertex typeE
- the edge type
- All Implemented Interfaces:
edu.uci.ics.jung.visualization.control.GraphMousePlugin
,java.awt.event.MouseListener
,java.awt.event.MouseMotionListener
,java.util.EventListener
- Direct Known Subclasses:
VisualGraphPickingGraphMousePlugin
public class JungPickingGraphMousePlugin<V,E> extends edu.uci.ics.jung.visualization.control.AbstractGraphMousePlugin implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener
PickingGraphMousePlugin supports the picking of graph elements with the mouse. MouseButtonOne picks a single vertex or edge, and MouseButtonTwo adds to the set of selected Vertices or EdgeType. If a Vertex is selected and the mouse is dragged while on the selected Vertex, then that Vertex will be repositioned to follow the mouse until the button is released.
-
-
Field Summary
Fields Modifier and Type Field Description protected int
addToSelectionModifiers
additional modifiers for the action of adding to an existing selectionprotected E
edge
the picked Edge, if anyprotected java.awt.Color
lensColor
color for the picking rectangleprotected edu.uci.ics.jung.visualization.VisualizationServer.Paintable
lensPaintable
the Paintable for the lens picking rectangleprotected boolean
locked
controls whether the Vertices may be moved with the mouseprotected double
offsetx
the x distance from the picked vertex center to the mouse pointprotected double
offsety
the y distance from the picked vertex center to the mouse pointprotected java.awt.geom.Rectangle2D
rect
used to draw a rectangle to contain picked verticesprotected V
vertex
the picked Vertex, if any
-
Constructor Summary
Constructors Constructor Description JungPickingGraphMousePlugin()
create an instance with default settingsJungPickingGraphMousePlugin(int selectionModifiers, int addToSelectionModifiers)
create an instance with overrides
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.Color
getLensColor()
boolean
isLocked()
void
mouseClicked(java.awt.event.MouseEvent e)
void
mouseDragged(java.awt.event.MouseEvent e)
If the mouse is over a picked vertex, drag all picked vertices with the mouse.void
mouseEntered(java.awt.event.MouseEvent e)
void
mouseExited(java.awt.event.MouseEvent e)
void
mouseMoved(java.awt.event.MouseEvent e)
void
mousePressed(java.awt.event.MouseEvent e)
For primary modifiers (default, MouseButton1): pick a single Vertex or Edge that is under the mouse pointer.void
mouseReleased(java.awt.event.MouseEvent e)
If the mouse is dragging a rectangle, pick the Vertices contained in that rectangle clean up settings from mousePressedprotected void
pickContainedVertices(edu.uci.ics.jung.visualization.VisualizationViewer<V,E> vv, java.awt.geom.Point2D down, java.awt.geom.Point2D out, boolean clear)
pick the vertices inside the rectangle created from points 'down' and 'out' (two diagonally opposed corners of the rectangle)void
setLensColor(java.awt.Color lensColor)
void
setLocked(boolean locked)
-
-
-
Field Detail
-
vertex
protected V vertex
the picked Vertex, if any
-
edge
protected E edge
the picked Edge, if any
-
offsetx
protected double offsetx
the x distance from the picked vertex center to the mouse point
-
offsety
protected double offsety
the y distance from the picked vertex center to the mouse point
-
locked
protected boolean locked
controls whether the Vertices may be moved with the mouse
-
addToSelectionModifiers
protected int addToSelectionModifiers
additional modifiers for the action of adding to an existing selection
-
rect
protected java.awt.geom.Rectangle2D rect
used to draw a rectangle to contain picked vertices
-
lensPaintable
protected edu.uci.ics.jung.visualization.VisualizationServer.Paintable lensPaintable
the Paintable for the lens picking rectangle
-
lensColor
protected java.awt.Color lensColor
color for the picking rectangle
-
-
Constructor Detail
-
JungPickingGraphMousePlugin
public JungPickingGraphMousePlugin()
create an instance with default settings
-
JungPickingGraphMousePlugin
public JungPickingGraphMousePlugin(int selectionModifiers, int addToSelectionModifiers)
create an instance with overrides- Parameters:
selectionModifiers
- for primary selectionaddToSelectionModifiers
- for additional selection
-
-
Method Detail
-
getLensColor
public java.awt.Color getLensColor()
- Returns:
- Returns the lensColor.
-
setLensColor
public void setLensColor(java.awt.Color lensColor)
- Parameters:
lensColor
- The lensColor to set.
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
For primary modifiers (default, MouseButton1): pick a single Vertex or Edge that is under the mouse pointer. If no Vertex or edge is under the pointer, unselect all picked Vertices and edges, and set up to draw a rectangle for multiple selection of contained Vertices. For additional selection (default Shift+MouseButton1): Add to the selection, a single Vertex or Edge that is under the mouse pointer. If a previously picked Vertex or Edge is under the pointer, it is un-picked. If no vertex or Edge is under the pointer, set up to draw a multiple selection rectangle (as above) but do not unpick previously picked elements.- Specified by:
mousePressed
in interfacejava.awt.event.MouseListener
- Parameters:
e
- the event
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
If the mouse is dragging a rectangle, pick the Vertices contained in that rectangle clean up settings from mousePressed- Specified by:
mouseReleased
in interfacejava.awt.event.MouseListener
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
If the mouse is over a picked vertex, drag all picked vertices with the mouse. If the mouse is not over a Vertex, draw the rectangle to select multiple Vertices- Specified by:
mouseDragged
in interfacejava.awt.event.MouseMotionListener
-
pickContainedVertices
protected void pickContainedVertices(edu.uci.ics.jung.visualization.VisualizationViewer<V,E> vv, java.awt.geom.Point2D down, java.awt.geom.Point2D out, boolean clear)
pick the vertices inside the rectangle created from points 'down' and 'out' (two diagonally opposed corners of the rectangle)- Parameters:
vv
- the viewer containing the layout and picked statedown
- one corner of the rectangleout
- the other corner of the rectangleclear
- whether to reset existing picked state
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)
- Specified by:
mouseClicked
in interfacejava.awt.event.MouseListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
- Specified by:
mouseEntered
in interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
- Specified by:
mouseExited
in interfacejava.awt.event.MouseListener
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMoved
in interfacejava.awt.event.MouseMotionListener
-
isLocked
public boolean isLocked()
- Returns:
- Returns the locked.
-
setLocked
public void setLocked(boolean locked)
- Parameters:
locked
- The locked to set.
-
-