// Copyright (c) 2009-2010 by the projectusus.org contributors // This software is released under the terms and conditions // of the Eclipse Public License (EPL) 1.0. // See http://www.eclipse.org/legal/epl-v10.html for details. package org.projectusus.ui.viewer; import java.util.List; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; public abstract class ColumnDescLabelProvider<T> extends LabelProvider implements ITableLabelProvider { private final List<? extends IColumnDesc<T>> columnDescs; private final Class<T> clazz; public ColumnDescLabelProvider( Class<T> clazz, List<? extends IColumnDesc<T>> columnDescs ) { this.clazz = clazz; this.columnDescs = columnDescs; } @SuppressWarnings( "unchecked" ) public String getColumnText( Object element, int columnIndex ) { String result = element.toString(); if( clazz.isAssignableFrom( element.getClass() ) ) { result = columnDescs.get( columnIndex ).getLabel( (T)element ); } return result; } public Image getColumnImage( @SuppressWarnings( "unused" ) Object element, @SuppressWarnings( "unused" ) int columnIndex ) { return null; } }