¡La forma realmente nueva es usar un RCP e4 puro que usa el nuevo modelo de aplicación con comandos y controladores! (pero e4 no admite una gran cantidad de código existente). En e4, los menús y las barras de herramientas se definen en el modelo de aplicación. Los comandos y controladores se utilizan de forma similar al código tradicional (pero los controladores se implementan de forma diferente).
Para el estilo de Eclipse 3, como ha descubierto, hay un revoltijo o formas de hacer las cosas. Eclipse 4.3 desaprueba algunos de los más antiguos (y esto ahora está marcado en el plugin.xml
).
Si está escribiendo un RCP que usa su propio ActionBarAdvisor
entonces puede definir los elementos de su barra de herramientas allí. O puede definirlos en el plugin.xml
para complementos individuales. Ambos métodos están bien. El propio Eclipse define las acciones principales en el asesor con complementos adicionales que definen más en sus plugin.xmls.
Acciones como Guardar que deben ser manejados por varias partes (como los editores) deben crearse en el asesor y usar RetargetAction
. Esto permite que cada parte individual conecte su propia acción con la acción definida globalmente. Esto también se puede hacer con commands
y varios handlers
que están más cerca del estilo e4.
org.eclipse.ui.menus
ahora es el principal punto de extensión para contribuir a los menús y barras de herramientas (ignorando todas las partes obsoletas). Esto prácticamente te obliga a usar commands
y handlers
.
El asesor de la barra de acciones de Eclipse es org.eclipse.ui.internal.ide.WorkbenchActionBuilder
que puede ayudar aunque es grande.
Creo que la barra de refrigeración de Kepler está construida usando el nuevo modelo de aplicación e4 con estilo usando CSS engañoso.