Der wirklich neue Weg ist die Verwendung eines reinen e4-RCP, das das neue Anwendungsmodell mit Befehlen und Handlern verwendet! (aber e4 unterstützt nicht viel vorhandenen Code). In e4 werden Menüs und Symbolleisten im Anwendungsmodell definiert. Befehle und Handler werden ähnlich wie herkömmlicher Code verwendet (aber Handler werden anders implementiert).
Für den Eclipse 3-Stil gibt es, wie Sie festgestellt haben, ein Durcheinander von Möglichkeiten, Dinge zu tun. Eclipse 4.3 veraltet einige der ältesten (und dies ist jetzt in der plugin.xml
gekennzeichnet). ).
Wenn Sie einen RCP schreiben, der seinen eigenen ActionBarAdvisor
verwendet dann können Sie dort Ihre Symbolleistenelemente definieren. Oder Sie definieren sie in der plugin.xml
für einzelne Plugins. Beide Methoden sind in Ordnung. Eclipse selbst definiert Kernaktionen im Advisor, wobei Add-on-Plugins weitere in ihren plugin.xmls definieren.
Aktionen wie Speichern die von mehreren Teilen (z. B. Redakteuren) gehandhabt werden müssen, sollten im Advisor erstellt werden und RetargetAction
verwenden . Dadurch kann jedes einzelne Teil seine eigene Aktion mit der global definierten Aktion verknüpfen. Dies kann auch mit commands
erfolgen und mehrere handlers
die näher am e4-Stil liegen.
org.eclipse.ui.menus
ist jetzt der Haupterweiterungspunkt für Beiträge zu Menüs und Symbolleisten (ignoriert alle veralteten Teile). Dies zwingt Sie ziemlich dazu, commands
zu verwenden und handlers
.
Der Eclipse-Aktionsleistenratgeber ist org.eclipse.ui.internal.ide.WorkbenchActionBuilder
was helfen kann, obwohl es groß ist.
Ich denke, die Coolbar in Kepler wurde unter Verwendung des neuen e4-Anwendungsmodells konstruiert, wobei das Styling einige knifflige CSS verwendet.