From b7e704af02bbd5214b09e110244470ab1969ad2a Mon Sep 17 00:00:00 2001 From: Katja Luther Date: Tue, 31 Jul 2018 13:41:20 +0200 Subject: [PATCH] fix #7544: do not allow d&d for misapplied names --- .../editor/name/e4/dnd/NameEditorDragListenerE4.java | 7 ++++--- .../editor/name/e4/dnd/NameEditorDropTargetListenerE4.java | 6 ++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/dnd/NameEditorDragListenerE4.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/dnd/NameEditorDragListenerE4.java index 965ba317b..913378f74 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/dnd/NameEditorDragListenerE4.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/dnd/NameEditorDragListenerE4.java @@ -11,6 +11,7 @@ import org.eclipse.ui.forms.ManagedForm; import eu.etaxonomy.cdm.model.common.ICdmBase; import eu.etaxonomy.taxeditor.editor.CdmDataTransfer; import eu.etaxonomy.taxeditor.editor.name.e4.container.AbstractGroupedContainerE4; +import eu.etaxonomy.taxeditor.editor.name.e4.container.ConceptContainerE4; /** * @@ -45,13 +46,13 @@ public class NameEditorDragListenerE4 extends DragSourceAdapter { public void dragSetData(DragSourceEvent event) { ICdmBase[] cdmBaseObjects = new ICdmBase[]{container.getData()}; if(CdmDataTransfer.getInstance().isSupportedType(event.dataType)){ - event.data = cdmBaseObjects; - } + event.data = cdmBaseObjects; + } } /** {@inheritDoc} */ @Override public void dragStart(DragSourceEvent event) { - event.doit = container.getData() != null; + event.doit = (container.getData() != null) && !(container instanceof ConceptContainerE4); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/dnd/NameEditorDropTargetListenerE4.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/dnd/NameEditorDropTargetListenerE4.java index e1e33b72f..8a1d58bae 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/dnd/NameEditorDropTargetListenerE4.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/dnd/NameEditorDropTargetListenerE4.java @@ -56,6 +56,7 @@ public class NameEditorDropTargetListenerE4 extends DropTargetAdapter { target.dragLeft(); } + /** {@inheritDoc} */ @Override public void drop(DropTargetEvent dropTargetEvent) { @@ -70,6 +71,11 @@ public class NameEditorDropTargetListenerE4 extends DropTargetAdapter { return; } + if (target instanceof MisappliedGroupE4){ + dropTargetEvent.detail = DND.DROP_NONE; + return; + } + // Execute operations at end of drag event AbstractPostOperation operation = createOperation(taxonBase); -- 2.34.1