00001
00025
package org.objectweb.cjdbc.console.gui.dnd.listeners;
00026
00027
import java.awt.datatransfer.DataFlavor;
00028
import java.awt.datatransfer.Transferable;
00029
import java.awt.dnd.DnDConstants;
00030
import java.awt.dnd.DropTarget;
00031
import java.awt.dnd.DropTargetDropEvent;
00032
00033
import javax.swing.JButton;
00034
00035
import org.objectweb.cjdbc.console.gui.CjdbcGui;
00036
00044 public class ControllerTransferListener extends AbstractGuiDropListener
00045 {
00046
00053 public ControllerTransferListener(
CjdbcGui gui)
00054 {
00055 super(gui);
00056 }
00057
00058
00062 public void drop(DropTargetDropEvent dtde)
00063 {
00064 dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
00065 DropTarget target = ((DropTarget) dtde.getSource());
00066 Transferable transfer = dtde.getTransferable();
00067
00068 JButton bo = (JButton) target.getComponent();
00069
try
00070 {
00071
00072 Object data = transfer.getTransferData(DataFlavor.plainTextFlavor);
00073
if(data==null)
00074 {
00075
00076 data = transfer.getTransferData(DataFlavor.stringFlavor);
00077 gui.
publicActionExecuteControllerDrop(data.toString(), bo.getText());
00078 }
00079
else
00080 {
00081
00082 gui.
publicActionExecuteTransfer(data.toString(),bo.getText());
00083 }
00084 dtde.dropComplete(
true);
00085 }
00086
catch (Exception e)
00087 {
00088 dtde.dropComplete(
true);
00089 gui.
appendDebugText(
"Failed to execute Drag and drop for targer:"
00090 + bo.getText());
00091 }
00092 finally
00093 {
00094 dtde.dropComplete(
true);
00095 gui.
publicActionRefreshCursorShape();
00096 }
00097 }
00098 }