Bug 121623 [Decorators] Patch to support logical model decoration
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.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java
/*******************************************************************************
 * Copyright (c) 2000, 2004 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.jface.viewers;
import org.eclipse.core.runtime.ListenerList;
import org.eclipse.jface.util.Assert;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
/**
 * A decorating label provider is a label provider which combines 
 * a nested label provider and an optional decorator.
 * The decorator decorates the label text, image, font and colors provided by 
 * the nested label provider.
 */
public class DecoratingLabelProvider extends LabelProvider implements