2010-10-26 Francois Chouinard <fchouinard@gmail.com> Contribution for Bug309042
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng.ui / src / org / eclipse / linuxtools / lttng / ui / views / project / model / LTTngProjectLabelProvider.java
CommitLineData
6e512b93
ASL
1/*******************************************************************************
2 * Copyright (c) 2009 Ericsson
3 *
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
8 *
9 * Contributors:
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
12
13package org.eclipse.linuxtools.lttng.ui.views.project.model;
14
15import java.net.URL;
16
17import org.eclipse.jface.resource.ImageDescriptor;
18import org.eclipse.jface.viewers.ILabelProvider;
19import org.eclipse.jface.viewers.ILabelProviderListener;
20import org.eclipse.linuxtools.lttng.ui.LTTngUiPlugin;
21import org.eclipse.swt.graphics.Image;
22import org.eclipse.ui.ISharedImages;
23import org.eclipse.ui.PlatformUI;
24
25/**
26 * <b><u>LTTngProjectLabelProvider</u></b>
27 * <p>
28 * TODO: Implement me. Please.
29 * TODO: Find proper icons for traces and experiments
30 */
31public class LTTngProjectLabelProvider implements ILabelProvider {
32
33 private final String fTraceIconFile = "icons/garland16.png";
34// private final String fExperimentIconFile = "icons/garland16.png";
35
36 private final Image fOpenedProjectIcon;
37 private final Image fClosedProjectIcon;
38 private final Image fFolderIcon;
39 private final Image fTraceIcon;
40 private final Image fExperimentIcon;
41
42 /**
43 *
44 */
45 public LTTngProjectLabelProvider() {
46
47 fOpenedProjectIcon = PlatformUI.getWorkbench().getSharedImages().getImage(org.eclipse.ui.ide.IDE.SharedImages.IMG_OBJ_PROJECT);
48 fClosedProjectIcon = PlatformUI.getWorkbench().getSharedImages().getImage(org.eclipse.ui.ide.IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED);
49 fFolderIcon = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
50
51 fTraceIcon = loadIcon(fTraceIconFile);
52 fExperimentIcon = fFolderIcon; // loadIcon(fExperimentIconFile);
53 }
54
55 private Image loadIcon(String url) {
56 LTTngUiPlugin plugin = LTTngUiPlugin.getDefault();
57 Image icon = plugin.getImageRegistry().get(url);
58 if (icon == null) {
59 URL imageURL = plugin.getBundle().getEntry(url);
60 ImageDescriptor descriptor = ImageDescriptor.createFromURL(imageURL);
61 icon = descriptor.createImage();
62 plugin.getImageRegistry().put(url, icon);
63 }
64 return icon;
65 }
66
67 /* (non-Javadoc)
68 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
69 */
d4011df2 70 @Override
6e512b93
ASL
71 public Image getImage(Object element) {
72
73 if (element instanceof LTTngProjectNode) {
74 LTTngProjectNode project = (LTTngProjectNode) element;
75 return (project.isOpen()) ? fOpenedProjectIcon : fClosedProjectIcon;
76 }
77
78 if (element instanceof LTTngTraceFolderNode) {
79 return fFolderIcon;
80 }
81
82 if (element instanceof LTTngTraceNode) {
83 return fTraceIcon;
84 }
85
86 if (element instanceof LTTngExperimentFolderNode) {
87 return fFolderIcon;
88 }
89
90 if (element instanceof LTTngExperimentNode) {
91 return fExperimentIcon;
92 }
93
94 return null;
95 }
96
97 /* (non-Javadoc)
98 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
99 */
d4011df2 100 @Override
6e512b93
ASL
101 public String getText(Object element) {
102 ILTTngProjectTreeNode node = (ILTTngProjectTreeNode) element;
103 String label = node.getName();
104 if (node instanceof LTTngTraceFolderNode ||
105 node instanceof LTTngExperimentFolderNode ||
106 node instanceof LTTngExperimentNode)
107 {
108 label += " [" + node.getChildren().size() + "]";
109 }
110 return label;
111 }
112
113 /* (non-Javadoc)
114 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
115 */
d4011df2 116 @Override
6e512b93
ASL
117 public void addListener(ILabelProviderListener listener) {
118 // TODO Auto-generated method stub
119 }
120
121 /* (non-Javadoc)
122 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
123 */
d4011df2 124 @Override
6e512b93
ASL
125 public void dispose() {
126 // TODO Auto-generated method stub
127 }
128
129 /* (non-Javadoc)
130 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
131 */
d4011df2 132 @Override
6e512b93
ASL
133 public boolean isLabelProperty(Object element, String property) {
134 // TODO Auto-generated method stub
135 return false;
136 }
137
138 /* (non-Javadoc)
139 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
140 */
d4011df2 141 @Override
6e512b93
ASL
142 public void removeListener(ILabelProviderListener listener) {
143 // TODO Auto-generated method stub
144 }
145
146}
This page took 0.031989 seconds and 5 git commands to generate.