Skutečně novým způsobem je použití čistého e4 RCP, které využívá nový aplikační model s příkazy a handlery! (ale e4 nepodporuje mnoho existujícího kódu). V e4 jsou nabídky a panely nástrojů definovány v modelu aplikace. Příkazy a handlery se používají podobným způsobem jako tradiční kód (ovšem handlery jsou implementovány jinak).
Pro styl Eclipse 3, jak jste zjistili, existuje změť nebo způsoby, jak věci dělat. Eclipse 4.3 zavrhuje některé z nejstarších (a to je nyní označeno v plugin.xml
).
Pokud píšete RCP, který používá svůj vlastní ActionBarAdvisor
pak tam můžete definovat položky panelu nástrojů. Nebo je můžete definovat v plugin.xml
pro jednotlivé pluginy. Oba způsoby jsou v pořádku. Eclipse sám definuje základní akce v poradci s doplňkovými pluginy, které definují více v jejich plugin.xmls.
Akce jako Uložit které je třeba zpracovat více částmi (například editory), by měly být vytvořeny v poradci a použít RetargetAction
. To umožňuje každé jednotlivé části propojit svou vlastní akci s globálně definovanou akcí. To lze také provést pomocí commands
a více handlers
které jsou blíže stylu e4.
org.eclipse.ui.menus
je nyní hlavním bodem rozšíření pro přispívání do nabídek a panelů nástrojů (ignoruje všechny zastaralé části). To vás do značné míry nutí používat commands
a handlers
.
Poradce panelu akcí Eclipse je org.eclipse.ui.internal.ide.WorkbenchActionBuilder
který může pomoci, i když je velký.
Myslím, že coolbar v Kepleru je zkonstruován pomocí nového aplikačního modelu e4 se stylováním pomocí nějakého složitého CSS.