Bug 61869 [JFace] JFace does not reflect the new color options for SWT Table and tree
The IColorProvider can be implemented by a label provider to provide background and foreground colors to a viewer. This should be changed to set the colors for individual cells, as is possible with the new SWT functionality already implemented in SWT. Changes: 1) IColorProvider - two supplementing methods Color getForeground(Object element, int index); Color getBackground(Object element, int index); 2) References to IColorProvider to the new methods doUpdateItem(Item, Object) - org.eclipse.jface.viewers.TableTreeViewer (3 matches) doUpdateItem(Item, Object) - org.eclipse.jface.viewers.TreeViewer (3 matches) doUpdateItem(Widget, Object, boolean) - org.eclipse.jface.viewers.TableViewer (3 matches)
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
import java.util.List;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.TableEditor;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Item;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Widget;
import org.eclipse.jface.util.Assert;
/**
 * A concrete viewer based on a SWT <code>Table</code> control.
 * <p>
 * This class is not intended to be subclassed outside the viewer framework. 
 * It is designed to be instantiated with a pre-existing SWT table control and configured
 * with a domain-specific content provider, table label provider, element filter (optional),
 * and element sorter (optional).
 * </p>
 * <p>
 * Label providers for table viewers must implement either the <code>ITableLabelProvider</code>
 * or the <code>ILabelProvider</code> interface (see <code>TableViewer.setLabelProvider</code> 
 * for more details).
 * </p>
 */
public class TableViewer extends StructuredViewer {
	/**