Bug 213166 [Viewers] Problems with OwnerDrawLabelProvider.setUpOwnerDraw
3.4 M4 To set up the owner draw callbacks for a viewer OwnerDrawLabelProvider.setUpOwnerDraw is offered. The problem of this is: a. there's no way to uninstall the callbacks. In our views we want to allow to enable and disable owner draw in the preferences b. from an API client perspective, it would be nicer if the label provider could install itself when installed. A good solution would be to add more life cycle to a label provider. CellLabelProvider.initialize(ColumnViewer, int column) There's already ILableProvider.dispose when a label provider is removed from a viewer.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/SimpleStyledCellLabelProvider.java
* 
		 * @return returns the text.
		 */
		public String getText() {
			return this.text;
		}
		/**
		 * Provides the styled ranges that can be applied to the text provided
		 * by {@link #getText()}. The {@link SimpleStyledCellLabelProvider}
		 * will ignore all font settings.
		 * 
		 * @return the styled ranges for the element
		 */
		public StyleRange[] getStyleRanges() {
			return this.ranges;
		}
		/**
		 * Provides the image of the current element.
		 * 
		 * @return returns the image.
		 */
		public Image getImage() {
			return this.image;
		}
		/**
		 * Provides a default background color of the current element, which is
		 * used for the part of the label where no background color is specified
		 * in the StyleRanges provided by {@link #getStyleRanges}.
		 * 
		 * @return the background color for the element, or <code>null</code>