com.nokia.traceviewer.dialog.treeitem.TreeItemLabelProvider.java Source code

Java tutorial

Introduction

Here is the source code for com.nokia.traceviewer.dialog.treeitem.TreeItemLabelProvider.java

Source

/*
 * Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
 *
 * Contributors:
 *
 * Description:
 *
 * TreeItem Label Provider
 *
 */
package com.nokia.traceviewer.dialog.treeitem;

import java.net.URL;

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

import com.nokia.traceviewer.TraceViewerPlugin;

/**
 * TreeItem Label Provider
 * 
 */
public class TreeItemLabelProvider implements ILabelProvider {

    /**
     * Group image
     */
    private final Image groupImage;

    /**
     * Tree item image
     */
    private final Image treeItemImage;

    /**
     * Tree Component item image
     */
    private final Image treeComponentItemImage;

    /**
     * Stop trigger tree item image
     */
    private final Image stopTriggerItemImage;

    /**
     * Activation trigger tree item image
     */
    private final Image activationTriggerItemImage;

    /**
     * Constructor
     */
    public TreeItemLabelProvider() {
        // Create group icon
        URL url = TraceViewerPlugin.getDefault().getBundle().getEntry("/icons/folder.gif"); //$NON-NLS-1$
        groupImage = ImageDescriptor.createFromURL(url).createImage();

        // Create tree item icon
        url = TraceViewerPlugin.getDefault().getBundle().getEntry("/icons/listitem.gif"); //$NON-NLS-1$
        treeItemImage = ImageDescriptor.createFromURL(url).createImage();

        // Create tree Component item icon
        url = TraceViewerPlugin.getDefault().getBundle().getEntry("/icons/listcomponentitem.gif"); //$NON-NLS-1$
        treeComponentItemImage = ImageDescriptor.createFromURL(url).createImage();

        // Create stop trigger item icon
        url = TraceViewerPlugin.getDefault().getBundle().getEntry("/icons/stoptrigger.gif"); //$NON-NLS-1$
        stopTriggerItemImage = ImageDescriptor.createFromURL(url).createImage();

        // Create activation trigger item icon
        url = TraceViewerPlugin.getDefault().getBundle().getEntry("/icons/activationtrigger.gif"); //$NON-NLS-1$
        activationTriggerItemImage = ImageDescriptor.createFromURL(url).createImage();
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
     */
    public Image getImage(Object element) {
        Image image;
        if (((TreeItem) element).isGroup()) {
            image = groupImage;
        } else {
            // Stop trigger image
            if (element instanceof TriggerTreeItem
                    && ((TriggerTreeItem) element).getType() == TriggerTreeItem.Type.STOPTRIGGER) {
                image = stopTriggerItemImage;

                // Activation trigger image
            } else if (element instanceof TriggerTreeItem
                    && ((TriggerTreeItem) element).getType() == TriggerTreeItem.Type.ACTIVATIONTRIGGER) {
                image = activationTriggerItemImage;

                // Component rule tree images
            } else if (componentRuleSelected(element)) {
                image = treeComponentItemImage;

                // Text rule tree images
            } else {
                image = treeItemImage;
            }
        }
        return image;
    }

    /**
     * Checks if the element is component rule
     * 
     * @param element
     *            the element to check
     * @return true if the element is component rule
     */
    private boolean componentRuleSelected(Object element) {
        boolean isComponent = false;
        if (element instanceof ColorTreeComponentItem || element instanceof FilterTreeComponentItem
                || element instanceof LineCountTreeComponentItem) {
            isComponent = true;
        }
        return isComponent;
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
     */
    public String getText(Object element) {
        String text = ((TreeItem) element).getName();
        return text;
    }

    /*
     * (non-Javadoc)
     * 
     * @see
     * org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.
     * jface.viewers.ILabelProviderListener)
     */
    public void addListener(ILabelProviderListener listener) {

    }

    /*
     * (non-Javadoc)
     * 
     * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
     */
    public void dispose() {
        // Dispose images
        if (groupImage != null) {
            groupImage.dispose();
        }
        if (treeItemImage != null) {
            treeItemImage.dispose();
        }
        if (stopTriggerItemImage != null) {
            stopTriggerItemImage.dispose();
        }
    }

    /*
     * (non-Javadoc)
     * 
     * @see
     * org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang
     * .Object, java.lang.String)
     */
    public boolean isLabelProperty(Object element, String property) {
        return false;
    }

    /*
     * (non-Javadoc)
     * 
     * @see
     * org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse
     * .jface.viewers.ILabelProviderListener)
     */
    public void removeListener(ILabelProviderListener listener) {

    }

}