/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.vdb.ui.editor; import java.util.Collections; import java.util.List; import org.eclipse.core.resources.IResource; import org.eclipse.jface.util.LocalSelectionTransfer; import org.eclipse.jface.viewers.StructuredViewer; import org.eclipse.jface.viewers.ViewerDropAdapter; import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.DropTarget; import org.eclipse.swt.dnd.DropTargetEvent; import org.eclipse.swt.dnd.FileTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.dnd.TransferData; import org.eclipse.ui.part.PluginTransfer; import org.eclipse.ui.part.ResourceTransfer; import org.teiid.designer.ui.util.EObjectTransfer; /** * @author SDelap * * TODO To change the template for this generated type comment go to Window - * Preferences - Java - Code Style - Code Templates * * @since 8.0 */ public class VdbEditorDropAdapter extends ViewerDropAdapter { /** * @param viewer */ public VdbEditorDropAdapter(StructuredViewer viewer) { super(viewer); } /* * (non-Javadoc) * * @see org.eclipse.swt.dnd.DropTargetListener#drop(org.eclipse.swt.dnd.DropTargetEvent) */ // @Override // public void drop(DropTargetEvent event) { // List eObjList = getEventEObjects(event); // // System.out.println("Drop"); // // Object data = event.data; // try { // if (data instanceof IResource) { // performDrop(data); // } // } catch (Exception ce) { // event.detail = DND.DROP_NONE; // } // } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerDropAdapter#performDrop(java.lang.Object) */ @Override public boolean performDrop(Object data) { // TODO Auto-generated method stub System.out.println("performDrop"); return false; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerDropAdapter#validateDrop(java.lang.Object, int, org.eclipse.swt.dnd.TransferData) */ @Override public boolean validateDrop(Object target, int operation, TransferData transferType) { // TODO Auto-generated method stub System.out.println("validateDrop"); if(target!=null) System.out.println(target.toString()); else System.out.println("target is null"); System.out.println("operation: " + operation); // ResourceTransfer.getInstance(), // FileTransfer.getInstance(), PluginTransfer.getInstance(), EObjectTransfer.getInstance()}; // if(transferType!=null) System.out.println(transferType.toString()); else System.out.println("transferType is null"); return true; } private List getEventEObjects( DropTargetEvent event ) { Transfer[] transfers = ((DropTarget)event.getSource()).getTransfer(); for (int i = 0; i < transfers.length; i++) { if (transfers[i] instanceof EObjectTransfer) { EObjectTransfer transfer = (EObjectTransfer)transfers[i]; if (transfer.getObject() != null) return (List)transfer.getObject(); } } return Collections.EMPTY_LIST; } }