Removed all CDM object manipulation from drag and drop part in NameComponent and...
[taxeditor.git] / eclipseprojects / eu.etaxonomy.taxeditor / src / eu / etaxonomy / taxeditor / view / nameviewersupport / GroupComposite.java
index 071a71eb9682d5621488b8191e1972b1d05b09b6..fd5d52f21c75c1c4f56902f4a37ac48034001afb 100644 (file)
@@ -12,9 +12,7 @@ import org.eclipse.ui.forms.widgets.TableWrapData;
 import org.eclipse.ui.forms.widgets.TableWrapLayout;\r
 \r
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
-import eu.etaxonomy.cdm.model.taxon.Synonym;\r
-import eu.etaxonomy.taxeditor.controller.TaxonTransfer;\r
+import eu.etaxonomy.taxeditor.controller.WidgetTransfer;\r
 \r
 public class GroupComposite extends Composite {\r
        \r
@@ -25,14 +23,15 @@ public class GroupComposite extends Composite {
                super(parent, SWT.NONE);\r
                                \r
                this.homotypicalGroup = homotypicalGroup;\r
-               \r
+                               \r
                // Graphic layout of composite\r
                this.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));\r
                this.setLayout(new TableWrapLayout());\r
                this.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
                                \r
                // Drop functionality\r
-               Transfer[] types = new Transfer[] {TaxonTransfer.getInstance()};\r
+//             Transfer[] types = new Transfer[] {TaxonTransfer.getInstance()};\r
+               Transfer[] types = new Transfer[] {WidgetTransfer.getInstance()};       \r
                int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_DEFAULT;\r
                DropTarget target = new DropTarget(this, operations);\r
                target.setTransfer(types);\r
@@ -48,17 +47,12 @@ public class GroupComposite extends Composite {
                        \r
                        public void drop(DropTargetEvent event) {\r
                                \r
-                               TaxonNameBase synonymName = ((Synonym) event.data).getName();\r
-                               HomotypicalGroup homotypicalGroup = GroupComposite.this.getHomotypicalGroup();\r
-                               \r
-                               // Abort drop if name is being dropped onto group to which it already belongs\r
-                               if (synonymName.getHomotypicalGroup().equals(homotypicalGroup)) {\r
-                                       event.detail = DND.DROP_NONE;\r
-                                       return;\r
-                               }\r
-\r
-                               // Associate synonym with group - listeners will take care of the rest  \r
-                               synonymName.setHomotypicalGroup(homotypicalGroup);              \r
+                               if (event.data instanceof Composite) {\r
+                                       Composite composite = (Composite) event.data; \r
+                                       if ( ! composite.getParent().equals(GroupComposite.this)) {\r
+                                               composite.setParent(GroupComposite.this);\r
+                                       }\r
+                               }               \r
                        }\r
                });\r
        }\r