JHotDraw 7.5.1

org.jhotdraw.draw.tool
Class DnDTracker

java.lang.Object
  extended by org.jhotdraw.beans.AbstractBean
      extended by org.jhotdraw.draw.tool.AbstractTool
          extended by org.jhotdraw.draw.tool.DnDTracker
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 DnDTracker
extends AbstractTool
implements DragTracker

This is a tracker which supports drag and drop of figures between drawing views and any other component or application which support drag and drop.

DnDTracker can be used stand-alone or instead of DragTracker in the SelectionTool or the DelegationSelectionTool.

To get a drag image using drag and drop, the drawing needs to provide an image output format.

Drag and Drop is about information moving, not images or objects. Its about moving a figure to another application and that application understanding both its shape, color, attributes, and everything about it - not necessarily how it looks.

Version:
$Id: DnDTracker.java -1 $
Author:
Werner Randelshofer
See Also:
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
DnDTracker()
           
DnDTracker(Figure figure)
           
 
Method Summary
 void mouseDragged(java.awt.event.MouseEvent e)
           
 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

DnDTracker

public DnDTracker()

DnDTracker

public DnDTracker(Figure figure)
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 e)
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.