Fix context menu of bulk editor and media view
authorPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 29 Jun 2017 11:55:05 +0000 (13:55 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 29 Jun 2017 11:55:05 +0000 (13:55 +0200)
eu.etaxonomy.taxeditor.bulkeditor/plugin.xml
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java
eu.etaxonomy.taxeditor.editor/plugin.xml
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/MediaViewPart.java

index 7b80e3b8e8f31572959a4d602c516a672416c5db..b15d4a29930ac0ac0473b10678b55be709ccfe79 100644 (file)
          </dynamic>
       </menuContribution>
       <menuContribution
-            locationURI="popup:#BulkEditorContext">
-         <dynamic
-               class="eu.etaxonomy.taxeditor.view.CdmViewerContextMenu"
-               id="eu.etaxonomy.taxeditor.bulkeditor.cdmViewerContextMenu">
-         </dynamic>
-         <separator
-               name="taxeditor-bulkeditor.separator1"
-               visible="true">
-         </separator>
+            locationURI="popup:bulkeditor.editor">
          <menu
                label="%menu.label.1">
             <dynamic
                      definitionId="isMergeEnabled">
                </reference>
             </visibleWhen>
-         </command>
-      <!--menuContribution
-            locationURI="popup:org.eclipse.ui.popup.any"-->            
+         </command>            
          <command
                commandId="bulkeditor.commands.mergegroup"
                label="%command.label.3"
                </reference>
             </visibleWhen>
          </command>
+         <dynamic
+               class="eu.etaxonomy.taxeditor.view.CdmViewerContextMenu"
+               id="eu.etaxonomy.taxeditor.bulkeditor.cdmViewerContextMenu">
+         </dynamic>
+      <!--menuContribution
+            locationURI="popup:org.eclipse.ui.popup.any"-->
       </menuContribution>
       <menuContribution
             allPopups="false"
index 548802bab83f99f4066731b75051abb020dd5d4e..3e23c111112540ed00b299fb4e26125016cbdad1 100644 (file)
@@ -12,7 +12,9 @@ package eu.etaxonomy.taxeditor.bulkeditor;
 import org.eclipse.core.commands.operations.IUndoContext;
 import org.eclipse.core.commands.operations.UndoContext;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.action.GroupMarker;
 import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.dialogs.MessageDialogWithToggle;
 import org.eclipse.jface.preference.IPreferenceStore;
@@ -33,8 +35,10 @@ import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Menu;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IWorkbenchActionConstants;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.texteditor.ITextEditorActionConstants;
 
@@ -85,16 +89,12 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
        protected void initializeEditor() {
                super.initializeEditor();
 
-               /**
-                * see AbstractTextEditor javadoc for explanation of context menu ids
-                */
-               setEditorContextMenuId("#BulkEditorContext");
-
 //             setEntityCreatorService(new BulkEditorEntityCreatorService());
 
                setLineDisplayStrategy(new BulkEditorLineDisplay(this));
 
                setSourceViewerConfiguration(new BulkEditorViewerConfiguration(lineDisplayStrategy));
+
        }
 
        /** {@inheritDoc} */
@@ -152,6 +152,15 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                                control.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
                        }
                }
+
+        //create context menu
+        MenuManager menuManager = new MenuManager();
+        menuManager.setRemoveAllWhenShown(true);
+        menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+        getSite().registerContextMenu(menuManager, getSelectionProvider());
+        Menu menu = menuManager.createContextMenu(this.getSourceViewer().getTextWidget());
+        this.getSourceViewer().getTextWidget().setMenu(menu);
+
        }
 
        /** {@inheritDoc} */
index 82e6257a9d8f30dc2d062eb33e2432316c6156b6..6408a0963ecdb77816027964d35fa99b0abf768b 100644 (file)
       </menuContribution>
       <menuContribution
             allPopups="false"
-            locationURI="popup:#BulkEditorContext?before=taxeditor-bulkeditor.separator1">
+            locationURI="popup:bulkeditor.editor?before=taxeditor-bulkeditor.separator1">
          <command
                commandId="eu.etaxonomy.taxeditor.group.cdmauthorities.edit"
                label="%command.label.45"
index 16bab02332f6c0a2cfe4c00caad09af24c6d549f..1a5d94db43d1e80c2edb9759a4ae30df03e56b23 100644 (file)
@@ -69,6 +69,7 @@ public class MediaViewPart extends AbstractCdmEditorViewPart implements IPartCon
                // Add context menu to tree
                MenuManager menuMgr = new MenuManager();
                menuMgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+               menuMgr.setRemoveAllWhenShown(true);
                getSite().registerContextMenu(menuMgr, viewer);
 
                Control control = viewer.getControl();