blob: ddd71adc89043efc649a8fb6d08375b5c50f9087 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011 University of Illinois All rights reserved. This program
* and the accompanying materials are made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Albert L. Rossi - modifications
* M Venkataramana - original code: http://eclipse.dzone.com/users/venkat_r_m
******************************************************************************/
package org.eclipse.ptp.rm.jaxb.ui.providers;
import java.util.List;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.ptp.rm.jaxb.ui.IJAXBUINonNLSConstants;
import org.eclipse.ptp.rm.jaxb.ui.data.ColumnDescriptor;
import org.eclipse.ptp.rm.jaxb.ui.data.RowData;
import org.eclipse.ptp.rm.jaxb.ui.messages.Messages;
import org.eclipse.swt.graphics.Image;
public class TableDataLabelProvider implements ITableLabelProvider, IJAXBUINonNLSConstants {
private final List<ColumnDescriptor> columnDescriptors;
public TableDataLabelProvider(List<ColumnDescriptor> columnDescriptors) {
this.columnDescriptors = columnDescriptors;
}
public void addListener(ILabelProviderListener listener) {
}
public void dispose() {
}
public Image getColumnImage(Object element, int columnIndex) {
RowData row = (RowData) element;
return row.getColumnImage(getColumnName(columnIndex));
}
public String getColumnText(Object element, int columnIndex) {
RowData row = (RowData) element;
String displayText = row.getColumnDisplayValue(getColumnName(columnIndex));
return displayText != null ? displayText : ZEROSTR;
}
public boolean isLabelProperty(Object element, String property) {
return false;
}
public void removeListener(ILabelProviderListener listener) {
}
private String getColumnName(int columnIndex) {
if (columnIndex >= columnDescriptors.size()) {
throw new ArrayIndexOutOfBoundsException(Messages.TableDataLabelProviderColumnError + columnIndex);
}
return columnDescriptors.get(columnIndex).getColumnName();
}
}