diff options
Diffstat (limited to 'org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntPageLabelProvider.java')
-rw-r--r-- | org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntPageLabelProvider.java | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntPageLabelProvider.java b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntPageLabelProvider.java new file mode 100644 index 000000000..b10e6205c --- /dev/null +++ b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntPageLabelProvider.java @@ -0,0 +1,115 @@ +package org.eclipse.ui.externaltools.internal.ui; + +/********************************************************************** +Copyright (c) 2002 IBM Corp. and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Common Public License v0.5 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/cpl-v05.html + +Contributors: +**********************************************************************/ +import java.net.URL; + +import org.eclipse.ant.core.*; +import org.eclipse.jface.viewers.*; +import org.eclipse.swt.graphics.Image; +import org.eclipse.ui.*; +import org.eclipse.ui.externaltools.internal.core.ExternalToolsPlugin; + +/** + * Label provider for the items in the custmomize ant preference page: + * URLs, Tasks, and Types. + */ +public class AntPageLabelProvider + extends LabelProvider + implements ITableLabelProvider { + + private Image folderImage; + private Image jarImage; + private Image taskImage; + private Image typeImage; + + public AntPageLabelProvider() { + } + public void dispose() { + //note: folder and task are shared images + folderImage = null; + taskImage = null; + if (jarImage != null) { + jarImage.dispose(); + jarImage = null; + } + if (typeImage != null) { + typeImage.dispose(); + typeImage = null; + } + } + public Image getColumnImage(Object element, int columnIndex) { + if (element instanceof URL) { + URL url = (URL) element; + if (url.getFile().endsWith("/")) { //$NON-NLS-1$ + return folderImage(); + } else { + return jarImage(); + } + } + if (element instanceof Task) { + return taskImage(); + } + if (element instanceof Type) { + return typeImage(); + } + return null; + } + public String getColumnText(Object element, int columnIndex) { + if (element instanceof URL) { + return ((URL) element).getFile(); + } + if (element instanceof Task) { + Task task = (Task) element; + return task.getTaskName() + " (" + task.getLibrary().getFile() + ": " + task.getClassName() + ")"; //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$ + } + if (element instanceof Type) { + Type type = (Type) element; + return type.getTypeName() + " (" + type.getLibrary().getFile() + ": " + type.getClassName() + ")"; //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$ + } + return element.toString(); + } + private Image folderImage() { + if (folderImage != null) + return folderImage; + folderImage = + PlatformUI.getWorkbench().getSharedImages().getImage( + ISharedImages.IMG_OBJ_FOLDER); + return folderImage; + } + private Image jarImage() { + if (jarImage != null) + return jarImage; + jarImage = + ExternalToolsPlugin + .getDefault() + .getImageDescriptor(ExternalToolsPlugin.IMG_JAR_FILE) + .createImage(); + return jarImage; + } + private Image taskImage() { + if (taskImage != null) + return taskImage; + taskImage = + PlatformUI.getWorkbench().getSharedImages().getImage( + ISharedImages.IMG_OBJS_TASK_TSK); + return taskImage; + } + private Image typeImage() { + if (typeImage != null) + return typeImage; + typeImage = + ExternalToolsPlugin + .getDefault() + .getImageDescriptor(ExternalToolsPlugin.IMG_TYPE) + .createImage(); + return typeImage; + } +}
\ No newline at end of file |