2011-05-12 14 views
5

Necesito personalizar la apariencia & sensación de mi aplicación RCP. Eché un vistazo a Eclipse Presentation API y supongo que permite personalizar todo en workbench, excepto los controles. Entonces, ¿hay alguna solución para personalizar los controles? Realicé algunos trabajos de investigación e implementé algunas cunstomizaciones SWT ad-hoc utilizando el control canvas drawning. ¿Puede haber mejores soluciones? En SWING puedes usar el tema Synth. Sería interesante si existiera algún marco de "piel" para SWT. ¡Cualquier ayuda sería apreciada!eclipse apariencia y sensación de personalización

Respuesta

6

Una forma de personalizar una aplicación RCP es mediante el uso de un archivo plugin_customization.ini. De esta manera:

  1. Cree un nuevo archivo llamado "plugin_customization.ini" en la raíz de su proyecto.
  2. Si aún no lo ha hecho, cree una configuración de producto y defina un Producto.
  3. En el editor de manifiestos de su complemento, en la pestaña "Extensiones", ubique la extensión "org.eclipse.core.runtime.products", expanda el nodo, haga clic con el botón derecho en su nodo de producto y seleccione "Nueva> propiedad" desde Menú de contexto.
  4. Ingrese "preferenceCustomization" en el campo "name" y "plugin_customization.ini" en el campo "value".
  5. Seleccione "Archivo> Guardar" en el menú principal.

Luego puede personalizar muchas cosas simplemente editando el archivo plugin_customization.ini. Por ejemplo, añadiendo la línea siguiente

org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false 

te dará redondeado pestañas en sus vistas y editores (similares a los que tiene Eclipse IDE) en lugar de la falta de pago.
Puede encontrar otras constantes que puede usar en IWorkbenchPreferenceConstants javadoc.

Además, consulte el proyecto Eclipse skins, si aún no lo ha hecho.

También existe la posibilidad de use CSS to change the look & feel of your app, pero que está todavía en desarrollo y puede tener errores

En cuanto a la personalización de la SWT controla a sí mismos, la única manera de hacerlo (aparte de pequeñas personalizaciones como cambiar el fondo color de un control, etc.) es por creating your own custom controls by extending Canvas or Composite, pero usted ya lo sabe.
Tenga en cuenta que el objetivo de SWT es utilizar controles nativos, por lo que si desea personalizar completamente sus controles, quizás usar Swing sería una mejor opción. Sin embargo, si va a utilizar Swing, puede ser mejor usar otro RCP por completo, a saber, NetBeans RCP. Todavía no lo he probado, pero sé que mientras que Eclipse RCP usa SWT como un kit de herramientas para widgets, NetBeans RCP depende de Swing, por lo que puede evitarle dolores de cabeza con respecto a problemas de compatibilidad, etc.

+0

Gracias por una respuesta tan completa. Prefiero Eclipse RCP a NetBeans RCP, pero en la solución actual implemento soporte de skin mediante controles Swing de inyección en formularios SWT. Es un poco complicado y me gustaría excluir cualquier dependencia de Swing de la aplicación. Probaré el proyecto de máscaras de Eclipse. Creo que, ¿podría ser una buena idea implementar el soporte skin para los controles SWT usando algún renderizado vectorial? –

+0

@Viktor Griffo - ¡Me alegra ayudar! Como dije antes, los controles SWT son nativos, son dibujados por el sistema operativo, por lo que realmente no se puede hacer mucho sobre la forma en que miran la capa de aplicación. Solo puedes personalizar lo que el sistema operativo permite. Por ejemplo, no puede establecer una imagen de fondo para un botón en Windows, ya que ese sistema operativo no permite eso. – Sandman

+0

Sí, lo entiendo. Usé http://freshmeat.net/projects/rcptoolbox para personalizar los controles. Como supongo que esos controles implementados en la parte superior de Composites y lienzos personalizables? –

2

El nuevo Eclipse 4 obra contiene los plugins que permiten que el L & F a ser personalizado usando CSS. Estos complementos se pueden ejecutar en un entorno 3.7 Eclipse. Vea el blog de Kai para una presentación sobre el tema: http://www.toedter.com/blog/?p=477

El Tutorial de estilo Eclipse 4 tiene una diapositiva (p.66) donde obtener un ejemplo de RCP basado en 3.7.

+1

Eché un vistazo a Eclipse 4 hace aproximadamente 10 meses para decidir si podría usarse para mi proyecto. Parece un poco problemático. El estilo de CSS es una buena solución, pero necesito implementar una GUI completamente rediseñada, como Swing Synth lo permite. –

Cuestiones relacionadas