package com.isencia.passerelle.workbench.model.editor.ui.palette;
import org.eclipse.gef.dnd.TemplateTransfer;
import org.eclipse.gef.requests.CreationFactory;
import org.eclipse.gef.ui.palette.PaletteViewer;
import org.eclipse.swt.dnd.DropTargetAdapter;
import org.eclipse.swt.dnd.DropTargetEvent;
public class DropFavouriteListener extends DropTargetAdapter {
private PaletteViewer paletteViewer;
public DropFavouriteListener(PaletteViewer paletteViewer) {
super();
this.paletteViewer = paletteViewer;
}
public void drop(DropTargetEvent event) {
PaletteBuilder builder = PaletteBuilder.getInstance();
builder.setSelectedItem(config);
}
private CreationFactory config;
@Override
public void dragEnter(DropTargetEvent event) {
super.dragEnter(event);
}
@Override
public void dragLeave(DropTargetEvent event) {
// TODO Auto-generated method stub
super.dragLeave(event);
}
@Override
public void dragOperationChanged(DropTargetEvent event) {
// TODO Auto-generated method stub
super.dragOperationChanged(event);
}
@Override
public void dragOver(DropTargetEvent event) {
super.dragOver(event);
}
@Override
public void dropAccept(DropTargetEvent event) {
// TODO Auto-generated method stub
CreationFactory fact = getFactory(TemplateTransfer.getInstance().getTemplate());
if (fact != null) {
config = fact;
}
}
protected CreationFactory getFactory(Object template) {
if (template instanceof CreationFactory)
return ((CreationFactory) template);
else
return null;
}
}