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.MouseMotionListenerPickingGraphMousePlugin 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 intaddToSelectionModifiersadditional modifiers for the action of adding to an existing selectionprotected Eedgethe picked Edge, if anyprotected java.awt.ColorlensColorcolor for the picking rectangleprotected edu.uci.ics.jung.visualization.VisualizationServer.PaintablelensPaintablethe Paintable for the lens picking rectangleprotected booleanlockedcontrols whether the Vertices may be moved with the mouseprotected doubleoffsetxthe x distance from the picked vertex center to the mouse pointprotected doubleoffsetythe y distance from the picked vertex center to the mouse pointprotected java.awt.geom.Rectangle2Drectused to draw a rectangle to contain picked verticesprotected Vvertexthe 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.ColorgetLensColor()booleanisLocked()voidmouseClicked(java.awt.event.MouseEvent e)voidmouseDragged(java.awt.event.MouseEvent e)If the mouse is over a picked vertex, drag all picked vertices with the mouse.voidmouseEntered(java.awt.event.MouseEvent e)voidmouseExited(java.awt.event.MouseEvent e)voidmouseMoved(java.awt.event.MouseEvent e)voidmousePressed(java.awt.event.MouseEvent e)For primary modifiers (default, MouseButton1): pick a single Vertex or Edge that is under the mouse pointer.voidmouseReleased(java.awt.event.MouseEvent e)If the mouse is dragging a rectangle, pick the Vertices contained in that rectangle clean up settings from mousePressedprotected voidpickContainedVertices(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)voidsetLensColor(java.awt.Color lensColor)voidsetLocked(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:
mousePressedin 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:
mouseReleasedin 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:
mouseDraggedin 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:
mouseClickedin interfacejava.awt.event.MouseListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
- Specified by:
mouseEnteredin interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
- Specified by:
mouseExitedin interfacejava.awt.event.MouseListener
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMovedin interfacejava.awt.event.MouseMotionListener
-
isLocked
public boolean isLocked()
- Returns:
- Returns the locked.
-
setLocked
public void setLocked(boolean locked)
- Parameters:
locked- The locked to set.
-
-