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
* 
		 * @param text
		 *            the text of the current element
		 * @param ranges
		 *            the styled ranges for the element
		 * @param image
		 *            the image for the element or <code>null</code>
		 * @param defaultFont
		 *            the default font for the element or <code>null</code>
		 * @param defaultForegroundColor
		 *            the default foreground color for the element or
		 *            <code>null</code>
		 * @param defaultBackgroundColor
		 *            the default background color for the element or
		 *            <code>null</code>
		 */
		public LabelPresentationInfo(String text, StyleRange[] ranges,
				Image image, Font defaultFont, Color defaultForegroundColor,
				Color defaultBackgroundColor) {
			Assert.isNotNull(text);
			Assert.isNotNull(ranges);
			this.text = text;
			this.ranges = ranges;
			this.image = image;
			this.defaultFont = defaultFont;
			this.defaultForegroundColor = defaultForegroundColor;
			this.defaultBackgroundColor = defaultBackgroundColor;
		}
		/**
		 * Provides the text of the current element.