Deaktivieren Plugin Beiträge in Eclipse RCP Anwendung
-
06-07-2019 - |
Frage
Ich hatte häufig dieses Problem und hat eine Lösung noch nicht gefunden: Jedes Mal, wenn ich eine neue Eclipse-RCP-basierte Anwendung schreiben und umfassen Erweiterungen aus der Eclipse-Plattform, ich erben 'UI Beiträge von einigen dieser Plugins
.Die meisten dieser Beiträge (Menüeinträge, Tastaturkürzel, Eigenschaftsseiten) nützlich sind, aber manchmal würde ich lieber einige dieser Beiträge deaktiviert, nur weil ich sie wirklich nicht brauchen, und sie könnten die Benutzer verwirren.
Kennt jemand die offiziellen oder eine praktische Art und Weise zu deaktivieren / ausgewählten Beiträge in Eclipse RCP Anwendungen verbieten?
Lösung
Werfen Sie einen Blick auf die Eclipse „Aktivitäten“ API. Es ermöglicht Ihnen, Beiträge anhand von ID zu verbergen.
Ein paar Links:
- http://wiki.eclipse.org/FAQ_How_do_I_add_activities_to_my_plug-in%3F
- http://www.vogella.de/blog/ 2009/07/13 / eclipse-Aktivitäten /
- http: // random-Eklipse -tips.blogspot.com/2009/02/eclipse-rcp-removing-unwanted_02.html
- http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/workbench_scalability.htm
Andere Tipps
Die einzige Methode, die nahe kommt, das zu tun sei:
IMenuService::removeContributionFactory()
Paul Webster wurde fordern eine IMenuService::addOverride()
die Sichtbarkeit des Menüs zu ändern, zu verhindern jeder Beitrag, aber diese Idee wurde noch nicht integriert.
Sie können ein Beispiel für das Entfernen eines Beitrags in diesem org.eclipse.ui.tests.menus.MenuBuilder
Klasse;
public static void removeMenuContribution() {
if (!PlatformUI.isWorkbenchRunning()) {
return;
}
IMenuService menuService = (IMenuService) PlatformUI.getWorkbench()
.getService(IMenuService.class);
if (menuService==null) {
return;
}
menuService.removeContributionFactory(viewMenuAddition);
viewMenuAddition = null;
menuService.removeContributionFactory(viewToolbarAddition);
viewMenuAddition = null;
}
Equinox Transformationen können auch zur Versorgung XLST Transformationen verwendet werden, die unerwünschten UI Beiträge zu entfernen.