Su conector puede utilizar decoradores para anotar información en las imágenes de los recursos y de otros objetos que aparezcan en las vistas del entorno de trabajo. Los decoradores son de utilidad cuando el conector aporta funciones para tipos de recursos existentes. Muchas de las vistas estándar del entorno de trabajo participan en el proceso de mostrar decoraciones.
Por ejemplo, el PDE contribuye con decoradores que permiten distinguir los proyectos binarios de los proyectos fuente.
El proyecto com.example.sourceProject es el único proyecto fuente que se muestra en la vista Navegador. Observe cómo los demás proyectos muestran el decorador de binario en la parte superior izquierda del icono de proyecto Java. Este decorador es una contribución del PDE realizada mediante el punto de extensión org.eclipse.ui.decorators.
<extension point="org.eclipse.ui.decorators"> <decorator objectClass="org.eclipse.core.resources.IResource" adaptable="true" label="%decorator.label" state="false" class="org.eclipse.pde.internal.ui.wizards.imports.BinaryProjectDecorator" id="org.eclipse.pde.ui.binaryProjectDecorator"> <description> %decorator.desc </description> </decorator> </extension>
El atributo class debe indicar el nombre de una clase que implemente la interfaz ILabelDecorator. Esta clase le permite decorar la imagen y el texto de la etiqueta original con sus propias anotaciones. Los atributos label y description designan el texto que permite nombrar y describir el decorador en el diálogo de preferencias. El atributo objectClass indica la clase de objetos a los que debe aplicarse el decorador. El distintivo adaptable indica si los objetos que se adaptan a la clase también se deben decorar. El distintivo state controla si el decorador es visible por omisión.
En última instancia, el usuario es quien controla los decoradores por medio de la página de preferencias titulada Decoraciones de etiquetas del entorno de trabajo. Es posible activar y desactivar los decoradores individuales. Aun así, es una buena idea diseñar los decoradores de tal manera que no se superpongan ni entren en conflicto con los decoradores de SDK existentes en la plataforma. Si los decoradores incluyen información que cueste de calcular o que pueda distraer la atención, tal vez le interese contribuir con preferencias propias que permitan al usuario ajustar todavía más el decorador una vez activado. Esta técnica es la que utiliza el cliente CVS.