Naprawdę nowym sposobem jest użycie czystego RCP e4, który wykorzystuje nowy model aplikacji z poleceniami i funkcjami obsługi! (ale e4 nie obsługuje wielu istniejących kodów). W e4 menu i paski narzędzi są zdefiniowane w modelu aplikacji. Komendy i handlery są używane w podobny sposób jak tradycyjny kod (ale handlery są implementowane inaczej).
W przypadku stylu Eclipse 3, jak już odkryłeś, istnieje mieszanina lub sposoby robienia rzeczy. Eclipse 4.3 deprecjonuje niektóre z najstarszych (i jest to teraz oznaczone w pliku plugin.xml
).
Jeśli piszesz RCP, który używa własnego ActionBarAdvisor
możesz tam zdefiniować elementy paska narzędzi. Lub możesz je zdefiniować w plugin.xml
dla poszczególnych wtyczek. Obie metody są w porządku. Samo Eclipse definiuje podstawowe działania w doradcy z dodawaniem wtyczek definiujących więcej w ich plugin.xmls.
Działania takie jak Zapisz które mają być obsługiwane przez wiele części (takich jak edytory) należy utworzyć w doradcy i użyć RetargetAction
. Dzięki temu każda pojedyncza część może połączyć własną akcję z akcję zdefiniowaną globalnie. Można to również zrobić za pomocą commands
i wiele handlers
które są bliższe stylowi e4.
org.eclipse.ui.menus
jest teraz głównym punktem rozszerzeń do tworzenia menu i pasków narzędzi (ignorując wszystkie przestarzałe części). To w dużym stopniu zmusza cię do użycia commands
i handlers
.
Doradca paska działań Eclipse to org.eclipse.ui.internal.ide.WorkbenchActionBuilder
co może pomóc, chociaż jest duże.
Myślę, że coolbar w Kepler jest skonstruowany przy użyciu nowego modelu aplikacji e4 ze stylizacją przy użyciu skomplikowanego CSS.