Votre plug-in peut utiliser des décorateurs pour annoter des images pour des images et d'autres objets apparaissant dans les vues du plan de travail. Les décorateurs sont utiles lorsque votre décorateur ajoute des fonctionnalités à des types de ressources existants. De nombreuses vues standard du plan de travail participent à l'affichage des décorations.
Par exemple, PDE ajoute des décorateurs vous permettant de faire la distinction entre des projets binaires et des projets source.
Le projet com.example.sourceProject est le seul projet source apparaissant dans le navigateur. Tous les autres projets binaires présentent le décorateur binaire dans le coin supérieur gauche de l'icône du projet Java. Ce décorateur est ajouté par PDE à l'aide du point d'extension 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>
L'attribut class doit nommer une classe implémentant ILabelDecorator. Cette classe vous permet de décorer l'image de l'intitulé d'origine et le texte accompagnant vos annotations. Les attributs label et description désignent le texte utilisé pour nommer et décrire le décorateur dans la boîte de dialogue de préférences. L'attribut objectClass nomme la classe d'objets à laquelle le décorateur doit être appliqué. L'indicateur adaptable précise si les objets s'adaptant à la classe doivent également être décorés. L'indicateur state contrôle si le décorateur est par défaut visible.
Les décorateurs sont finalement contrôlés par l'utilisateur via la page de préférences Décorations d'intitulés du plan de travail. Des décorateurs individuels peuvent être activés ou désactivés. Il est conseillé de concevoir vos décorateurs de façon à ce qu'ils n'empiètent pas ou n'entrent pas en conflit avec ceux SDK de la plateforme. Si vos décorateurs incluent des informations problématiques ou supposant des coûts de calcul, vous pouvez ajouter vos propres préférences afin de permettre à l'utilisateur d'ajuster par la suite le décorateur une fois ce dernier activé. Cette technique est utilisée par le client CVS.