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
*/
	public static final int COLORS_ON_SELECTION = 1 << 0;
	/**
	 * Style constant for indicating to draw the focus if requested by the owner
	 * draw event. Default is to draw the focus.
	 */
	public static final int NO_FOCUS = 1 << 1;
	private final int style;
	private TextLayout cachedTextLayout; 
											
	private LabelPresentationInfo cachedLabelInfo;
	private boolean cachedWasWithColors;
	/**
	 * Creates a new StyledCellLabelProvider. The label provider does not apply
	 * colors on selection.
	 */
	public SimpleStyledCellLabelProvider() {
		this(0);
	}
	/**
	 * Creates a new StyledCellLabelProvider.
	 * 
	 * @param style
	 *            the style bits
	 * @see SimpleStyledCellLabelProvider#COLORS_ON_SELECTION
	 * @see SimpleStyledCellLabelProvider#NO_FOCUS
	 */
	public SimpleStyledCellLabelProvider(int style) {
		this.style = style;
	}