VASSAL.build.module.map
Class PieceMover.DragHandler

VASSAL.build.module.map.PieceMover.DragHandler
All Implemented Interfaces:
java.awt.dnd.DragGestureListener, java.awt.dnd.DragSourceListener, java.awt.dnd.DropTargetListener, java.util.EventListener
Enclosing class:
PieceMover

public static class PieceMover.DragHandler
implements java.awt.dnd.DragGestureListener, java.awt.dnd.DragSourceListener, java.awt.dnd.DropTargetListener

Implements a psudo-cursor that follows the mouse cursor when user drags gamepieces. Supports map zoom by resizing cursor when it enters a drop target of type Map.View

Version:
0.4.2
Author:
Jim Urbas

Method Summary
 void dragDropEnd(java.awt.dnd.DragSourceDropEvent e)
           
 void dragEnter(java.awt.dnd.DragSourceDragEvent e)
           
 void dragEnter(java.awt.dnd.DropTargetDragEvent event)
          switches current drawWin when mouse enters a new DropTarget
 void dragExit(java.awt.dnd.DragSourceEvent e)
           
 void dragExit(java.awt.dnd.DropTargetEvent event)
          ineffectual.
 void dragGestureRecognized(java.awt.dnd.DragGestureEvent dge)
          Fires after user begins moving the mouse several pixels over a map.
 void dragMouseMoved(java.awt.dnd.DragSourceDragEvent event)
          Moves cursor after mouse
 void dragOver(java.awt.dnd.DragSourceDragEvent e)
           
 void dragOver(java.awt.dnd.DropTargetDragEvent event)
          ineffectual.
 void drop(java.awt.dnd.DropTargetDropEvent event)
          Last event of the drop operation.
 void dropActionChanged(java.awt.dnd.DragSourceDragEvent e)
           
 void dropActionChanged(java.awt.dnd.DropTargetDragEvent event)
          ineffectual.
protected  java.awt.dnd.DropTargetListener getListener(java.awt.dnd.DropTargetEvent event)
           
static PieceMover.DragHandler getTheDragHandler()
          returns the singleton DragHandler instance
static java.awt.dnd.DropTarget makeDropTarget(java.awt.Component theComponent, int dndContants, java.awt.dnd.DropTargetListener dropTargetListener)
          Creates a new DropTarget and hooks us into the beginning of a DropTargetListener chain.
protected  void moveDragCursor(int dragX, int dragY)
          Moves the drag cursor on the current draw window
static void removeDropTarget(java.awt.Component theComponent)
           
 void setDrawWinToOwnerOf(java.awt.Component newDropWin)
          creates or moves cursor object to given window.
 

Method Detail

getTheDragHandler

public static PieceMover.DragHandler getTheDragHandler()
returns the singleton DragHandler instance

makeDropTarget

public static java.awt.dnd.DropTarget makeDropTarget(java.awt.Component theComponent,
                                                     int dndContants,
                                                     java.awt.dnd.DropTargetListener dropTargetListener)
Creates a new DropTarget and hooks us into the beginning of a DropTargetListener chain. DropTarget events are not multicast; there can be only one "true" listener

removeDropTarget

public static void removeDropTarget(java.awt.Component theComponent)

getListener

protected java.awt.dnd.DropTargetListener getListener(java.awt.dnd.DropTargetEvent event)

moveDragCursor

protected void moveDragCursor(int dragX,
                              int dragY)
Moves the drag cursor on the current draw window

setDrawWinToOwnerOf

public void setDrawWinToOwnerOf(java.awt.Component newDropWin)
creates or moves cursor object to given window. Called when drag operation begins in a window or the cursor is dragged over a new drop-target window

dragGestureRecognized

public void dragGestureRecognized(java.awt.dnd.DragGestureEvent dge)
Fires after user begins moving the mouse several pixels over a map.
Specified by:
dragGestureRecognized in interface java.awt.dnd.DragGestureListener

dragDropEnd

public void dragDropEnd(java.awt.dnd.DragSourceDropEvent e)
Specified by:
dragDropEnd in interface java.awt.dnd.DragSourceListener

dragEnter

public void dragEnter(java.awt.dnd.DragSourceDragEvent e)
Specified by:
dragEnter in interface java.awt.dnd.DragSourceListener

dragExit

public void dragExit(java.awt.dnd.DragSourceEvent e)
Specified by:
dragExit in interface java.awt.dnd.DragSourceListener

dragOver

public void dragOver(java.awt.dnd.DragSourceDragEvent e)
Specified by:
dragOver in interface java.awt.dnd.DragSourceListener

dropActionChanged

public void dropActionChanged(java.awt.dnd.DragSourceDragEvent e)
Specified by:
dropActionChanged in interface java.awt.dnd.DragSourceListener

dragMouseMoved

public void dragMouseMoved(java.awt.dnd.DragSourceDragEvent event)
Moves cursor after mouse

dragEnter

public void dragEnter(java.awt.dnd.DropTargetDragEvent event)
switches current drawWin when mouse enters a new DropTarget
Specified by:
dragEnter in interface java.awt.dnd.DropTargetListener

drop

public void drop(java.awt.dnd.DropTargetDropEvent event)
Last event of the drop operation. We adjust the drop point for off-center drag, remove the cursor, and pass the event along listener chain.
Specified by:
drop in interface java.awt.dnd.DropTargetListener

dragExit

public void dragExit(java.awt.dnd.DropTargetEvent event)
ineffectual. Passes event along listener chain
Specified by:
dragExit in interface java.awt.dnd.DropTargetListener

dragOver

public void dragOver(java.awt.dnd.DropTargetDragEvent event)
ineffectual. Passes event along listener chain
Specified by:
dragOver in interface java.awt.dnd.DropTargetListener

dropActionChanged

public void dropActionChanged(java.awt.dnd.DropTargetDragEvent event)
ineffectual. Passes event along listener chain
Specified by:
dropActionChanged in interface java.awt.dnd.DropTargetListener