Hallo
ich habe eine RCP-Applikation geschrieben.
Für das Prototyping habe ich mich dafür entschieden, beim Produktexport nicht meine Application sondern die org.eclipse.ui.ide.workbench zu verwenden.
Die RCP Applikation ist nun im Laufe der Entwicklung immer weiter gewachsen und nun stehe ich vor dem Problem, das ich Plugins (nicht meine) verwende, welche Erweiterungspunkte der org.eclipse.ui.ide.workbench bedienen. Resultat ist, das ich nun in meiner RCP-Anwendung auf einmal Menüs und Aktionen habe, die ich nicht möchte.
Ich sehe momentan zwei Möglichkeiten:
1) Ich stecke Entwicklungsaufwand in meine eigene Application und integriere nur das was ich brauche.
2) Ich entferne Menüeinträge aus der org.eclipse.ui.ide.workbench
Mit Punkt 2 habe ich schon ein wenig experimentiert.
Die Frage die sich mir stellt ist die, wo die korrekte Stelle für den Code ist, da er ausgeführt sein muss, bevor der Nutzer die Anwendung sieht.
Ich habe es dem Erweiterungspunkt org.eclipse.ui.startup versucht, dort steht mir jedoch noch kein aktives WorkbenchWindow zur Verfügung.
Ich habe es auch mit
versucht, aber nicht die richtige Stelle/Zeitpunkt gefunden, da dieser nur auf Änderungen reagiert und ich den Listener scheinbar zu spät anmelde.
Hat jemand eine Idee?
ich habe eine RCP-Applikation geschrieben.
Für das Prototyping habe ich mich dafür entschieden, beim Produktexport nicht meine Application sondern die org.eclipse.ui.ide.workbench zu verwenden.
Die RCP Applikation ist nun im Laufe der Entwicklung immer weiter gewachsen und nun stehe ich vor dem Problem, das ich Plugins (nicht meine) verwende, welche Erweiterungspunkte der org.eclipse.ui.ide.workbench bedienen. Resultat ist, das ich nun in meiner RCP-Anwendung auf einmal Menüs und Aktionen habe, die ich nicht möchte.
Ich sehe momentan zwei Möglichkeiten:
1) Ich stecke Entwicklungsaufwand in meine eigene Application und integriere nur das was ich brauche.
- sehr aufwendig
2) Ich entferne Menüeinträge aus der org.eclipse.ui.ide.workbench
Mit Punkt 2 habe ich schon ein wenig experimentiert.
Code:
MenuManager mm = ((ApplicationWindow) PlatformUI.getWorkbench().getActiveWorkbenchWindow()).getMenuBarManager(); for (int i = 0; i < mm.getItems().length; i++) { IContributionItem ci = mm.getItems()[i]; System.out.println(ci.getId()); if ("org.eclipse.ui.run".equals(ci.getId())) { mm.remove(ci.getId()); } } mm.updateAll(true);
Ich habe es dem Erweiterungspunkt org.eclipse.ui.startup versucht, dort steht mir jedoch noch kein aktives WorkbenchWindow zur Verfügung.
Ich habe es auch mit
Code:
IWindowListener
Hat jemand eine Idee?
Comment