org.jhotdraw.standard
Class ConnectionTool

java.lang.Object
  extended by org.jhotdraw.standard.AbstractTool
      extended by org.jhotdraw.standard.ConnectionTool
All Implemented Interfaces:
Tool
Direct Known Subclasses:
SplitConnectionTool

public class ConnectionTool
extends AbstractTool

A tool that can be used to connect figures, to split connections, and to join two segments of a connection. ConnectionTools turns the visibility of the Connectors on when it enters a figure. The connection object to be created is specified by a prototype.


Design Patterns

 o Prototype
ConnectionTools creates the connection by cloning a prototype.


Version:
<$CURRENT_VERSION$>
See Also:
ConnectionFigure, Object.clone()

Nested Class Summary
static class ConnectionTool.UndoActivity
           
 
Nested classes/interfaces inherited from class org.jhotdraw.standard.AbstractTool
AbstractTool.EventDispatcher
 
Constructor Summary
ConnectionTool(DrawingEditor newDrawingEditor, ConnectionFigure newPrototype)
           
 
Method Summary
 void deactivate()
          Deactivates the tool.
 void mouseDown(java.awt.event.MouseEvent e, int x, int y)
          Manipulates connections in a context dependent way.
 void mouseDrag(java.awt.event.MouseEvent e, int x, int y)
          Adjust the created connection or split segment.
 void mouseMove(java.awt.event.MouseEvent e, int x, int y)
          Handles mouse move events in the drawing view.
 void mouseUp(java.awt.event.MouseEvent e, int x, int y)
          Connects the figures if the mouse is released over another figure.
 
Methods inherited from class org.jhotdraw.standard.AbstractTool
activate, addToolListener, drawing, editor, getActiveDrawing, getActiveView, getUndoActivity, isActive, isEnabled, isUsable, keyDown, removeToolListener, setEnabled, setUndoActivity, setUsable, view
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConnectionTool

public ConnectionTool(DrawingEditor newDrawingEditor,
                      ConnectionFigure newPrototype)
Method Detail

mouseMove

public void mouseMove(java.awt.event.MouseEvent e,
                      int x,
                      int y)
Handles mouse move events in the drawing view.

Specified by:
mouseMove in interface Tool
Overrides:
mouseMove in class AbstractTool

mouseDown

public void mouseDown(java.awt.event.MouseEvent e,
                      int x,
                      int y)
Manipulates connections in a context dependent way. If the mouse down hits a figure start a new connection. If the mousedown hits a connection split a segment or join two segments.

Specified by:
mouseDown in interface Tool
Overrides:
mouseDown in class AbstractTool

mouseDrag

public void mouseDrag(java.awt.event.MouseEvent e,
                      int x,
                      int y)
Adjust the created connection or split segment.

Specified by:
mouseDrag in interface Tool
Overrides:
mouseDrag in class AbstractTool

mouseUp

public void mouseUp(java.awt.event.MouseEvent e,
                    int x,
                    int y)
Connects the figures if the mouse is released over another figure.

Specified by:
mouseUp in interface Tool
Overrides:
mouseUp in class AbstractTool

deactivate

public void deactivate()
Description copied from class: AbstractTool
Deactivates the tool. This method is called whenever the user switches to another tool. Use this method to do some clean-up when the tool is switched. Subclassers should always call super.deactivate. An inactive tool should never be deactivated

Specified by:
deactivate in interface Tool
Overrides:
deactivate in class AbstractTool