diff options
author | Darin Swanson | 2002-12-04 21:49:53 +0000 |
---|---|---|
committer | Darin Swanson | 2002-12-04 21:49:53 +0000 |
commit | 0abd9cb7f4c9a37d54e6d0c67aa7acce2e86a98f (patch) | |
tree | c5ab0749f6d1129c7ab876fe04ce10178a950031 /org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/preferences/AntClasspathLabelProvider.java | |
parent | 7649d48a6c48c5b9b342c8a29740a9c9064747cf (diff) | |
download | eclipse.platform.debug-0abd9cb7f4c9a37d54e6d0c67aa7acce2e86a98f.tar.gz eclipse.platform.debug-0abd9cb7f4c9a37d54e6d0c67aa7acce2e86a98f.tar.xz eclipse.platform.debug-0abd9cb7f4c9a37d54e6d0c67aa7acce2e86a98f.zip |
Bug 27440 - Cached classloader misses changes to tasks/types
Diffstat (limited to 'org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/preferences/AntClasspathLabelProvider.java')
-rw-r--r-- | org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/preferences/AntClasspathLabelProvider.java | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/preferences/AntClasspathLabelProvider.java b/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/preferences/AntClasspathLabelProvider.java new file mode 100644 index 000000000..13da8eb5f --- /dev/null +++ b/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/preferences/AntClasspathLabelProvider.java @@ -0,0 +1,85 @@ +package org.eclipse.ui.externaltools.internal.ant.preferences; + +import java.net.URL; + +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.ExternalToolsPlugin; + +/** + * Label provider for classpath elements + */ +public class AntClasspathLabelProvider extends LabelProvider implements ITableLabelProvider { + private static final String IMG_JAR_FILE = "icons/full/obj16/jar_l_obj.gif"; //$NON-NLS-1$; + private static final String IMG_CLASSPATH = "icons/full/obj16/classpath.gif"; //$NON-NLS-1$; + + private Image classpathImage; + private Image folderImage; + private Image jarImage; + + /** + * Creates an instance. + */ + public AntClasspathLabelProvider() { + } + + /* (non-Javadoc) + * Method declared on IBaseLabelProvider. + */ + public void dispose() { + // Folder image is shared, do not dispose. + folderImage = null; + if (jarImage != null) { + jarImage.dispose(); + jarImage = null; + } + if (classpathImage != null) { + classpathImage.dispose(); + classpathImage = null; + } + } + + /* (non-Javadoc) + * Method declared on ITableLabelProvider. + */ + public Image getColumnImage(Object element, int columnIndex) { + URL url = (URL) element; + if (url.getFile().endsWith("/")) //$NON-NLS-1$ + return getFolderImage(); + else + return getJarImage(); + } + + /* (non-Javadoc) + * Method declared on ITableLabelProvider. + */ + public String getColumnText(Object element, int columnIndex) { + return ((URL) element).getFile(); + } + + private Image getFolderImage() { + if (folderImage == null) + folderImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER); + return folderImage; + } + + private Image getJarImage() { + if (jarImage == null) { + ImageDescriptor desc = ExternalToolsPlugin.getDefault().getImageDescriptor(AntClasspathLabelProvider.IMG_JAR_FILE); + jarImage = desc.createImage(); + } + return jarImage; + } + + public Image getClasspathImage() { + if (classpathImage == null) { + ImageDescriptor desc = ExternalToolsPlugin.getDefault().getImageDescriptor(AntClasspathLabelProvider.IMG_CLASSPATH); + classpathImage = desc.createImage(); + } + return classpathImage; + } +}
\ No newline at end of file |