package net.sourceforge.squirrel_sql.client.gui.builders.dndtabbedpane;
import java.awt.dnd.DropTargetDragEvent;
import java.awt.dnd.DropTargetDropEvent;
import java.awt.dnd.DropTargetEvent;
import java.awt.dnd.DropTargetListener;
public class OutwardDndTabbedPaneDropTargetListener implements DropTargetListener
{
private final DnDTabbedPaneData _dnDTabbedPaneData;
private final GhostGlassPane _glassPane;
private OutwardDndTabbedPaneChanel _outwardDndTabbedPaneChanel;
public OutwardDndTabbedPaneDropTargetListener(DnDTabbedPaneData dnDTabbedPaneData, GhostGlassPane glassPane, OutwardDndTabbedPaneChanel outwardDndTabbedPaneChanel)
{
_dnDTabbedPaneData = dnDTabbedPaneData;
_glassPane = glassPane;
_outwardDndTabbedPaneChanel = outwardDndTabbedPaneChanel;
// Memory Leak
_outwardDndTabbedPaneChanel.putListener(_dnDTabbedPaneData.getTabbedPane(), new OutwardDndTabbedPaneChanelListener()
{
@Override
public void hideGlassPane()
{
DndTabUtils.hideGlassPane(_glassPane, _dnDTabbedPaneData);
}
});
}
@Override
public void dragEnter(final DropTargetDragEvent dtde)
{
// Timer t = new Timer(100, new ActionListener() {
// @Override
// public void actionPerformed(ActionEvent e)
// {
// if (null != _outwardDndTabbedPaneChanel.getDndTabbedPaneData())
// {
// DndTabUtils.initGlassPane(dtde.getLocation(), _dnDTabbedPaneData, _outwardDndTabbedPaneChanel.getDndTabbedPaneData(), _glassPane);
// }
// }
// });
// t.setRepeats(false);
// t.start();
if (null != _outwardDndTabbedPaneChanel.getDndTabbedPaneData())
{
DndTabUtils.initGlassPane(dtde.getLocation(), _dnDTabbedPaneData, _outwardDndTabbedPaneChanel.getDndTabbedPaneData(), _glassPane);
}
}
@Override
public void dragExit(DropTargetEvent e)
{
}
@Override
public void dropActionChanged(DropTargetDragEvent e)
{
}
@Override
public void dragOver(DropTargetDragEvent e)
{
}
@Override
public void drop(DropTargetDropEvent e)
{
}
}