trace/traceviewer/com.nokia.traceviewer/src/com/nokia/traceviewer/dialog/treeitem/TreeItemLabelProvider.java
changeset 11 5b9d4d8641ce
equal deleted inserted replaced
10:ed1c9f64298a 11:5b9d4d8641ce
       
     1 /*
       
     2  * Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
       
     3  * All rights reserved.
       
     4  * This component and the accompanying materials are made available
       
     5  * under the terms of "Eclipse Public License v1.0"
       
     6  * which accompanies this distribution, and is available
       
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8  *
       
     9  * Initial Contributors:
       
    10  * Nokia Corporation - initial contribution.
       
    11  *
       
    12  * Contributors:
       
    13  *
       
    14  * Description:
       
    15  *
       
    16  * TreeItem Label Provider
       
    17  *
       
    18  */
       
    19 package com.nokia.traceviewer.dialog.treeitem;
       
    20 
       
    21 import java.net.URL;
       
    22 
       
    23 import org.eclipse.jface.resource.ImageDescriptor;
       
    24 import org.eclipse.jface.viewers.ILabelProvider;
       
    25 import org.eclipse.jface.viewers.ILabelProviderListener;
       
    26 import org.eclipse.swt.graphics.Image;
       
    27 
       
    28 import com.nokia.traceviewer.TraceViewerPlugin;
       
    29 
       
    30 /**
       
    31  * TreeItem Label Provider
       
    32  * 
       
    33  */
       
    34 public class TreeItemLabelProvider implements ILabelProvider {
       
    35 
       
    36 	/**
       
    37 	 * Group image
       
    38 	 */
       
    39 	private final Image groupImage;
       
    40 
       
    41 	/**
       
    42 	 * Tree item image
       
    43 	 */
       
    44 	private final Image treeItemImage;
       
    45 
       
    46 	/**
       
    47 	 * Tree Component item image
       
    48 	 */
       
    49 	private final Image treeComponentItemImage;
       
    50 
       
    51 	/**
       
    52 	 * Stop trigger tree item image
       
    53 	 */
       
    54 	private final Image stopTriggerItemImage;
       
    55 
       
    56 	/**
       
    57 	 * Activation trigger tree item image
       
    58 	 */
       
    59 	private final Image activationTriggerItemImage;
       
    60 
       
    61 	/**
       
    62 	 * Constructor
       
    63 	 */
       
    64 	public TreeItemLabelProvider() {
       
    65 		// Create group icon
       
    66 		URL url = TraceViewerPlugin.getDefault().getBundle().getEntry(
       
    67 				"/icons/folder.gif"); //$NON-NLS-1$
       
    68 		groupImage = ImageDescriptor.createFromURL(url).createImage();
       
    69 
       
    70 		// Create tree item icon
       
    71 		url = TraceViewerPlugin.getDefault().getBundle().getEntry(
       
    72 				"/icons/listitem.gif"); //$NON-NLS-1$
       
    73 		treeItemImage = ImageDescriptor.createFromURL(url).createImage();
       
    74 
       
    75 		// Create tree Component item icon
       
    76 		url = TraceViewerPlugin.getDefault().getBundle().getEntry(
       
    77 				"/icons/listcomponentitem.gif"); //$NON-NLS-1$
       
    78 		treeComponentItemImage = ImageDescriptor.createFromURL(url)
       
    79 				.createImage();
       
    80 
       
    81 		// Create stop trigger item icon
       
    82 		url = TraceViewerPlugin.getDefault().getBundle().getEntry(
       
    83 				"/icons/stoptrigger.gif"); //$NON-NLS-1$
       
    84 		stopTriggerItemImage = ImageDescriptor.createFromURL(url).createImage();
       
    85 
       
    86 		// Create activation trigger item icon
       
    87 		url = TraceViewerPlugin.getDefault().getBundle().getEntry(
       
    88 				"/icons/activationtrigger.gif"); //$NON-NLS-1$
       
    89 		activationTriggerItemImage = ImageDescriptor.createFromURL(url)
       
    90 				.createImage();
       
    91 	}
       
    92 
       
    93 	/*
       
    94 	 * (non-Javadoc)
       
    95 	 * 
       
    96 	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
       
    97 	 */
       
    98 	public Image getImage(Object element) {
       
    99 		Image image;
       
   100 		if (((TreeItem) element).isGroup()) {
       
   101 			image = groupImage;
       
   102 		} else {
       
   103 			// Stop trigger image
       
   104 			if (element instanceof TriggerTreeItem
       
   105 					&& ((TriggerTreeItem) element).getType() == TriggerTreeItem.Type.STOPTRIGGER) {
       
   106 				image = stopTriggerItemImage;
       
   107 
       
   108 				// Activation trigger image
       
   109 			} else if (element instanceof TriggerTreeItem
       
   110 					&& ((TriggerTreeItem) element).getType() == TriggerTreeItem.Type.ACTIVATIONTRIGGER) {
       
   111 				image = activationTriggerItemImage;
       
   112 
       
   113 				// Component rule tree images
       
   114 			} else if (componentRuleSelected(element)) {
       
   115 				image = treeComponentItemImage;
       
   116 
       
   117 				// Text rule tree images
       
   118 			} else {
       
   119 				image = treeItemImage;
       
   120 			}
       
   121 		}
       
   122 		return image;
       
   123 	}
       
   124 
       
   125 	/**
       
   126 	 * Checks if the element is component rule
       
   127 	 * 
       
   128 	 * @param element
       
   129 	 *            the element to check
       
   130 	 * @return true if the element is component rule
       
   131 	 */
       
   132 	private boolean componentRuleSelected(Object element) {
       
   133 		boolean isComponent = false;
       
   134 		if (element instanceof ColorTreeComponentItem
       
   135 				|| element instanceof FilterTreeComponentItem
       
   136 				|| element instanceof LineCountTreeComponentItem) {
       
   137 			isComponent = true;
       
   138 		}
       
   139 		return isComponent;
       
   140 	}
       
   141 
       
   142 	/*
       
   143 	 * (non-Javadoc)
       
   144 	 * 
       
   145 	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
       
   146 	 */
       
   147 	public String getText(Object element) {
       
   148 		String text = ((TreeItem) element).getName();
       
   149 		return text;
       
   150 	}
       
   151 
       
   152 	/*
       
   153 	 * (non-Javadoc)
       
   154 	 * 
       
   155 	 * @see
       
   156 	 * org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.
       
   157 	 * jface.viewers.ILabelProviderListener)
       
   158 	 */
       
   159 	public void addListener(ILabelProviderListener listener) {
       
   160 
       
   161 	}
       
   162 
       
   163 	/*
       
   164 	 * (non-Javadoc)
       
   165 	 * 
       
   166 	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
       
   167 	 */
       
   168 	public void dispose() {
       
   169 		// Dispose images
       
   170 		if (groupImage != null) {
       
   171 			groupImage.dispose();
       
   172 		}
       
   173 		if (treeItemImage != null) {
       
   174 			treeItemImage.dispose();
       
   175 		}
       
   176 		if (stopTriggerItemImage != null) {
       
   177 			stopTriggerItemImage.dispose();
       
   178 		}
       
   179 	}
       
   180 
       
   181 	/*
       
   182 	 * (non-Javadoc)
       
   183 	 * 
       
   184 	 * @see
       
   185 	 * org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang
       
   186 	 * .Object, java.lang.String)
       
   187 	 */
       
   188 	public boolean isLabelProperty(Object element, String property) {
       
   189 		return false;
       
   190 	}
       
   191 
       
   192 	/*
       
   193 	 * (non-Javadoc)
       
   194 	 * 
       
   195 	 * @see
       
   196 	 * org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse
       
   197 	 * .jface.viewers.ILabelProviderListener)
       
   198 	 */
       
   199 	public void removeListener(ILabelProviderListener listener) {
       
   200 
       
   201 	}
       
   202 
       
   203 }