package net.certware.measurement.spm.navigator;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.navigator.IDescriptionProvider;
/**
* Label provider for navigator contribution.
* Provides summary data about the model resource.
* @author mrb
* @since 1.0
*/
public class LabelProvider implements ILabelProvider, IDescriptionProvider {
/**
* Constructor creates the image references.
*/
public LabelProvider() {
}
@Override
public void addListener(ILabelProviderListener listener) {
}
@Override
public void dispose() {
}
@Override
public boolean isLabelProperty(Object element, String property) {
return false;
}
@Override
public void removeListener(ILabelProviderListener listener) {
}
@Override
public String getDescription(Object anElement) {
if ( anElement instanceof TreeData ) {
TreeData td = (TreeData)anElement;
return getText(td);
}
return null;
}
@Override
public Image getImage(Object element) {
if ( element instanceof TreeData ) {
TreeData td = (TreeData)element;
if ( td.getKey().equals(Activator.NODE_ADAPTABILITY ) )
return Activator.getDefault().getImageRegistry().get(Activator.NODE_ADAPTABILITY);
if ( td.getKey().equals(Activator.NODE_ADAPTABILITY_TREND) )
return Activator.getDefault().getImageRegistry().get(Activator.NODE_ADAPTABILITY_TREND);
if ( td.getKey().equals(Activator.NODE_MAINTAINABILITY) )
return Activator.getDefault().getImageRegistry().get(Activator.NODE_MAINTAINABILITY);
if ( td.getKey().equals(Activator.NODE_MATURITY) )
return Activator.getDefault().getImageRegistry().get(Activator.NODE_MATURITY);
if ( td.getKey().equals(Activator.NODE_MATURITY_TREND) )
return Activator.getDefault().getImageRegistry().get(Activator.NODE_MATURITY_TREND);
if ( td.getKey().equals(Activator.NODE_MODULARITY) )
return Activator.getDefault().getImageRegistry().get(Activator.NODE_MODULARITY);
if ( td.getKey().equals(Activator.NODE_MODULARITY_TREND) )
return Activator.getDefault().getImageRegistry().get(Activator.NODE_MODULARITY_TREND);
if ( td.getKey().equals(Activator.NODE_REWORK_BACKLOG) )
return Activator.getDefault().getImageRegistry().get(Activator.NODE_REWORK_BACKLOG);
if ( td.getKey().equals(Activator.NODE_REWORK_RATIO) )
return Activator.getDefault().getImageRegistry().get(Activator.NODE_REWORK_RATIO);
if ( td.getKey().equals(Activator.NODE_REWORK_STABILITY) )
return Activator.getDefault().getImageRegistry().get(Activator.NODE_REWORK_STABILITY);
if ( td.getKey().equals(Activator.NODE_SCRAP_RATIO) )
return Activator.getDefault().getImageRegistry().get(Activator.NODE_SCRAP_RATIO);
}
return null;
}
/**
* Gets the text composed of description and value.
* Always uses index zero of the measurement list.
* @param element expects a TreeData object.
* @return formatting string, or null
*/
@Override
public String getText(Object element) {
if ( element instanceof TreeData ) {
TreeData td = (TreeData)element;
return String.format("%s %s",td.getDescription(),td.getValue(0));
}
return null;
}
}