Class EditingGraphMousePlugin<V,E>
java.lang.Object
edu.uci.ics.jung.visualization.control.AbstractGraphMousePlugin
edu.uci.ics.jung.visualization.control.EditingGraphMousePlugin<V,E>
- All Implemented Interfaces:
GraphMousePlugin, MouseListener, MouseMotionListener, EventListener
public class EditingGraphMousePlugin<V,E>
extends AbstractGraphMousePlugin
implements MouseListener, MouseMotionListener
A plugin that can create vertices, undirected edges, and directed edges
using mouse gestures.
vertexSupport and edgeSupport member classes are responsible for actually
creating the new graph elements, and for repainting the view when changes
were made.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate EditingGraphMousePlugin.Creatingprotected EdgeSupport<V, E> protected VertexSupport<V, E> Fields inherited from class AbstractGraphMousePlugin
cursor, down, modifiers -
Constructor Summary
ConstructorsConstructorDescriptionEditingGraphMousePlugin(int modifiers, com.google.common.base.Supplier<V> vertexFactory, com.google.common.base.Supplier<E> edgeFactory) Creates an instance and prepares shapes for visual effects.EditingGraphMousePlugin(com.google.common.base.Supplier<V> vertexFactory, com.google.common.base.Supplier<E> edgeFactory) Creates an instance and prepares shapes for visual effects, using the default modifiers of BUTTON1_MASK. -
Method Summary
Modifier and TypeMethodDescriptionbooleanOverridden to be more flexible, and pass events with key combinations.voidvoidIf startVertex is non-null, stretch an edge shape between startVertex and the mouse pointer to simulate edge creationvoidvoidvoidvoidIf the mouse is pressed in an empty area, create a new vertex there.voidIf startVertex is non-null, and the mouse is released over an existing vertex, create an undirected edge from startVertex to the vertex under the mouse pointer.voidsetEdgeSupport(EdgeSupport<V, E> edgeSupport) voidsetVertexSupport(VertexSupport<V, E> vertexSupport) Methods inherited from class AbstractGraphMousePlugin
getCursor, getModifiers, setCursor, setModifiers
-
Field Details
-
vertexSupport
-
edgeSupport
-
createMode
-
-
Constructor Details
-
EditingGraphMousePlugin
public EditingGraphMousePlugin(com.google.common.base.Supplier<V> vertexFactory, com.google.common.base.Supplier<E> edgeFactory) Creates an instance and prepares shapes for visual effects, using the default modifiers of BUTTON1_MASK.- Parameters:
vertexFactory- for creating verticesedgeFactory- for creating edges
-
EditingGraphMousePlugin
public EditingGraphMousePlugin(int modifiers, com.google.common.base.Supplier<V> vertexFactory, com.google.common.base.Supplier<E> edgeFactory) Creates an instance and prepares shapes for visual effects.- Parameters:
modifiers- the mouse event modifiers to usevertexFactory- for creating verticesedgeFactory- for creating edges
-
-
Method Details
-
checkModifiers
Overridden to be more flexible, and pass events with key combinations. The default responds to both ButtonOne and ButtonOne+Shift- Specified by:
checkModifiersin interfaceGraphMousePlugin- Overrides:
checkModifiersin classAbstractGraphMousePlugin- Parameters:
e- an event to compare to- Returns:
- whether the member modifiers match the event modifiers
-
mousePressed
If the mouse is pressed in an empty area, create a new vertex there. If the mouse is pressed on an existing vertex, prepare to create an edge from that vertex to another- Specified by:
mousePressedin interfaceMouseListener
-
mouseReleased
If startVertex is non-null, and the mouse is released over an existing vertex, create an undirected edge from startVertex to the vertex under the mouse pointer. If shift was also pressed, create a directed edge instead.- Specified by:
mouseReleasedin interfaceMouseListener
-
mouseDragged
If startVertex is non-null, stretch an edge shape between startVertex and the mouse pointer to simulate edge creation- Specified by:
mouseDraggedin interfaceMouseMotionListener
-
mouseClicked
- Specified by:
mouseClickedin interfaceMouseListener
-
mouseEntered
- Specified by:
mouseEnteredin interfaceMouseListener
-
mouseExited
- Specified by:
mouseExitedin interfaceMouseListener
-
mouseMoved
- Specified by:
mouseMovedin interfaceMouseMotionListener
-
getVertexSupport
-
setVertexSupport
-
getEdgeSupport
-
setEdgeSupport
-