JHotDraw 7.4.1

org.jhotdraw.draw.tool
Class DefaultDragTracker

java.lang.Object
  extended by org.jhotdraw.beans.AbstractBean
      extended by org.jhotdraw.draw.tool.AbstractTool
          extended by org.jhotdraw.draw.tool.DefaultDragTracker
All Implemented Interfaces:
java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, DragTracker, Tool

public class DefaultDragTracker
extends AbstractTool
implements DragTracker

DefaultDragTracker implements interactions with the content area of a Figure.

The DefaultDragTracker handles one of the three states of the SelectionTool. It comes into action, when the user presses the mouse button over the content area of a Figure.

Design pattern:
Name: Chain of Responsibility.
Role: Handler.
Partners: SelectionTool as Handler, SelectAreaTracker as Handler, HandleTracker as Handler.

Design pattern:
Name: State.
Role: State.
Partners: SelectAreaTracker as State, SelectionTool as Context, HandleTracker as State.

Version:
$Id: DefaultDragTracker.java -1 $
Author:
Werner Randelshofer
See Also:
SelectionTool, Serialized Form

Field Summary
protected  Figure anchorFigure
           
protected  java.awt.geom.Point2D.Double anchorOrigin
          The anchorOrigin holds the origin of all dragged figures of the mousePressed event.
protected  java.awt.geom.Point2D.Double anchorPoint
          The anchorPoint holds the location of the mouse of the mousePressed event.
protected  java.awt.geom.Rectangle2D.Double dragRect
          The drag rectangle encompasses the bounds of all dragged figures.
protected  java.awt.geom.Point2D.Double previousOrigin
          The previousOrigin holds the origin of all dragged figures of the previous mouseDragged event.
protected  java.awt.geom.Point2D.Double previousPoint
          The previousPoint holds the location of the mouse of the previous mouseDragged event.
 
Fields inherited from class org.jhotdraw.draw.tool.AbstractTool
anchor, editor, isWorking, listenerList
 
Fields inherited from class org.jhotdraw.beans.AbstractBean
propertySupport
 
Constructor Summary
DefaultDragTracker()
           
DefaultDragTracker(Figure figure)
          Creates a new instance.
 
Method Summary
 void mouseDragged(java.awt.event.MouseEvent evt)
           
 void mouseMoved(java.awt.event.MouseEvent evt)
           
 void mousePressed(java.awt.event.MouseEvent evt)
           
 void mouseReleased(java.awt.event.MouseEvent evt)
           
 void setDraggedFigure(Figure f)
           
 
Methods inherited from class org.jhotdraw.draw.tool.AbstractTool
activate, addToolListener, addUndoableEditListener, constrainPoint, constrainPoint, createActionMap, createInputMap, deactivate, draw, editCopy, editCut, editDelete, editDuplicate, editPaste, fireAreaInvalidated, fireAreaInvalidated, fireBoundsInvalidated, fireToolDone, fireToolStarted, getActionMap, getDrawing, getEditor, getInputMap, getToolTipText, getView, isActive, keyPressed, keyReleased, keyTyped, maybeFireBoundsInvalidated, mouseClicked, mouseEntered, mouseExited, removeToolListener, removeUndoableEditListener, setActionMap, setInputMap, supportsHandleInteraction, updateCursor, viewToDrawing
 
Methods inherited from class org.jhotdraw.beans.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, clone, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jhotdraw.draw.tool.Tool
activate, addToolListener, deactivate, draw, editCopy, editCut, editDelete, editDuplicate, editPaste, getToolTipText, removeToolListener, supportsHandleInteraction
 
Methods inherited from interface java.awt.event.MouseListener
mouseClicked, mouseEntered, mouseExited
 
Methods inherited from interface java.awt.event.KeyListener
keyPressed, keyReleased, keyTyped
 

Field Detail

anchorFigure

protected Figure anchorFigure

dragRect

protected java.awt.geom.Rectangle2D.Double dragRect
The drag rectangle encompasses the bounds of all dragged figures.


previousOrigin

protected java.awt.geom.Point2D.Double previousOrigin
The previousOrigin holds the origin of all dragged figures of the previous mouseDragged event. This coordinate is constrained using the Constrainer of the DrawingView.


anchorOrigin

protected java.awt.geom.Point2D.Double anchorOrigin
The anchorOrigin holds the origin of all dragged figures of the mousePressed event.


previousPoint

protected java.awt.geom.Point2D.Double previousPoint
The previousPoint holds the location of the mouse of the previous mouseDragged event. This coordinate is not constrained using the Constrainer of the DrawingView.


anchorPoint

protected java.awt.geom.Point2D.Double anchorPoint
The anchorPoint holds the location of the mouse of the mousePressed event. This coordinate is not constrained using the Constrainer of the DrawingView.

Constructor Detail

DefaultDragTracker

public DefaultDragTracker(Figure figure)
Creates a new instance.


DefaultDragTracker

public DefaultDragTracker()
Method Detail

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent evt)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Overrides:
mouseMoved in class AbstractTool

mousePressed

public void mousePressed(java.awt.event.MouseEvent evt)
Specified by:
mousePressed in interface java.awt.event.MouseListener
Overrides:
mousePressed in class AbstractTool

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent evt)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent evt)
Specified by:
mouseReleased in interface java.awt.event.MouseListener
Overrides:
mouseReleased in class AbstractTool

setDraggedFigure

public void setDraggedFigure(Figure f)
Specified by:
setDraggedFigure in interface DragTracker

Copyright 1996-2010 (c) by the authors and contributors of the JHotDraw project.
Some rights reserved.