4 package eu
.etaxonomy
.taxeditor
.editor
.name
.dnd
;
6 import org
.eclipse
.swt
.dnd
.DND
;
7 import org
.eclipse
.swt
.dnd
.DragSourceAdapter
;
8 import org
.eclipse
.swt
.dnd
.DragSourceEvent
;
9 import org
.eclipse
.ui
.forms
.ManagedForm
;
11 import eu
.etaxonomy
.cdm
.model
.common
.ICdmBase
;
12 import eu
.etaxonomy
.taxeditor
.editor
.CdmDataTransfer
;
13 import eu
.etaxonomy
.taxeditor
.editor
.name
.container
.AbstractGroupedContainer
;
16 * <p>NameEditorDragListener class.</p>
21 public class NameEditorDragListener
extends DragSourceAdapter
{
23 private AbstractGroupedContainer container
;
26 * <p>Constructor for NameEditorDragListener.</p>
28 * @param container a {@link eu.etaxonomy.taxeditor.editor.name.container.AbstractGroupedContainer} object.
30 public NameEditorDragListener(AbstractGroupedContainer container
){
31 this.container
= container
;
35 public void dragFinished(DragSourceEvent event
) {
38 if(event
.detail
== DND
.DROP_MOVE
){
39 ManagedForm managedForm
= container
.getGroup().getEditor().getManagedForm();
40 container
.getGroup().remove(container
);
41 managedForm
.reflow(true);
48 public void dragSetData(DragSourceEvent event
) {
49 ICdmBase
[] cdmBaseObjects
= new ICdmBase
[]{(ICdmBase
) container
.getData()};
50 if(CdmDataTransfer
.getInstance().isSupportedType(event
.dataType
)){
51 event
.data
= cdmBaseObjects
;
57 public void dragStart(DragSourceEvent event
) {
58 event
.doit
= container
.getData() != null;