De echt nieuwe manier is om een pure e4 RCP te gebruiken die het nieuwe applicatiemodel met commando's en handlers gebruikt! (maar e4 ondersteunt niet veel bestaande code). In e4 zijn menu's en werkbalken gedefinieerd in het applicatiemodel. Opdrachten en handlers worden op dezelfde manier gebruikt als traditionele code (maar handlers worden anders geïmplementeerd).
Voor de Eclipse 3-stijl, zoals je hebt gevonden, is er een wirwar of manieren om dingen te doen. Eclipse 4.3 deprecieert enkele van de oudste (en dit is nu gemarkeerd in de plugin.xml
).
Als u een RCP schrijft die zijn eigen ActionBarAdvisor
. gebruikt dan kunt u daar uw werkbalkitems definiëren. Of u kunt ze definiëren in de plugin.xml
voor individuele plug-ins. Beide methoden zijn prima. Eclipse definieert zelf kernacties in de adviseur met add-on-plug-ins die meer definiëren in hun plugin.xmls.
Acties zoals Opslaan die door meerdere onderdelen moeten worden afgehandeld (zoals editors) moeten in de adviseur worden gemaakt en RetargetAction
gebruiken . Hierdoor kan elk afzonderlijk onderdeel zijn eigen actie koppelen aan de globaal gedefinieerde actie. Dit kan ook met commands
en meerdere handlers
die dichter bij de e4-stijl liggen.
org.eclipse.ui.menus
is nu het belangrijkste uitbreidingspunt om bij te dragen aan menu's en werkbalken (waarbij alle verouderde onderdelen worden genegeerd). Dit dwingt je min of meer om commands
te gebruiken en handlers
.
De Eclipse-actiebalkadviseur is org.eclipse.ui.internal.ide.WorkbenchActionBuilder
wat kan helpen, hoewel het groot is.
Ik denk dat de coolbar in Kepler is geconstrueerd met behulp van het nieuwe e4-toepassingsmodel met styling met behulp van wat lastige CSS.