edu.harvard.i2b2.eclipse.plugins.metadataLoader.model.MetadataLabelProvider.java Source code

Java tutorial

Introduction

Here is the source code for edu.harvard.i2b2.eclipse.plugins.metadataLoader.model.MetadataLabelProvider.java

Source

/*
* Copyright (c) 2006-2013 Massachusetts General Hospital 
 * All rights reserved. This program and the accompanying materials 
* are made available under the terms of the i2b2 Software License v2.1 
 * which accompanies this distribution. 
 * 
 * Contributors:
 *     Lori Phillips 
 */
package edu.harvard.i2b2.eclipse.plugins.metadataLoader.model;

import org.eclipse.jface.resource.ColorRegistry;
import org.eclipse.jface.resource.FontRegistry;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.TableItem;

import edu.harvard.i2b2.ontclient.datavo.vdo.OntologyLoadType;

public class MetadataLabelProvider extends LabelProvider implements ITableLabelProvider {

    public static final Class THIS_CLASS = MetadataLabelProvider.class;

    //   private static final Image CHECKED = ImageDescriptor.createFromFile(THIS_CLASS,
    //            "icons/checkBox_checked_Black.png").createImage();

    //   private static final Image UNCHECKED = ImageDescriptor.createFromFile(THIS_CLASS,
    //            "icons/checkBox_unchecked.png").createImage();

    //   private static final Image CONSERVATION = ImageDescriptor.createFromFile(THIS_CLASS,
    //   "icons/conservation.png").createImage();

    private TableViewer viewer;
    private Display display;
    private FontRegistry fontRegistry;
    private ColorRegistry colorRegistry;

    public MetadataLabelProvider(TableViewer viewer, Display display) {
        this.viewer = viewer;
        this.display = display;
        fontRegistry = new FontRegistry();
        createFontRegistry();
        colorRegistry = new ColorRegistry();
        createColorRegistry();
    }

    private void createFontRegistry() {
        Font defaultFont = this.fontRegistry.defaultFont();
        this.fontRegistry.put("default", defaultFont.getFontData());

    }

    private void createColorRegistry() {

        //   Color colorGreen = Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GREEN);
        //   Color colorCyan = Display.getCurrent().getSystemColor(SWT.COLOR_DARK_CYAN);
        //   Color colorRed = Display.getCurrent().getSystemColor(SWT.COLOR_RED);
        //   Color colorYellow = Display.getCurrent().getSystemColor(SWT.COLOR_DARK_YELLOW);

        Color defaultColor = Display.getCurrent().getSystemColor(SWT.COLOR_BLACK);

        this.colorRegistry.put("default", defaultColor.getRGB());
        //      this.colorRegistry.put("green", colorGreen.getRGB());
        //      this.colorRegistry.put("red", colorRed.getRGB());
        //      this.colorRegistry.put("cyan", colorCyan.getRGB());
        //      this.colorRegistry.put("yellow", colorYellow.getRGB());

    }

    @Override
    public Image getColumnImage(Object element, int columnIndex) {
        // In case you don't like image just return null here

        return null;
    }

    @Override
    public String getColumnText(Object element, int columnIndex) {
        OntologyLoadType ont = (OntologyLoadType) element;

        TableItem item = (TableItem) (viewer.testFindItem(element));
        item.setFont(fontRegistry.get("default"));

        //   String colorKey = SchemesHash.getInstance().getColorKey(term.getSourceCodingSystem());

        //   if(colorKey == null)
        String colorKey = "default";
        item.setForeground(colorRegistry.get(colorKey));

        String tooltip = ont.getDescription();
        if ((tooltip == null) || (tooltip.equals(""))) {
            tooltip = "";
        }
        tooltip = " " + tooltip + " ";

        item.setData("TOOLTIP", tooltip);

        switch (columnIndex) {

        case 0:
            return ont.getDisplayName();
        case 1:
            return ont.getVersion();
        case 2:
            return ont.getTableName();
        case 3:
            return ont.getSource();
        case 4:
            return ont.getFileCreationDate();
        case 5:
            return ont.getContact();
        case 6:
            return ont.getComments();

        default:
            return "Should not happen";
        }

    }
}