/************************************************************************** * Copyright (c) 2001, 2002, 2003 by Acunia N.V. All rights reserved. * * * * This software is copyrighted by and is the sole property of Acunia N.V. * * and its licensors, if any. All rights, title, ownership, or other * * interests in the software remain the property of Acunia N.V. and its * * licensors, if any. * * * * This software may only be used in accordance with the corresponding * * license agreement. Any unauthorized use, duplication, transmission, * * distribution or disclosure of this software is expressly forbidden. * * * * This Copyright notice may not be removed or modified without prior * * written consent of Acunia N.V. * * * * Acunia N.V. reserves the right to modify this software without notice. * * * * Acunia N.V. * * Philips-site 5, box 3 info@acunia.com * * 3001 Leuven http://www.acunia.com * * Belgium - EUROPE * **************************************************************************/ package java.awt.dnd; import java.awt.*; import java.awt.event.*; public class MouseDragGestureRecognizer extends DragGestureRecognizer implements MouseListener, MouseMotionListener{ private boolean initialiseDrag = false; private boolean entered = false; protected MouseDragGestureRecognizer(DragSource ds, Component c, int act, DragGestureListener dgl){ super(ds,c,act,dgl); } protected MouseDragGestureRecognizer(DragSource ds, Component c, int act){ super(ds,c,act); } protected MouseDragGestureRecognizer(DragSource ds, Component c){ super(ds, c); } protected MouseDragGestureRecognizer(DragSource ds){ super(ds); } protected void registerListeners(){ component.addMouseMotionListener(this); component.addMouseListener(this); } protected void unregisterListeners(){ component.removeMouseMotionListener(this); component.removeMouseListener(this); } public void mouseClicked(MouseEvent e){ } public void mousePressed(MouseEvent e){ if(entered) initialiseDrag = true; } public void mouseReleased(MouseEvent e){ initialiseDrag = false; if(entered) resetRecognizer(); } public void mouseEntered(MouseEvent e){ entered = true; } public void mouseExited(MouseEvent e){ entered = false; } public void mouseDragged(MouseEvent e){ if(initialiseDrag){ initialiseDrag=false; appendEvent(e); fireDragGestureRecognized(getSourceActions(), e.getPoint()); } } public void mouseMoved(MouseEvent e){ } }