fr.lip6.move.coloane.core.ui.views.TreeLabelProvider.java Source code

Java tutorial

Introduction

Here is the source code for fr.lip6.move.coloane.core.ui.views.TreeLabelProvider.java

Source

/**
 * Copyright (c) 2006-2010 MoVe - Laboratoire d'Informatique de Paris 6 (LIP6).
 * 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:
 *   Jean-Baptiste VORON (LIP6) - Project Head / Initial contributor
 *   Clment DMOULINS (LIP6) - Project Manager
 *
 * Official contacts:
 *   coloane@lip6.fr
 *   http://coloane.lip6.fr
 */
package fr.lip6.move.coloane.core.ui.views;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.swt.graphics.Image;

/**
 * Label provider for {@link Tree} objects.
 *
 * @author Clment Dmoulins
 */
public final class TreeLabelProvider implements ILabelProvider {

    private final List<Image> images = new ArrayList<Image>();

    /** {@inheritDoc} */
    @Override
    public Image getImage(Object element) {
        if (element instanceof Tree) {
            ImageDescriptor descriptor = ((Tree) element).getIcon();
            if (descriptor != null) {
                Image icon = descriptor.createImage();
                images.add(icon);
                return icon;
            }
        }
        return null;
    }

    /** {@inheritDoc} */
    @Override
    public String getText(Object element) {
        if (element instanceof Tree) {
            return ((Tree) element).getName();
        }
        return null;
    }

    /** {@inheritDoc} */
    @Override
    public void addListener(ILabelProviderListener listener) {
    }

    /** {@inheritDoc} */
    @Override
    public void dispose() {
        for (Image img : images) {
            img.dispose();
        }
    }

    /** {@inheritDoc} */
    @Override
    public boolean isLabelProperty(Object element, String property) {
        return false;
    }

    /** {@inheritDoc} */
    @Override
    public void removeListener(ILabelProviderListener listener) {
    }

}