ref #6925 Inject context into operations to allow sync/async execution
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / uses / e4 / UsesViewPartE4.java
index 0bdaa83550c9caee8ac0b3cddcd69ac1a0a8b8e8..8aec7e406ecda851753ccb5a9008795f7a838de1 100644 (file)
@@ -10,6 +10,8 @@ package eu.etaxonomy.taxeditor.editor.view.uses.e4;
 
 import javax.annotation.PostConstruct;
 
+import org.eclipse.e4.core.contexts.ContextInjectionFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.services.EMenuService;
 import org.eclipse.jface.viewers.TreeViewer;
@@ -41,7 +43,8 @@ public class UsesViewPartE4 extends FactualDataPartE4 {
 
     @Override
     @PostConstruct
-    public void create(Composite parent, EMenuService menuService, MPart thisPart) {
+    public void create(Composite parent, EMenuService menuService, MPart thisPart,
+            IEclipseContext context) {
 
         this.thisPart = thisPart;
 
@@ -54,8 +57,10 @@ public class UsesViewPartE4 extends FactualDataPartE4 {
         Transfer[] transfers = new Transfer[] { DescriptionElementTransfer.getInstance() };
         treeViewer.addDragSupport(dndOperations, transfers, new DescriptionElementDragListener(
                 this));
+        DescriptionElementDropAdapter dropListener = new DescriptionElementDropAdapter(treeViewer);
+        ContextInjectionFactory.inject(dropListener, context);
         treeViewer.addDropSupport(dndOperations, transfers,
-                new DescriptionElementDropAdapter(treeViewer));
+                dropListener);