blob: ba9352254a852303e6b97644714e3f3c2144ca8b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016 KPIT Technologies.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Jan Mauersberger- initial API and implementation
* Sascha Baumgart- initial API and implementation
*******************************************************************************/
package org.eclipse.opencert.vocabulary.generatefrommodel.importer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.opencert.vocabulary.generatefrommodel.Activator;
public class ProjectLabelProvider extends LabelProvider {
private Image projectImage;
private Image projectClosedImage;
private Image folderImage;
private Image documentImage;
public ProjectLabelProvider() {
if (projectImage == null) {
projectImage = ImageDescriptor.createFromURL(
FileLocator.find(Activator.getDefault().getBundle(),
new Path("icons/project.png"), null)).createImage();
}
if (projectClosedImage == null) {
projectClosedImage = ImageDescriptor.createFromURL(
FileLocator.find(Activator.getDefault().getBundle(),
new Path("icons/project-closed.png"), null))
.createImage();
}
if (folderImage == null) {
folderImage = ImageDescriptor
.createFromURL(
FileLocator
.find(Activator.getDefault().getBundle(),
new Path(
"icons/famfamfam_silk_icons_v013/icons/folder.png"),
null)).createImage();
}
if (documentImage == null) {
documentImage = ImageDescriptor
.createFromURL(
FileLocator
.find(Activator.getDefault().getBundle(),
new Path(
"icons/famfamfam_silk_icons_v013/icons/page.png"),
null)).createImage();
}
}
@Override
public String getText(Object element) {
String result = null;
if (element instanceof IResource) {
return ((IResource) element).getName();
}
return result;
}
@Override
public Image getImage(Object element) {
Image result = null;
if (element instanceof IProject) {
if (((IProject) element).isOpen()) {
result = projectImage;
} else {
result = projectClosedImage;
}
} else if (element instanceof IFolder) {
result = folderImage;
} else if (element instanceof IFile) {
result = documentImage;
}
return result;
}
@Override
public void dispose() {
projectImage.dispose();
projectClosedImage.dispose();
folderImage.dispose();
documentImage.dispose();
super.dispose();
}
}