Наистина новият начин е да използвате чист e4 RCP, който използва новия модел на приложение с команди и манипулатори! (но e4 не поддържа много съществуващ код). В e4 менютата и лентите с инструменти са дефинирани в модела на приложението. Командите и манипулаторите се използват по подобен начин на традиционния код (но манипулаторите се изпълняват по различен начин).
За стил Eclipse 3, както сте открили, има бъркотия или начини за правене на нещата. Eclipse 4.3 отменя някои от най-старите (и това вече е маркирано в plugin.xml
).
Ако пишете RCP, който използва свой собствен ActionBarAdvisor
след това можете да дефинирате вашите елементи от лентата с инструменти там. Или можете да ги дефинирате в plugin.xml
за отделни плъгини. И двата метода са добре. Самият Eclipse дефинира основни действия в съветника с добавяне на плъгини, дефиниращи повече в техните plugin.xml.
Действия като Запазване които трябва да се обработват от множество части (като редактори) трябва да бъдат създадени в съветника и да използват RetargetAction
. Това позволява на всяка отделна част да свърже своето собствено действие с глобално дефинираното действие. Това може да стане и с commands
и множество handlers
които са по-близки до стила e4.
org.eclipse.ui.menus
сега е основната точка на разширение за принос към менютата и лентите с инструменти (игнорирайки всички отхвърлени части). Това до голяма степен ви принуждава да използвате commands
и handlers
.
Съветникът на лентата за действие Eclipse е org.eclipse.ui.internal.ide.WorkbenchActionBuilder
което може да помогне, въпреки че е голямо.
Мисля, че охлаждащата лента в Kepler е конструирана с помощта на новия модел на приложението e4 със стилизиране с помощта на някакъв сложен CSS.