/*- * Copyright © 2013 Diamond Light Source Ltd. * * This file is part of GDA. * * GDA is free software: you can redistribute it and/or modify it under the * terms of the GNU General Public License version 3 as published by the Free * Software Foundation. * * GDA is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along * with GDA. If not, see <http://www.gnu.org/licenses/>. */ package uk.ac.gda.common.rcp.jface.viewers; import org.eclipse.core.databinding.observable.map.IObservableMap; import org.eclipse.jface.databinding.viewers.ObservableMapCellLabelProvider; import org.eclipse.jface.viewers.ViewerCell; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Image; /** * A ObservableMapCellLabelProvider extended to have methods similar to a ColumnLabelProvider * */ public class ObservableMapColumnLabelProvider extends ObservableMapCellLabelProvider { public ObservableMapColumnLabelProvider(IObservableMap attributeMap) { super(attributeMap); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.CellLabelProvider#update(org.eclipse.jface.viewers.ViewerCell) */ @Override public void update(ViewerCell cell) { Object element = cell.getElement(); Object value = attributeMaps[0].get(element); cell.setText(getText(value)); Image image = getImage(value); cell.setImage(image); cell.setBackground(getBackground(value)); cell.setForeground(getForeground(value)); cell.setFont(getFont(value)); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) */ public String getText(Object element) { return element == null ? "" : element.toString(); } @SuppressWarnings("unused") public Image getImage(Object element) { return null; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IFontProvider#getFont(java.lang.Object) */ @SuppressWarnings("unused") public Font getFont(Object element) { return null; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object) */ @SuppressWarnings("unused") public Color getBackground(Object element) { return null; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object) */ @SuppressWarnings("unused") public Color getForeground(Object element) { return null; } }