1 /*******************************************************************************
2 * Copyright (c) 2009 Ericsson
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
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.lttng
.ui
.views
.project
.model
;
17 import org
.eclipse
.jface
.resource
.ImageDescriptor
;
18 import org
.eclipse
.jface
.viewers
.ILabelProvider
;
19 import org
.eclipse
.jface
.viewers
.ILabelProviderListener
;
20 import org
.eclipse
.linuxtools
.lttng
.ui
.LTTngUiPlugin
;
21 import org
.eclipse
.swt
.graphics
.Image
;
22 import org
.eclipse
.ui
.ISharedImages
;
23 import org
.eclipse
.ui
.PlatformUI
;
26 * <b><u>LTTngProjectLabelProvider</u></b>
28 * TODO: Implement me. Please.
29 * TODO: Find proper icons for traces and experiments
31 public class LTTngProjectLabelProvider
implements ILabelProvider
{
33 private final String fTraceIconFile
= "icons/garland16.png"; //$NON-NLS-1$
34 // private final String fExperimentIconFile = "icons/garland16.png"; //$NON-NLS-1$
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
;
45 public LTTngProjectLabelProvider() {
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
);
51 fTraceIcon
= loadIcon(fTraceIconFile
);
52 fExperimentIcon
= fFolderIcon
; // loadIcon(fExperimentIconFile);
55 private Image
loadIcon(String url
) {
56 LTTngUiPlugin plugin
= LTTngUiPlugin
.getDefault();
57 Image icon
= plugin
.getImageRegistry().get(url
);
59 URL imageURL
= plugin
.getBundle().getEntry(url
);
60 ImageDescriptor descriptor
= ImageDescriptor
.createFromURL(imageURL
);
61 icon
= descriptor
.createImage();
62 plugin
.getImageRegistry().put(url
, icon
);
68 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
71 public Image
getImage(Object element
) {
73 if (element
instanceof LTTngProjectNode
) {
74 LTTngProjectNode project
= (LTTngProjectNode
) element
;
75 return (project
.isOpen()) ? fOpenedProjectIcon
: fClosedProjectIcon
;
78 if (element
instanceof LTTngTraceFolderNode
) {
82 if (element
instanceof LTTngTraceNode
) {
86 if (element
instanceof LTTngExperimentFolderNode
) {
90 if (element
instanceof LTTngExperimentNode
) {
91 return fExperimentIcon
;
98 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
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
)
108 label
+= " [" + node
.getChildren().size() + "]"; //$NON-NLS-1$//$NON-NLS-2$
114 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
117 public void addListener(ILabelProviderListener listener
) {
118 // TODO Auto-generated method stub
122 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
125 public void dispose() {
126 // TODO Auto-generated method stub
130 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
133 public boolean isLabelProperty(Object element
, String property
) {
134 // TODO Auto-generated method stub
139 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
142 public void removeListener(ILabelProviderListener listener
) {
143 // TODO Auto-generated method stub