/**************************************************************************
* 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.datatransfer.*;
public class DropTargetDropEvent extends DropTargetEvent{
private Point location;
private int dropAction;
private int actions;
private boolean isLocalTx;
private static int[] constants = {DnDConstants.ACTION_COPY, DnDConstants.ACTION_MOVE, DnDConstants.ACTION_COPY_OR_MOVE, DnDConstants.ACTION_LINK};
public DropTargetDropEvent(DropTargetContext dtc, Point cursorLocn,
int dropAction, int srcActions){
super(dtc);
if(cursorLocn==null) throw new NullPointerException();
boolean legaldtc = false;
boolean legalDropAction = false;
boolean legalSourceAction = false;
if(dtc != null) legaldtc = true;
for(int i = 0; i < constants.length; i++){
if(dropAction == constants[i]) legalDropAction = true;
if(srcActions == constants[i]) legalSourceAction = true;
}
if(!(legaldtc && legalDropAction && legalSourceAction)) throw new IllegalArgumentException();
this.location = cursorLocn;
this.dropAction = dropAction;
this.actions = srcActions;
isLocalTx = false;
}
public DropTargetDropEvent(DropTargetContext dtc, Point cursorLocn,
int dropAction, int srcActions, boolean isLocal){
super(dtc);
if(cursorLocn==null) throw new NullPointerException();
boolean legaldtc = false;
boolean legalDropAction = false;
boolean legalSourceAction = false;
if(dtc != null) legaldtc = true;
for(int i = 0; i < constants.length; i++){
if(dropAction == constants[i]) legalDropAction = true;
if(srcActions == constants[i]) legalSourceAction = true;
}
if(!(legaldtc && legalDropAction && legalSourceAction)) throw new IllegalArgumentException();
this.location = cursorLocn;
this.dropAction = dropAction;
this.actions = srcActions;
isLocalTx = isLocal;
}
public Point getLocation(){
return location;
}
public DataFlavor[] getCurrentDataFlavors(){
return context.getCurrentDataFlavors();
}
public java.util.List getCurrentDataFlavorsAsList(){
return context.getCurrentDataFlavorsAsList();
}
public boolean isDataFlavorSupported(DataFlavor df){
return context.isDataFlavorSupported(df);
}
public int getSourceActions(){
return actions;
}
public int getDropAction(){
return dropAction;
}
public Transferable getTransferable(){
return context.getTransferable();
}
public void acceptDrop(int dropAction){
context.acceptDrag(dropAction);
}
public void rejectDrop(){
context.rejectDrop();
}
public void dropComplete(boolean success){
context.dropComplete(success);
}
public boolean isLocalTransfer(){
return isLocalTx;
}
}