Package VASSAL.build.module.map
Class PieceMover.AbstractDragHandler
java.lang.Object
VASSAL.build.module.map.PieceMover.AbstractDragHandler
- All Implemented Interfaces:
DragGestureListener
,DragSourceListener
,DragSourceMotionListener
,DropTargetListener
,EventListener
- Direct Known Subclasses:
PieceMover.DragHandler
,PieceMover.DragHandlerNoImage
- Enclosing class:
- PieceMover
public abstract static class PieceMover.AbstractDragHandler extends Object implements DragGestureListener, DragSourceListener, DragSourceMotionListener, DropTargetListener
Common functionality for DragHandler for cases with and without
drag image support.
NOTE: DragSource.isDragImageSupported() returns false for j2sdk1.4.2_02 on Windows 2000
- Author:
- Pieter Geerkens
-
Field Summary
Fields Modifier and Type Field Description protected JLabel
dragCursor
protected double
dragCursorZoom
protected double
dragPieceOffCenterZoom
protected Point
lastDragLocation
-
Constructor Summary
Constructors Constructor Description AbstractDragHandler()
-
Method Summary
Modifier and Type Method Description protected void
beginDragging(DragGestureEvent dge)
void
dragDropEnd(DragSourceDropEvent e)
void
dragEnter(DragSourceDragEvent e)
void
dragEnter(DropTargetDragEvent e)
switches current drawWin when mouse enters a new DropTargetvoid
dragExit(DragSourceEvent e)
void
dragExit(DropTargetEvent e)
ineffectual.void
dragGestureRecognized(DragGestureEvent dge)
Fires after user begins moving the mouse several pixels over a map.protected Point
dragGestureRecognizedPrep(DragGestureEvent dge)
abstract void
dragMouseMoved(DragSourceDragEvent e)
Moves cursor after mousevoid
dragOver(DragSourceDragEvent e)
void
dragOver(DropTargetDragEvent e)
ineffectual.void
drop(DropTargetDropEvent e)
Last event of the drop operation.void
dropActionChanged(DragSourceDragEvent e)
void
dropActionChanged(DropTargetDragEvent e)
ineffectual.protected abstract double
getDeviceScale(DragGestureEvent dge)
protected DropTargetListener
getListener(DropTargetEvent e)
protected abstract int
getOffsetMult()
static PieceMover.AbstractDragHandler
getTheDragHandler()
returns the singleton DragHandler instanceprotected void
makeDragCursor(double zoom)
Installs the cursor image into our dragCursor JLabel.static DropTarget
makeDropTarget(Component theComponent, int dndContants, 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 windowprotected void
removeDragCursor()
Removes the drag cursor from the current draw windowstatic void
removeDropTarget(Component theComponent)
void
setDrawWinToOwnerOf(Component newDropWin)
creates or moves cursor object to given window.static void
setTheDragHandler(PieceMover.AbstractDragHandler myHandler)
-
Field Details
-
dragCursor
-
dragPieceOffCenterZoom
protected double dragPieceOffCenterZoom -
dragCursorZoom
protected double dragCursorZoom -
lastDragLocation
-
-
Constructor Details
-
AbstractDragHandler
public AbstractDragHandler()
-
-
Method Details
-
getTheDragHandler
returns the singleton DragHandler instance -
setTheDragHandler
-
getOffsetMult
protected abstract int getOffsetMult() -
getDeviceScale
-
makeDropTarget
public static DropTarget makeDropTarget(Component theComponent, int dndContants, 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
-
getListener
-
moveDragCursor
protected void moveDragCursor(int dragX, int dragY)Moves the drag cursor on the current draw window -
removeDragCursor
protected void removeDragCursor()Removes the drag cursor from the current draw window -
setDrawWinToOwnerOf
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 -
makeDragCursor
protected void makeDragCursor(double zoom)Installs the cursor image into our dragCursor JLabel. Sets current zoom. Should be called at beginning of drag and whenever zoom changes. INPUT: DragBuffer.getBuffer OUTPUT: dragCursorZoom cursorOffCenterX cursorOffCenterY boundingBox- Parameters:
zoom
- DragBuffer.getBuffer
-
dragGestureRecognized
Fires after user begins moving the mouse several pixels over a map.- Specified by:
dragGestureRecognized
in interfaceDragGestureListener
-
dragGestureRecognizedPrep
-
beginDragging
-
dragDropEnd
- Specified by:
dragDropEnd
in interfaceDragSourceListener
-
dragEnter
- Specified by:
dragEnter
in interfaceDragSourceListener
-
dragExit
- Specified by:
dragExit
in interfaceDragSourceListener
-
dragOver
- Specified by:
dragOver
in interfaceDragSourceListener
-
dropActionChanged
- Specified by:
dropActionChanged
in interfaceDragSourceListener
-
dragMouseMoved
Moves cursor after mouse- Specified by:
dragMouseMoved
in interfaceDragSourceMotionListener
-
dragEnter
switches current drawWin when mouse enters a new DropTarget- Specified by:
dragEnter
in interfaceDropTargetListener
-
drop
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 interfaceDropTargetListener
-
dragExit
ineffectual. Passes event along listener chain- Specified by:
dragExit
in interfaceDropTargetListener
-
dragOver
ineffectual. Passes event along listener chain- Specified by:
dragOver
in interfaceDropTargetListener
-
dropActionChanged
ineffectual. Passes event along listener chain- Specified by:
dropActionChanged
in interfaceDropTargetListener
-