Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 138bf9819a7c90197f1d3ad98910f49b6ba14100 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package org.eclipse.ui.externaltools.internal.ant.preferences;

/**********************************************************************
Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
This file is made available under the terms of the Common Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/cpl-v10.html
**********************************************************************/

import org.eclipse.ant.core.Property;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.externaltools.internal.model.ExternalToolsImages;
import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;

/**
 * Label provider for property elements
 */
final class AntPropertiesLabelProvider extends LabelProvider implements ITableLabelProvider {
	private static final String IMG_CLASSPATH = "icons/full/obj16/classpath.gif"; //$NON-NLS-1$;

	private Image classpathImage;
	private Image fileImage;

	/**
	 * Creates an instance.
	 */
	public AntPropertiesLabelProvider() {
	}
	
	/* (non-Javadoc)
	 * Method declared on IBaseLabelProvider.
	 */
	public void dispose() {
		// file image is shared, do not dispose.
		fileImage = null;
		if (classpathImage != null) {
			classpathImage.dispose();
			classpathImage = null;
		}
	}
	
	/* (non-Javadoc)
	 * Method declared on ITableLabelProvider.
	 */
	public Image getColumnImage(Object element, int columnIndex) {
		if (element instanceof Property) {
			return ExternalToolsImages.getImage(IExternalToolConstants.IMG_PROPERTY);
		} else {
			return getFileImage();
		}
	}
	
	/* (non-Javadoc)
	 * Method declared on ITableLabelProvider.
	 */
	public String getColumnText(Object element, int columnIndex) {
		return element.toString();
	}

	public Image getFileImage() {
		if (fileImage == null) {
			fileImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
		}
		return fileImage;
	}
	
	public Image getClasspathImage() {
		if (classpathImage == null) {
			ImageDescriptor desc = ExternalToolsPlugin.getDefault().getImageDescriptor(AntPropertiesLabelProvider.IMG_CLASSPATH);
			classpathImage = desc.createImage();
		}
		return classpathImage;
	}
}

Back to the top