Team decorators

Since any view that shows resources can contain projects that are configured with different team providers, it is helpful for team providers to contribute decorators that distinguish resources configured for their repository.  The CVS client uses decorators to show information such as a dirty flag (the > symbol), tags, keywords (e.g. "(ASCII -kkv)"), and revisions (e.g. "1.15"). Icons can also be decorated (e.g. the version control icon symbol indicates that the resource is managed by CVS).

Resource navigator with team decorators turned on

Some decorators may be expensive to compute, so it's a good idea to allow the users some control over the use, or even content, of decorators.  The CVS client provides a preference page that allows users to control the presentation and content of decorators.

See org.eclipse.ui.decorators for a complete description of the decorator extension point.  The CVS decorator markup is as follows:

<extension
     point="org.eclipse.ui.decorators">
  <decorator
        objectClass="org.eclipse.core.resources.IResource"
        adaptable="true"
        label="%DecoratorStandard.name"
        state="false"
        class="org.eclipse.team.internal.ccvs.ui.CVSDecorator"
        id="org.eclipse.team.cvs.ui.decorator">
     <description>
        %DecoratorStandard.description
     </description>
  </decorator>
</extension>