Menü-Einträge aus unterschiedlichen Plugins

Goliath83

Grünschnabel
Hallo

Ich habe ein Problem mit dem Menü in meiner RCP- Anwendung.

Meine RCP-Anwendung soll mit einem Menü ausgestattet werden in dem es mehrere "Unterpunkte" gibt. Der Hauptmenüpunkt ist schon vorhanden. Den habe ich im "Hauptplugin" mittels Extension (org.eclipse.ui.actionSets) implementiert. Dann habe ich dort ein actionSet mit einem Menu, einem Seperator und der dazu gehörigen Action eingefügt. Das funktioniert auch ganz gut. Ich habe somit ein Menü mit einem "Unterpunkt".

Nun meine eigentliche Frage:

Wie kann ich aus einem anderen Plugin einen weiteren "Unterpunkt" zu diesem Menü hinzufügen?

Ich möchte damit bezwecken, das ein "Unterpunkt" nur im Menü erscheint, wenn das dazu gehörige Plugin vorhanden ist.
Kann man überhaupt Menüpunkte von Plugins abhängig machen?



Vielen Dank schon mal im Voraus
 
Zuletzt bearbeitet:
Hallo Goliath, ich hatte das selbe Problem und die einzige Möglichkeit wie du das mit actionSets bewältigst ist folgende:

Du must in jedem Plugin, das menu das du schon im hauptplugin erstellt hast nochmals mit dem selben label und der selben id erstellen und für die actionpaths der einzelnen actions jeweils die menu-id + den groupmaker oder seperator angeben.

-------------------------------------------------------------------------------------------------

Code:
Ein Beispiel:

Plugin A: (Hauptplugin)
+ org.eclipse.ui.actionSets
   + DeinactionsetA (actionset)
      + Deinmenu (menu)
         + Deingroupmaker (groupmaker)

Plugin B: (Erweiterungsplugin)
+ org.eclipse.ui.actionSets
   + DeinactionsetB (actionset)
      + Deinmenu (menu)
         + Deingroupmaker (groupmaker)
      + Deineaction (action)
--------------------------------------------------------------------------------------------------

Attribute von Deinmenu: (müssen bei A und B gleich sein)
id*: org.tutorials.de.menu
label*: Deinmenu
path: additions (oder etwas anderes wo halt das menu hin soll)

Attribut von Deineaction:
menubarPath: org.tutorials.de.menu/Deingroupmaker

---------------------------------------------------------------------------------------------------

PS: Um den Unterpunkt nur anzuzeigen wenn ein Plugin da ist, brauchst du das gesamte Hauptplugin garnicht aufführen sondern nur in den Plugins die selben labels/id's verwenden.
(soweit ich aber weiß wird das menü normal sowieso nicht angezeigt, wenn keine action darauf verweißt außer du machst es explizit sichtbar)
Zum Schluss sollte ich aber noch sagen, das man actionsets nicht mehr benutzen sollte, da es bei eclipse 3.3 jetzt über org.eclipse.menus läuft.

Gruss Ben
 
Zuletzt bearbeitet von einem Moderator:
Zurück