package nbtool.gui.logdnd;
import static nbtool.gui.logdnd.LogDND.*;
import java.awt.datatransfer.Transferable;
import java.awt.dnd.DropTargetAdapter;
import java.awt.dnd.DropTargetDropEvent;
import nbtool.data.log.Log;
import nbtool.gui.logdnd.LogDND.LogDNDTarget;
import nbtool.util.Debug;
public class LogDropListener extends DropTargetAdapter {
LogDNDTarget source;
public LogDropListener(LogDNDTarget source) {
this.source = source;
}
@Override
public void drop(DropTargetDropEvent dtde) {
try {
Transferable tr = dtde.getTransferable();
if (tr.isDataFlavorSupported(LOG_DATA_FLAVOR)) {
Log[] data = (Log[]) tr.getTransferData(LOG_DATA_FLAVOR);
source.takeLogsFromDrop(data);
dtde.dropComplete(true);
} else {
dtde.rejectDrop();
}
} catch (Exception e) {
Debug.error("COULD NOT ACCEPT DROP %s", dtde);
e.printStackTrace();
dtde.rejectDrop();
}
}
}