/**
* This file is protected by Copyright.
* Please refer to the COPYRIGHT file distributed with this source distribution.
*
* This file is part of REDHAWK IDE.
*
* All rights reserved. This program and the accompanying materials are made available under
* the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html.
*
*/
package gov.redhawk.internal.ui;
import gov.redhawk.ui.RedhawkUiActivator;
import java.net.URL;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;
/**
* The Class ScaPluginImages.
*/
public final class ScaPluginImages {
/** The PLUGI n_ registry. */
// CHECKSTYLE:OFF
private static ImageRegistry PLUGIN_REGISTRY;
/** The Constant ICONS_PATH. */
public static final String ICONS_PATH = "icons/"; //$NON-NLS-1$
/** The Constant PATH_LCL. */
private static final String PATH_LCL = ScaPluginImages.ICONS_PATH + "elcl16/"; //$NON-NLS-1$
/** The Constant DESC_ALPHAB_SORT_CO. */
public static final ImageDescriptor DESC_ALPHAB_SORT_CO = ScaPluginImages.create(ScaPluginImages.PATH_LCL, "alphab_sort_co.gif"); //$NON-NLS-1$
/** The Constant DESC_HELP. */
public static final ImageDescriptor DESC_HELP = ScaPluginImages.create(ScaPluginImages.PATH_LCL, "help.gif"); //$NON-NLS-1$
// CHECKSTYLE:ON
/**
* Instantiates a new sca plugin images.
*/
private ScaPluginImages() {
}
/**
* Creates the.
*
* @param prefix the prefix
* @param name the name
* @return the image descriptor
*/
private static ImageDescriptor create(final String prefix, final String name) {
return ImageDescriptor.createFromURL(ScaPluginImages.makeImageURL(prefix, name));
}
/**
* Gets the.
*
* @param key the key
* @return the image
*/
public static Image get(final String key) {
if (ScaPluginImages.PLUGIN_REGISTRY == null) {
ScaPluginImages.initialize();
}
return ScaPluginImages.PLUGIN_REGISTRY.get(key);
}
/* package */
/**
* Initialize.
*/
private static void initialize() {
ScaPluginImages.PLUGIN_REGISTRY = new ImageRegistry();
}
/**
* Make image url.
*
* @param prefix the prefix
* @param name the name
* @return the uRL
*/
private static URL makeImageURL(final String prefix, final String name) {
final String path = "$nl$/" + prefix + name; //$NON-NLS-1$
return FileLocator.find(RedhawkUiActivator.getDefault().getBundle(), new Path(path), null);
}
/**
* Manage.
*
* @param key the key
* @param desc the desc
* @return the image
*/
public static Image manage(final String key, final ImageDescriptor desc) {
final Image image = desc.createImage();
ScaPluginImages.PLUGIN_REGISTRY.put(key, image);
return image;
}
}