// 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.internal.hotspots.pages; import java.util.List; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.swt.graphics.Image; import org.projectusus.ui.internal.DisplayHotspot; import org.projectusus.ui.internal.proportions.UsusModelLabelProvider; public class HotspotsLP extends UsusModelLabelProvider implements ITableLabelProvider { private final List<? extends HotspotsColumnDesc> columnDescs; public HotspotsLP( List<? extends HotspotsColumnDesc> columnDescs ) { this.columnDescs = columnDescs; } public String getColumnText( Object element, int columnIndex ) { if( element instanceof DisplayHotspot ) { return columnDescs.get( columnIndex ).getLabel( (DisplayHotspot<?>)element ); } return element.toString(); } public Image getColumnImage( Object element, int columnIndex ) { HotspotsColumnDesc cockpitColumnDesc = columnDescs.get( columnIndex ); if( cockpitColumnDesc == HotspotsColumnDesc.Trend && element instanceof DisplayHotspot ) { return ((DisplayHotspot<?>)element).getTrendImage(); } if( cockpitColumnDesc.hasImage() ) { return getColumnImageFor( element ); } return null; } }