tmf/lttng: Remove unneeded (non-Javadoc) comments
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / project / model / TmfNavigatorLabelProvider.java
CommitLineData
12c155f5 1/*******************************************************************************
c8422608 2 * Copyright (c) 2011, 2013 Ericsson
013a5f1c 3 *
12c155f5
FC
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
013a5f1c 8 *
12c155f5
FC
9 * Contributors:
10 * Francois Chouinard - Initial API and implementation
ab37ff41 11 * Patrick Tasse - Add support for unknown trace type icon
12c155f5
FC
12 *******************************************************************************/
13
14package org.eclipse.linuxtools.tmf.ui.project.model;
15
16import java.net.URL;
17
18import org.eclipse.core.runtime.CoreException;
19import org.eclipse.core.runtime.Platform;
20import org.eclipse.jface.resource.ImageDescriptor;
21import org.eclipse.jface.viewers.ILabelProviderListener;
8fd82db5 22import org.eclipse.linuxtools.internal.tmf.ui.Activator;
e12ecd30 23import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
12c155f5
FC
24import org.eclipse.swt.graphics.Image;
25import org.eclipse.ui.IMemento;
26import org.eclipse.ui.ISharedImages;
27import org.eclipse.ui.PlatformUI;
28import org.eclipse.ui.navigator.ICommonContentExtensionSite;
29import org.eclipse.ui.navigator.ICommonLabelProvider;
30import org.osgi.framework.Bundle;
31
32/**
013a5f1c 33 * The TMF project label provider for the tree viewer in the project explorer view.
12c155f5 34 * <p>
b544077e
BH
35 * @version 1.0
36 * @author Francois Chouinard
12c155f5
FC
37 */
38public class TmfNavigatorLabelProvider implements ICommonLabelProvider {
39
40 // ------------------------------------------------------------------------
41 // Constants
42 // ------------------------------------------------------------------------
43
5a5c2fc7
FC
44 private static final Image fFolderIcon = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
45 private static final String fTraceIconFile = "icons/elcl16/trace.gif"; //$NON-NLS-1$
ab37ff41 46 private static final String fUnknownIconFile = "icons/elcl16/unknown_parser.gif"; //$NON-NLS-1$
5a5c2fc7 47 private static final String fExperimentIconFile = "icons/elcl16/experiment.gif"; //$NON-NLS-1$
12c155f5
FC
48
49 // ------------------------------------------------------------------------
50 // Attributes
51 // ------------------------------------------------------------------------
52
53 private final Image fTraceFolderIcon = fFolderIcon;
54 private final Image fExperimentFolderIcon = fFolderIcon;
55
56 private final Image fDefaultTraceIcon;
ab37ff41 57 private final Image fUnknownTraceIcon;
12c155f5
FC
58 private final Image fExperimentIcon;
59
60 // ------------------------------------------------------------------------
61 // Constructors
62 // ------------------------------------------------------------------------
63
b544077e 64 /**
013a5f1c
AM
65 * Constructor.
66 *
b544077e
BH
67 * Creates the TMF navigator content provider.
68 */
12c155f5 69 public TmfNavigatorLabelProvider() {
8fd82db5 70 Bundle bundle = Activator.getDefault().getBundle();
12c155f5 71 fDefaultTraceIcon = loadIcon(bundle, fTraceIconFile);
ab37ff41 72 fUnknownTraceIcon = loadIcon(bundle, fUnknownIconFile);
12c155f5
FC
73 fExperimentIcon = loadIcon(bundle, fExperimentIconFile);
74 }
75
abbdd66a 76 private static Image loadIcon(Bundle bundle, String url) {
8fd82db5 77 Activator plugin = Activator.getDefault();
12c155f5
FC
78 String key = bundle.getSymbolicName() + "/" + url; //$NON-NLS-1$
79 Image icon = plugin.getImageRegistry().get(key);
80 if (icon == null) {
81 URL imageURL = bundle.getResource(url);
82 ImageDescriptor descriptor = ImageDescriptor.createFromURL(imageURL);
83 icon = descriptor.createImage();
84 plugin.getImageRegistry().put(key, icon);
85 }
86 return icon;
87 }
88
89 // ------------------------------------------------------------------------
90 // ICommonLabelProvider
91 // ------------------------------------------------------------------------
11252342 92
12c155f5
FC
93 @Override
94 public Image getImage(Object element) {
95
96 if (element instanceof TmfTraceElement) {
97 TmfTraceElement trace = (TmfTraceElement) element;
12c155f5 98 try {
ab37ff41
PT
99 if (trace.getResource().getPersistentProperty(TmfCommonConstants.TRACETYPE) == null) {
100 return fUnknownTraceIcon;
101 }
e12ecd30 102 String name = trace.getResource().getPersistentProperty(TmfCommonConstants.TRACEBUNDLE);
ab37ff41 103 String icon = trace.getResource().getPersistentProperty(TmfCommonConstants.TRACEICON);
12c155f5
FC
104 if (name != null && icon != null) {
105 Bundle bundle = Platform.getBundle(name);
106 return loadIcon(bundle, icon);
107 }
108 } catch (CoreException e) {
109 }
110 return fDefaultTraceIcon;
111 }
112
013a5f1c 113 if (element instanceof TmfExperimentElement) {
12c155f5 114 return fExperimentIcon;
013a5f1c 115 }
12c155f5 116
013a5f1c 117 if (element instanceof TmfExperimentFolder) {
12c155f5 118 return fExperimentFolderIcon;
013a5f1c 119 }
12c155f5 120
013a5f1c 121 if (element instanceof TmfTraceFolder) {
12c155f5 122 return fTraceFolderIcon;
013a5f1c 123 }
12c155f5
FC
124
125 return null;
126 }
127
128 @Override
129 public String getText(Object element) {
130
131 if (element instanceof TmfTraceFolder) {
132 TmfTraceFolder folder = (TmfTraceFolder) element;
133 return folder.getName() + " [" + folder.getTraces().size() + "]"; //$NON-NLS-1$//$NON-NLS-2$
134 }
135
136 if (element instanceof TmfExperimentElement) {
137 TmfExperimentElement folder = (TmfExperimentElement) element;
138 return folder.getName() + " [" + folder.getTraces().size() + "]"; //$NON-NLS-1$//$NON-NLS-2$
139 }
140
7d3950f5
FC
141 if (element instanceof TmfExperimentFolder) {
142 TmfExperimentFolder folder = (TmfExperimentFolder) element;
143 return folder.getName() + " [" + folder.getChildren().size() + "]"; //$NON-NLS-1$//$NON-NLS-2$
144 }
145
12c155f5
FC
146 // Catch all
147 if (element instanceof ITmfProjectModelElement) {
148 return ((ITmfProjectModelElement) element).getName();
149 }
150
151 return null;
152 }
153
154 @Override
155 public void addListener(ILabelProviderListener listener) {
156 }
157
158 @Override
159 public void dispose() {
160 }
161
162 @Override
163 public boolean isLabelProperty(Object element, String property) {
164 return false;
165 }
166
167 @Override
168 public void removeListener(ILabelProviderListener listener) {
169 }
170
171 @Override
172 public void restoreState(IMemento aMemento) {
173 }
174
175 @Override
176 public void saveState(IMemento aMemento) {
177 }
178
179 @Override
180 public String getDescription(Object anElement) {
181 return getText(anElement);
182 }
183
184 @Override
185 public void init(ICommonContentExtensionSite aConfig) {
186 }
187
188}
This page took 0.045589 seconds and 5 git commands to generate.