CH.ifa.draw.framework
Interface Tool

All Known Implementing Classes:
AbstractTool, ActionTool, BorderTool, ConnectedTextTool, ConnectionTool, CreationTool, CustomSelectionTool, DragTracker, HandleTracker, MySelectionTool, PertFigureCreationTool, PolygonTool, ScribbleTool, SelectAreaTracker, SelectionTool, TextTool, URLTool

public interface Tool

A tool defines a mode of the drawing view. All input events targeted to the drawing view are forwarded to its current tool.

Tools inform their editor when they are done with an interaction by calling the editor's toolDone() method. The Tools are created once and reused. They are initialized/deinitialized with activate()/deactivate().


Design Patterns

 o State
Tool plays the role of the State. In encapsulates all state specific behavior. DrawingView plays the role of the StateContext.

See Also:
DrawingView

Method Summary
 void activate()
          Activates the tool for the given view.
 void deactivate()
          Deactivates the tool.
 void keyDown(java.awt.event.KeyEvent evt, int key)
          Handles key down events in the drawing view.
 void mouseDown(java.awt.event.MouseEvent e, int x, int y)
          Handles mouse down events in the drawing view.
 void mouseDrag(java.awt.event.MouseEvent e, int x, int y)
          Handles mouse drag events in the drawing view.
 void mouseMove(java.awt.event.MouseEvent evt, int x, int y)
          Handles mouse moves (if the mouse button is up).
 void mouseUp(java.awt.event.MouseEvent e, int x, int y)
          Handles mouse up in the drawing view.
 

Method Detail

activate

void activate()
Activates the tool for the given view. This method is called whenever the user switches to this tool. Use this method to reinitialize a tool.


deactivate

void deactivate()
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.


mouseDown

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


mouseDrag

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


mouseUp

void mouseUp(java.awt.event.MouseEvent e,
             int x,
             int y)
Handles mouse up in the drawing view.


mouseMove

void mouseMove(java.awt.event.MouseEvent evt,
               int x,
               int y)
Handles mouse moves (if the mouse button is up).


keyDown

void keyDown(java.awt.event.KeyEvent evt,
             int key)
Handles key down events in the drawing view.