diff -r ed1c9f64298a -r 5b9d4d8641ce trace/traceviewer/com.nokia.traceviewer/src/com/nokia/traceviewer/dialog/treeitem/TreeItemLabelProvider.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/trace/traceviewer/com.nokia.traceviewer/src/com/nokia/traceviewer/dialog/treeitem/TreeItemLabelProvider.java Wed Jun 23 14:49:59 2010 +0300 @@ -0,0 +1,203 @@ +/* + * 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) { + + } + +}