blob: 78592bf5b2ae9ebaa821d70a4743706757e588e0 [file] [log] [blame]
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.internal.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;
}
}