at.medevit.ch.artikelstamm.ui.ArtikelstammLabelProvider.java Source code

Java tutorial

Introduction

Here is the source code for at.medevit.ch.artikelstamm.ui.ArtikelstammLabelProvider.java

Source

/*******************************************************************************
 * Copyright (c) 2013 MEDEVIT.
 * 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:
 *     MEDEVIT <office@medevit.at> - initial API and implementation
 ******************************************************************************/
package at.medevit.ch.artikelstamm.ui;

import org.eclipse.jface.viewers.IColorProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
import org.eclipse.wb.swt.ResourceManager;

import at.medevit.ch.artikelstamm.ArtikelstammConstants.TYPE;
import ch.elexis.core.ui.UiDesk;
import at.medevit.ch.artikelstamm.IArtikelstammItem;

public class ArtikelstammLabelProvider extends LabelProvider implements IColorProvider {

    private static Image emptyTransparent = ResourceManager.getPluginImage("at.medevit.ch.artikelstamm.ui",
            "rsc/icons/emptyTransparent.png");
    private static Image pharmaMain = ResourceManager.getPluginImage("at.medevit.ch.artikelstamm.ui",
            "rsc/icons/pharma.png");
    private static Image nonPharmaMain = ResourceManager.getPluginImage("at.medevit.ch.artikelstamm.ui",
            "rsc/icons/nonPharma.png");
    private static Image slMain = ResourceManager.getPluginImage("at.medevit.ch.artikelstamm.ui",
            "rsc/icons/sl.png");

    @Override
    public String getText(Object element) {
        IArtikelstammItem item = (IArtikelstammItem) element;
        StringBuilder sb = new StringBuilder();
        if (item.getDeductible() > 0) {
            sb.append("[" + item.getDeductible() + "%] ");
        }
        sb.append(item.getLabel());
        return sb.toString();
    }

    @Override
    public Image getImage(Object element) {
        IArtikelstammItem item = (IArtikelstammItem) element;

        TYPE itemType = item.getType();
        if (itemType == null) {
            return emptyTransparent;
        }

        switch (itemType) {
        case N:
            return nonPharmaMain;
        case P:
            return (item.isInSLList()) ? slMain : pharmaMain;
        case X:
            return pharmaMain;
        }
        return emptyTransparent;
    }

    @Override
    public Color getForeground(Object element) {
        return null;
    }

    @Override
    public Color getBackground(Object element) {
        IArtikelstammItem item = (IArtikelstammItem) element;

        TYPE itemType = item.getType();
        if (itemType == null) {
            return null;
        }

        if (itemType == TYPE.X) {
            return UiDesk.getColor(UiDesk.COL_SKYBLUE);
        }

        return null;
    }

}