From 32224f8aa935eacd9c0c25b6ce2ba8ca7144d237 Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Tue, 27 Feb 2024 16:25:38 +0100
Subject: [PATCH] Move BMotion Studio menu items into relevant Eclipse menus

Instead of adding a new top-level menu, which takes up space for no good
reason.
---
 de.bmotionstudio.gef.editor/plugin.xml        | 52 ++++++++-----------
 .../gef/editor/BMotionStudioContributor.java  | 16 +++---
 2 files changed, 29 insertions(+), 39 deletions(-)

diff --git a/de.bmotionstudio.gef.editor/plugin.xml b/de.bmotionstudio.gef.editor/plugin.xml
index 2f254fad..cf91ea19 100644
--- a/de.bmotionstudio.gef.editor/plugin.xml
+++ b/de.bmotionstudio.gef.editor/plugin.xml
@@ -56,35 +56,29 @@
    <extension
          point="org.eclipse.ui.menus">
       <menuContribution
-            locationURI="menu:org.eclipse.ui.main.menu">
-         <menu
-               id="de.bmotionstudio.gef.editor.menu"
-               label="BMotion Studio">
-            <command
-                  commandId="de.bmotionstudio.gef.editor.command.openBMotionStudioWebsite"
-                  label="Open website"
-                  style="push">
-            </command>
-            <separator
-                  name="group.filter"
-                  visible="true">
-            </separator>
-            <command
-                  commandId="de.bmotionstudio.command.startVisualizationFromEditor"
-                  icon="icons/icon_run.png"
-                  label="Start Visualization"
-                  style="push">
-               <visibleWhen
-                     checkEnabled="true">
-                  <with
-                        variable="activeEditorId">
-                     <equals
-                           value="de.bmotionstudio.gef.editor.BMotionStudioEditor">
-                     </equals>
-                  </with>
-               </visibleWhen>
-            </command>
-         </menu>
+            locationURI="menu:org.eclipse.ui.run">
+         <command
+               commandId="de.bmotionstudio.command.startVisualizationFromEditor"
+               icon="icons/icon_run.png"
+               label="Start Visualization"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+               <with
+                     variable="activeEditorId">
+                  <equals
+                        value="de.bmotionstudio.gef.editor.BMotionStudioEditor">
+                  </equals>
+               </with>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+      <menuContribution locationURI="menu:help">
+         <command
+               commandId="de.bmotionstudio.gef.editor.command.openBMotionStudioWebsite"
+               label="BMotion Studio website"
+               style="push">
+         </command>
       </menuContribution>
       <menuContribution
             locationURI="toolbar:org.eclipse.ui.main.toolbar">
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioContributor.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioContributor.java
index 1a437426..5f8d9725 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioContributor.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioContributor.java
@@ -75,23 +75,19 @@ public class BMotionStudioContributor extends ActionBarContributor {
 
 		super.contributeToMenu(menuManager);
 
-		IContributionItem bMenu = menuManager
-				.find("de.bmotionstudio.gef.editor.menu");
-		if (bMenu != null) {
-
-			IMenuManager bmotionMenu = (IMenuManager) bMenu;
-			MenuManager viewMenu = new MenuManager("Editor");
+		IContributionItem editMenuContribution = menuManager.find("edit");
+		if (editMenuContribution != null) {
+			IMenuManager editMenu = (IMenuManager)editMenuContribution;
+			MenuManager viewMenu = new MenuManager("BMotion Studio", "de.bmotionstudio.gef.editor.menu");
 			viewMenu.add(getAction(GEFActionConstants.ZOOM_IN));
 			viewMenu.add(getAction(GEFActionConstants.ZOOM_OUT));
 			viewMenu.add(new Separator());
 			viewMenu.add(getAction(GEFActionConstants.TOGGLE_RULER_VISIBILITY));
 			viewMenu.add(getAction(GEFActionConstants.TOGGLE_GRID_VISIBILITY));
 			viewMenu.add(getAction(GEFActionConstants.TOGGLE_SNAP_TO_GEOMETRY));
-			bmotionMenu
-					.insertAfter(
-							"de.bmotionstudio.gef.editor.command.openBMotionStudioWebsite",
-							viewMenu);
 
+			editMenu.insertAfter("additions", new Separator("de.bmotionstudio.gef.editor.group"));
+			editMenu.insertAfter("de.bmotionstudio.gef.editor.group", viewMenu);
 		}
 
 	}
-- 
GitLab