org.grinvin.gred.mouse

Class AddEdges


public class AddEdges
extends NullMouseHandler

Mouse handler for adding edges. Consumes all first button click events which were initiated on a vertex.

Method Summary

@Override
boolean canHandle(JComponent parent)
This mouse handler needs a GraphPanel as parent which is backed by a (mutable) Graph.
static AddEdges
getHandler()
Return the singleton object of this type.
@Override
void doMouseClicked(JComponent parent, MouseEvent mouseEvent)
Do nothing when clicked, but consume event.
@Override
void doMouseDragged(JComponent parent, MouseEvent mouseEvent, MouseEvent previousEvent, MouseEvent pressedEvent)
Repaint the 'ghost' line.
@Override
void doMousePressed(JComponent parent, MouseEvent mouseEvent)
Register the vertex clicked as the current 'anchor' vertex.
@Override
void doMouseReleased(JComponent parent, MouseEvent mouseEvent, MouseEvent pressedEvent)
When released on a vertex, join this vertex to the anchor vertex, unless such an edge already exists.
@Override
void paintDragging(JComponent parent, Graphics g, MouseEvent mouseEvent, MouseEvent previousEvent, MouseEvent pressedEvent)
Paints the rubber band line.

Method Details

boolean canHandle

public @Override boolean canHandle(JComponent parent)
This mouse handler needs a GraphPanel as parent which is backed by a (mutable) Graph.

getHandler

public static AddEdges getHandler()
Return the singleton object of this type.

void doMouseClicked

public @Override void doMouseClicked(JComponent parent,
                                     MouseEvent mouseEvent)
Do nothing when clicked, but consume event.

void doMouseDragged

public @Override void doMouseDragged(JComponent parent,
                                     MouseEvent mouseEvent,
                                     MouseEvent previousEvent,
                                     MouseEvent pressedEvent)
Repaint the 'ghost' line.

void doMousePressed

public @Override void doMousePressed(JComponent parent,
                                     MouseEvent mouseEvent)
Register the vertex clicked as the current 'anchor' vertex.

void doMouseReleased

public @Override void doMouseReleased(JComponent parent,
                                      MouseEvent mouseEvent,
                                      MouseEvent pressedEvent)
When released on a vertex, join this vertex to the anchor vertex, unless such an edge already exists. If the panel is of type MutableGraphPanel then releasing the mouse on an edge will break that edge, and releasing it on the background will create a new vertex.

void paintDragging

public @Override void paintDragging(JComponent parent,
                                    Graphics g,
                                    MouseEvent mouseEvent,
                                    MouseEvent previousEvent,
                                    MouseEvent pressedEvent)
Paints the rubber band line.