commit a47845938daf3f2f813a362dcf69776882eb6db2
Author: Patrick Plitzner <p.plitzner@bgbm.org>
Date:   Tue Jun 26 16:34:46 2018 +0200

    ref #7439 Add context menu to cell editor, disable editing

diff --git a/eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF
index 97d2f73ed..e970369ca 100644
--- a/eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF
+++ b/eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF
@@ -21,14 +21,15 @@ Require-Bundle: eu.etaxonomy.taxeditor.workbench,
  eu.etaxonomy.taxeditor.cdmlib,
  org.eclipse.e4.ui.model.workbench;bundle-version="1.2.0.v20160229-1459",
  org.eclipse.e4.ui.workbench,
- org.eclipse.e4.core.di.annotations;bundle-version="1.5.0",
+ org.eclipse.e4.core.di.annotations,
  org.eclipse.e4.ui.services,
  org.eclipse.e4.ui.di,
  org.eclipse.e4.core.contexts,
  org.eclipse.e4.core.services,
  org.eclipse.nebula.widgets.nattable.core,
  ca.odell.glazedlists,
- org.eclipse.nebula.widgets.nattable.extension.glazedlists
+ org.eclipse.nebula.widgets.nattable.extension.glazedlists,
+ org.eclipse.e4.core.di
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Import-Package: eu.etaxonomy.taxeditor.editor,
  org.eclipse.core.runtime,
diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/NullTextEditor.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/NullTextEditor.java
new file mode 100644
index 000000000..d8f252b33
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/NullTextEditor.java
@@ -0,0 +1,62 @@
+/**
+* Copyright (C) 2018 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.bulkeditor;
+
+import javax.inject.Inject;
+
+import org.eclipse.e4.ui.services.EMenuService;
+import org.eclipse.nebula.widgets.nattable.edit.editor.AbstractCellEditor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * @author pplitzner
+ * @since Jun 26, 2018
+ *
+ */
+public class NullTextEditor extends AbstractCellEditor{
+
+    private Control editorControl;
+    private Text text;
+    @Inject
+    private EMenuService menuService;
+
+    @Override
+    public Object getEditorValue() {
+        return null;
+    }
+
+    @Override
+    public void setEditorValue(Object value) {
+    }
+
+    @Override
+    public Control getEditorControl() {
+        return editorControl;
+    }
+
+    @Override
+    public Control createEditorControl(Composite parent) {
+        text = new Text(parent, SWT.NONE);
+        text.setEditable(false);
+        menuService.registerContextMenu(text, "eu.etaxonomy.taxeditor.bulkeditor.popupmenu.bulkeditor");
+        return text;
+    }
+
+    @Override
+    protected Control activateCell(Composite parent, Object originalCanonicalValue) {
+        editorControl = createEditorControl(parent);
+        text.setText(originalCanonicalValue.toString());
+        text.selectAll();
+        return editorControl;
+    }
+
+}
diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditorE4.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditorE4.java
index 1ea4a2a35..ccf9548e7 100644
--- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditorE4.java
+++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditorE4.java
@@ -21,6 +21,8 @@ import javax.inject.Inject;
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.e4.core.contexts.ContextInjectionFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.eclipse.e4.core.di.annotations.Optional;
 import org.eclipse.e4.core.services.events.IEventBroker;
 import org.eclipse.e4.ui.di.Focus;
@@ -90,6 +92,7 @@ import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery;
+import eu.etaxonomy.taxeditor.bulkeditor.NullTextEditor;
 import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
 import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.TitleCacheComparator;
 import eu.etaxonomy.taxeditor.editor.ITaxonEditor;
@@ -133,6 +136,9 @@ public class BulkEditorE4 implements IPartContentHasDetails, IConversationEnable
 
     private ISelectionChangedListener selectionChangedListener;
 
+    @Inject
+    IEclipseContext context;
+
     @Inject
     private MPart thisPart;
 
@@ -298,6 +304,13 @@ public class BulkEditorE4 implements IPartContentHasDetails, IConversationEnable
                         EditConfigAttributes.CELL_EDITABLE_RULE,
                         IEditableRule.ALWAYS_EDITABLE,
                         DisplayMode.EDIT);
+                //register editor
+                NullTextEditor nullTextEditor = new NullTextEditor();
+                ContextInjectionFactory.inject(nullTextEditor, context);
+                configRegistry.registerConfigAttribute(
+                        EditConfigAttributes.CELL_EDITOR,
+                        nullTextEditor,
+                        DisplayMode.EDIT);
             }
         });
 
