Project

General

Profile

« Previous | Next » 

Revision fa44b721

Added by Patrick Plitzner almost 7 years ago

ref #6805 Add drag and drop from Feature Editor to FeatureTreeEditor

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureNodeDropAdapter.java
15 15
import org.eclipse.swt.dnd.TransferData;
16 16

  
17 17
import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
18
import eu.etaxonomy.cdm.model.description.Feature;
18 19
import eu.etaxonomy.cdm.model.description.FeatureNode;
19 20
import eu.etaxonomy.cdm.model.description.FeatureTree;
21
import eu.etaxonomy.taxeditor.editor.definedterm.TermTransfer;
20 22
import eu.etaxonomy.taxeditor.featuretree.FeatureNodeTransfer;
21 23
import eu.etaxonomy.taxeditor.store.CdmStore;
22 24

  
......
64 66
			}
65 67
		}
66 68
		for (Object droppedObject : droppedObjects) {
67
			FeatureNode droppedNode = (FeatureNode) droppedObject;
68
			CdmStore.getService(IFeatureNodeService.class).moveFeatureNode(droppedNode.getUuid(), target.getUuid(), position);
69
			viewer.refresh();
70
			viewer.reveal(droppedNode);
69
		    if(droppedObject instanceof FeatureNode){
70
		        FeatureNode droppedNode = (FeatureNode) droppedObject;
71
		        CdmStore.getService(IFeatureNodeService.class).moveFeatureNode(droppedNode.getUuid(), target.getUuid(), position);
72
		        viewer.reveal(droppedNode);
73
		    }
74
		    else if(droppedObject instanceof Feature){
75
		        Feature droppedFeature = (Feature) droppedObject;
76
		        CdmStore.getService(IFeatureNodeService.class).addChildFeatureNode(target.getUuid(), droppedFeature.getUuid());
77

  
78
		    }
79
		    viewer.refresh();
71 80
		}
72 81
        this.dirtyable.setDirty(true);
73 82
		return true;
......
75 84

  
76 85
    @Override
77 86
    public boolean validateDrop(Object target, int operation, TransferData transferData) {
78
        return FeatureNodeTransfer.getInstance().isSupportedType(transferData);
87
        boolean isSupported = FeatureNodeTransfer.getInstance().isSupportedType(transferData);
88
        isSupported |= TermTransfer.getInstance().isSupportedType(transferData);
89
        isSupported &= getViewer().getInput()!=null;
90
        return isSupported;
79 91
    }
80 92

  
81 93
}

Also available in: Unified diff