Liebe RCP Experten,
ich habe mal wieder ein Problem was nach einer sauberen Lösung schreit!
Bei der Einbindung von anderen PlugIns in das eigene PlugIn wird die Menuleiste oftmals spezifisch um Menus ergänzt und die Toolbar um Einträge erweitert. Über plugin.xml hat man dabei nicht die Möglichkeit diese zu deaktivieren. Wie kann man in seiner RCP Anwendung auf saubere Art und Weise ausschließlich die eigenen Menu- und Toolbareinträge anzeigen lassen?
Hier meine momentane Lösung die leider beim Verlassen der Anwendung eine NullPointerException wirft. In der Methode postWindowOpen() der Klasse ApplicationWorkbenchWindowAdvisor führe ich folgenden Code aus:
Ich bin dankbar für alle Ratschläge und Hinweise...
ich habe mal wieder ein Problem was nach einer sauberen Lösung schreit!
Bei der Einbindung von anderen PlugIns in das eigene PlugIn wird die Menuleiste oftmals spezifisch um Menus ergänzt und die Toolbar um Einträge erweitert. Über plugin.xml hat man dabei nicht die Möglichkeit diese zu deaktivieren. Wie kann man in seiner RCP Anwendung auf saubere Art und Weise ausschließlich die eigenen Menu- und Toolbareinträge anzeigen lassen?
Hier meine momentane Lösung die leider beim Verlassen der Anwendung eine NullPointerException wirft. In der Methode postWindowOpen() der Klasse ApplicationWorkbenchWindowAdvisor führe ich folgenden Code aus:
Java:
MenuManager mbManager = ((ApplicationWindow)getWindowConfigurer().getWindow()).getMenuBarManager();
for (int i = 0; i < mbManager.getItems().length; i++) {
IContributionItem item = mbManager.getItems()[i];
if (!item.getId().equals("myMenuID")) {
item.setVisible(false);
item.dispose();
}
}
CoolBarManager cbManager = ((ApplicationWindow)getWindowConfigurer().getWindow()).getCoolBarManager();
for (int i = 0; i < cbManager.getItems().length; i++) {
IContributionItem item = cbManager.getItems()[i];
System.out.println(item.getId());
if (!item.getId().equals("myActionSetID")) {
item.setVisible(false);
item.dispose();
}
}
Zuletzt bearbeitet: