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
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
\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