package org.nightlabs.jfire.personrelation.trade.ui.tucked; import org.eclipse.jface.viewers.ColumnViewer; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.nightlabs.jfire.personrelation.ui.tree.PersonRelationTreeLabelProvider; /** * An extension of the original {@link PersonRelationTreeLabelProvider}, but tweaked for font-color displays, depending on the * information carried inside a particular {@link TuckedPersonRelationTreeNode}. * * @author khaireel */ public class TuckedPersonRelationTreeLabelProvider extends PersonRelationTreeLabelProvider<TuckedPersonRelationTreeNode> { private Display device; private Color colorTextDim = null; /** * Creates a new instance of a TuckedPersonRelationTreeLabelProvider. */ public TuckedPersonRelationTreeLabelProvider(ColumnViewer columnViewer, Display device) { super(columnViewer); this.device = device; // Setup up operational colors. colorTextDim = new Color(this.device, 139, 119, 101); //205, 192, 176); //238, 233, 233); } @Override protected void paint(Event event, Object element) { // Special tucked-node settings. if (element instanceof TuckedPersonRelationTreeNode) { TuckedPersonRelationTreeNode tuckedNode = (TuckedPersonRelationTreeNode) element; if (!tuckedNode.isNodePartOfTuckedPath()) event.gc.setForeground(colorTextDim); } // Done playing with text colors. super.paint(event, element); } }