CH.ifa.draw.standard
Class SelectionTool

java.lang.Object
  extended by CH.ifa.draw.standard.AbstractTool
      extended by CH.ifa.draw.standard.SelectionTool
All Implemented Interfaces:
Tool
Direct Known Subclasses:
CustomSelectionTool, MySelectionTool

public class SelectionTool
extends AbstractTool

Tool to select and manipulate figures. A selection tool is in one of three states, e.g., background selection, figure selection, handle manipulation. The different states are handled by different child tools.


Design Patterns

 o State
SelectionTool is the StateContext and child is the State. The SelectionTool delegates state specific behavior to its current child tool.



Field Summary
 
Fields inherited from class CH.ifa.draw.standard.AbstractTool
fAnchorX, fAnchorY, fView
 
Constructor Summary
SelectionTool(DrawingView view)
           
 
Method Summary
protected  Tool createAreaTracker(DrawingView view)
          Factory method to create an area tracker.
protected  Tool createDragTracker(DrawingView view, Figure f)
          Factory method to create a Drag tracker.
protected  Tool createHandleTracker(DrawingView view, Handle handle)
          Factory method to create a Handle tracker.
 void mouseDown(java.awt.event.MouseEvent e, int x, int y)
          Handles mouse down events and starts the corresponding tracker.
 void mouseDrag(java.awt.event.MouseEvent e, int x, int y)
          Handles mouse drag events.
 void mouseUp(java.awt.event.MouseEvent e, int x, int y)
          Handles mouse up events.
 
Methods inherited from class CH.ifa.draw.standard.AbstractTool
activate, deactivate, drawing, editor, keyDown, mouseMove, view
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectionTool

public SelectionTool(DrawingView view)
Method Detail

mouseDown

public void mouseDown(java.awt.event.MouseEvent e,
                      int x,
                      int y)
Handles mouse down events and starts the corresponding tracker.

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

mouseDrag

public void mouseDrag(java.awt.event.MouseEvent e,
                      int x,
                      int y)
Handles mouse drag events. The events are forwarded to the current tracker.

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

mouseUp

public void mouseUp(java.awt.event.MouseEvent e,
                    int x,
                    int y)
Handles mouse up events. The events are forwarded to the current tracker.

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

createHandleTracker

protected Tool createHandleTracker(DrawingView view,
                                   Handle handle)
Factory method to create a Handle tracker. It is used to track a handle.


createDragTracker

protected Tool createDragTracker(DrawingView view,
                                 Figure f)
Factory method to create a Drag tracker. It is used to drag a figure.


createAreaTracker

protected Tool createAreaTracker(DrawingView view)
Factory method to create an area tracker. It is used to select an area.