import org.eclipse.jface.viewers.TreeNode;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerDropAdapter;
+import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.DropTargetEvent;
import org.eclipse.swt.dnd.TransferData;
import org.eclipse.swt.widgets.TreeItem;
*/
@Override
public boolean validateDrop(Object target, int operation, TransferData transferType) {
- if(SpecimenOrObservationTransfer.getInstance().isSupportedType(transferType)
- && target instanceof TreeNode){
- Object value = ((TreeNode) target).getValue();
- return checkDropTarget(value);
- }
- return false;
+ return SpecimenOrObservationTransfer.getInstance().isSupportedType(transferType) && target instanceof TreeNode;
}
/* (non-Javadoc)
Object draggedDerivate = getCurrentTarget();
Object targetItem = event.item;
-// System.out.println(event);
- if(targetItem instanceof TreeItem){
- TreeItem treeItem = (TreeItem)targetItem;
-// System.out.println(treeItem.getData());
+ if(targetItem instanceof TreeItem
+ && ((TreeItem) targetItem).getData() instanceof TreeNode
+ && draggedDerivate instanceof TreeNode){
+
+// && ((TreeNode) ((TreeItem) targetItem).getData()).getValue() instanceof SpecimenOrObservationBase<?>){
+
+// TreeItem node = (TreeItem)targetItem;
+// Object value = ((TreeNode) node.getData()).getValue();
// System.out.println("Drag over: " + draggedDerivate.getClass().getSimpleName() + " to " + targetItem.getClass().getSimpleName());
}
+ else{
+ event.detail = DND.DROP_NONE;
+ }
super.dragOver(event);
}
* @param value
* @return
*/
- private boolean checkDropTarget(Object value) {
+ private boolean checkDropTarget(Object draggedObject, Object target) {
// TODO Auto-generated method stub
return true;
}