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
*         to use the default background color
		 */
		public Color getDefaultBackground() {
			return this.defaultBackgroundColor;
		}
		/**
		 * Provides a default font of the current element.
		 * 
		 * @return the font for the element, or <code>null</code> to use the
		 *         default font
		 */
		public Font getDefaultFont() {
			return this.defaultFont;
		}
		/**
		 * Provides a default foreground color of the current element, which is
		 * used for the part of the label where no foreground color is specified
		 * in the StyleRanges provided by {@link #getStyleRanges}.
		 * 
		 * @return the foreground color for the element, or <code>null</code>
		 *         to use the default foreground color
		 */
		public Color getDefaultForeground() {
			return this.defaultForegroundColor;
		}
	}
	private static final String KEY_TEXT_LAYOUT = "styled_label_key_"; 
	/**
	 * Style constant for indicating that the styled colors are to be applied
	 * even it the viewer's item is selected. Default is not to apply colors.