- minor enhancement
authorPatric Plitzner <p.plitzner@bgbm.org>
Mon, 24 Mar 2014 15:10:51 +0000 (15:10 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Mon, 24 Mar 2014 15:10:51 +0000 (15:10 +0000)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateDropListener.java

index f4f61599f99dc7ca731827844052fe88f7ef3b21..ace6af74c221bec61b9540a81479d79261af40bd 100644 (file)
@@ -12,6 +12,7 @@ package eu.etaxonomy.taxeditor.editor.view.derivate;
 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;
@@ -82,12 +83,7 @@ public class DerivateDropListener extends ViewerDropAdapter {
      */
     @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)
@@ -98,12 +94,19 @@ public class DerivateDropListener extends ViewerDropAdapter {
         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);
     }
 
@@ -113,7 +116,7 @@ public class DerivateDropListener extends ViewerDropAdapter {
      * @param value
      * @return
      */
-    private boolean checkDropTarget(Object value) {
+    private boolean checkDropTarget(Object draggedObject, Object target) {
         // TODO Auto-generated method stub
         return true;
     }