Project: Eclipse_Platform_UI
Bug 121623 [Decorators] Patch to support logical model decoration
Reported: 2005-12-20 15:32:15 | Status: verified fixed

In order to properly support the decoration of logical model elements with repository state, we need to have a tighter coupling of the sync decoration (i.e. the > prefix) and the viewer showing the model. This is not overly complex but we must maintain backwards compatibility. To do this, we need a way for a viewer (via it's label provider) to say that it will handle the sync decoration. If the label provider handles sync decoration, the lightweight decorator should not. If the label provider does not, the lightweight decorator shoudl still do the decoration. To support this, I have modifed JFace and Wokbench to pass a decoration context from the decorating label provider through to the lightweight decorators. I will attach what I have done so far for comment.

Files changed in fix:
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecorationContext.java bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDecoration.java bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDecorationContext.java bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelUpdateProcessor.java bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelUpdateValidator.java bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/LabelDecorator.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IDecoratorManager.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationBuilder.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationReference.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationScheduler.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorManager.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightDecoratorManager.java