Den helt nye måde er at bruge en ren e4 RCP som bruger den nye applikationsmodel med kommandoer og handlere! (men e4 understøtter ikke meget eksisterende kode). I e4 er menuer og værktøjslinjer defineret i applikationsmodellen. Kommandoer og handlere bruges på samme måde som traditionel kode (men handlere implementeres anderledes).
For Eclipse 3-stil, som du har fundet ud af, er der et virvar eller måder at gøre tingene på. Eclipse 4.3 forælder nogle af de ældste (og dette er nu markeret i plugin.xml
).
Hvis du skriver en RCP, som bruger sin egen ActionBarAdvisor
så kan du definere dine værktøjslinjeelementer der. Eller du kan definere dem i plugin.xml
for individuelle plugins. Begge metoder er fine. Eclipse definerer selv kernehandlinger i rådgiveren med tilføjelsesplugins, der definerer mere i deres plugin.xmls.
Handlinger såsom Gem som skal håndteres af flere dele (såsom redaktører) skal oprettes i rådgiveren og bruge RetargetAction
. Dette giver hver enkelt del mulighed for at koble sin egen handling sammen med den globalt definerede handling. Dette kan også gøres med commands
og flere handlers
som er tættere på e4-stilen.
org.eclipse.ui.menus
er nu det vigtigste udvidelsespunkt for at bidrage til menuer og værktøjslinjer (ignorerer alle de forældede dele). Dette tvinger dig stort set til at bruge commands
og handlers
.
Eclipse-handlingslinjens rådgiver er org.eclipse.ui.internal.ide.WorkbenchActionBuilder
hvilket kan hjælpe, selvom det er stort.
Jeg tror, at coolbaren i Kepler er konstrueret ved hjælp af den nye e4-applikationsmodel med styling ved hjælp af noget vanskelig CSS.