package at.medevit.ch.artikelstamm.elexis.common.ui.decorator;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IDecoration;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ILightweightLabelDecorator;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.eclipse.wb.swt.ResourceManager;
import ch.artikelstamm.elexis.common.ArtikelstammItem;
import ch.elexis.core.ui.UiDesk;
public class ArtikelstammDecorator implements ILightweightLabelDecorator {
private static ImageDescriptor warning = PlatformUI.getWorkbench().getSharedImages()
.getImageDescriptor(ISharedImages.IMG_DEC_FIELD_WARNING);
private static ImageDescriptor ol_gGruen = ResourceManager.getPluginImageDescriptor(
"at.medevit.ch.artikelstamm.ui", "rsc/icons/generic_ol_white.png");
private static ImageDescriptor ol_oBlue = ResourceManager.getPluginImageDescriptor(
"at.medevit.ch.artikelstamm.ui", "rsc/icons/original_ol_white.png");
@Override
public void addListener(ILabelProviderListener listener){
// TODO Auto-generated method stub
}
@Override
public void dispose(){
// TODO Auto-generated method stub
}
@Override
public boolean isLabelProperty(Object element, String property){
// TODO Auto-generated method stub
return false;
}
@Override
public void removeListener(ILabelProviderListener listener){
// TODO Auto-generated method stub
}
@Override
public void decorate(Object element, IDecoration decoration){
ArtikelstammItem item = (ArtikelstammItem) element;
if (item.getExFactoryPrice() == 0.0 && item.getPublicPrice() == 0.0) {
decoration.addOverlay(warning, IDecoration.TOP_LEFT);
}
if (item.isBlackBoxed()) {
decoration.setForegroundColor(UiDesk.getColor(UiDesk.COL_WHITE));
decoration.setBackgroundColor(UiDesk.getColor(UiDesk.COL_BLACK));
}
String genericType = item.getGenericType();
if (genericType.startsWith("G")) {
decoration.addOverlay(ol_gGruen, IDecoration.BOTTOM_LEFT);
} else if (genericType.startsWith("O")) {
decoration.addOverlay(ol_oBlue, IDecoration.BOTTOM_LEFT);
}
}
}