/*******************************************************************************
* Copyright (c) 2000, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package net.sourceforge.phpeclipse.xdebug.ui;
import java.net.MalformedURLException;
import java.net.URL;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;
public class XDebugUIPluginImages {
/* Declare Common paths */
private static URL ICON_BASE_URL = null;
static {
String pathSuffix = "icons/"; //$NON-NLS-1$
ICON_BASE_URL = XDebugUIPlugin.getDefault().getBundle().getEntry(
pathSuffix);
}
// The plugin registry
private static ImageRegistry fgImageRegistry = null;
/*
* Set of predefined Image Descriptors.
*/
private static final String T_OBJ = "obj16/"; //$NON-NLS-1$
// private static final String T_OVR= "ovr16/"; //$NON-NLS-1$
private static final String T_EVIEW = "eview16/"; //$NON-NLS-1$
private static final String T_LCL = "elcl16/";
public static final String IMG_EVIEW_ARGUMENTS_TAB = "IMG_EVIEW_ARGUMENTS_TAB";
public static final String IMG_EVIEW_ENVIROMENT_TAB = "IMG_EVIEW_ENVIROMENT_TAB";
public static final String IMG_PREV_EVENT = "IMG_PREV_EVENT";
public static final String DESC_NEXT_EVENT = "DESC_NEXT_EVENT";
public static final String IMG_ERROR_ST_OBJ = "IMG_ERROR_ST_OBJ";
public static final String IMG_WARNING_ST_OBJ = "IMG_WARNING_ST_OBJ";
public static final String IMG_INFO_ST_OBJ = "IMG_INFO_ST_OBJ";
public static final String IMG_ERROR_STACK_OBJ = "IMG_ERROR_STACK_OBJ";
public static final String IMG_PROPERTIES = "IMG_PROPERTIES";
// public static final String IMG_PROPERTIES_DISABLED =
// "IMG_PROPERTIES_DISABLED";
public static final String IMG_CLEAR = "IMG_CLEAR";
// public static final String IMG_CLEAR_DISABLED = "IMG_CLEAR_DISABLED";
public static final String IMG_READ_LOG = "IMG_READ_LOG";
// public static final String IMG_READ_LOG_DISABLED =
// "IMG_READ_LOG_DISABLED";
public static final String IMG_REMOVE_LOG = "IMG_REMOVE_LOG";
// public static final String IMG_REMOVE_LOG_DISABLED =
// "IMG_REMOVE_LOG_DISABLED";
public static final String IMG_FILTER = "IMG_FILTER";
// public static final String IMG_FILTER_DISABLED = "IMG_FILTER_DISABLED";
public static final String IMG_EXPORT = "IMG_EXPORT";
// public static final String IMG_EXPORT_DISABLED = "IMG_EXPORT_DISABLED";
public static final String IMG_IMPORT = "IMG_IMPORT";
// public static final String IMG_IMPORT_DISABLED = "IMG_IMPORT_DISABLED";
public static final String IMG_OPEN_LOG = "IMG_OPEN_LOG";
/**
* Returns the image managed under the given key in this registry.
*
* @param key
* the image's key
* @return the image managed under the given key
*/
public static Image get(String key) {
return getImageRegistry().get(key);
}
/**
* Returns the ImageDescriptor
identified by the given key,
* or null
if it does not exist.
*/
public static ImageDescriptor getImageDescriptor(String key) {
return getImageRegistry().getDescriptor(key);
}
/*
* Helper method to access the image registry from the XDebugUIPlugin class.
*/
public static ImageRegistry getImageRegistry() {
if (fgImageRegistry == null) {
initializeImageRegistry();
}
return fgImageRegistry;
}
public static void initializeImageRegistry() {
fgImageRegistry = new ImageRegistry(XDebugUIPlugin.getStandardDisplay());
declareImages();
}
private static void declareImages() {
declareRegistryImage(IMG_EVIEW_ARGUMENTS_TAB, T_EVIEW
+ "arguments_tab.gif"); //$NON-NLS-1$
declareRegistryImage(IMG_EVIEW_ENVIROMENT_TAB, T_EVIEW
+ "environment_tab.gif"); //$NON-NLS-1$
declareRegistryImage(IMG_ERROR_ST_OBJ, T_OBJ + "error_st_obj.gif");
declareRegistryImage(IMG_WARNING_ST_OBJ, T_OBJ + "warning_st_obj.gif");
declareRegistryImage(IMG_INFO_ST_OBJ, T_OBJ + "info_st_obj.gif");
declareRegistryImage(IMG_ERROR_STACK_OBJ, T_OBJ + "error_stack.gif");
declareRegistryImage(IMG_PROPERTIES, T_LCL + "properties.gif");
// declareRegistryImage(IMG_PROPERTIES_DISABLED
declareRegistryImage(IMG_CLEAR, T_LCL + "clear_log.gif");
// declareRegistryImage(IMG_CLEAR_DISABLED
declareRegistryImage(IMG_READ_LOG, T_LCL + "restore_log.gif");
// declareRegistryImage(IMG_READ_LOG_DISABLED
declareRegistryImage(IMG_REMOVE_LOG, T_LCL + "remove_log.gif");
// declareRegistryImage(IMG_REMOVE_LOG_DISABLED
declareRegistryImage(IMG_FILTER, T_LCL + "filter_log.gif");
// declareRegistryImage(IMG_FILTER_DISABLED
declareRegistryImage(IMG_EXPORT, T_LCL + "export_log.gif");
// declareRegistryImage(IMG_EXPORT_DISABLED
declareRegistryImage(IMG_IMPORT, T_LCL + "import_log.gif");
// declareRegistryImage(IMG_IMPORT_DISABLED
declareRegistryImage(IMG_OPEN_LOG, T_LCL + "open_log.gif");
}
/**
* Declare an Image in the registry table.
*
* @param key
* The key to use when registering the image
* @param path
* The path where the image can be found. This path is relative
* to where this plugin class is found (i.e. typically the
* packages directory)
*/
private final static void declareRegistryImage(String key, String path) {
ImageDescriptor desc = ImageDescriptor.getMissingImageDescriptor();
try {
desc = ImageDescriptor.createFromURL(makeIconFileURL(path));
} catch (MalformedURLException me) {
XDebugUIPlugin.log(me);
}
fgImageRegistry.put(key, desc);
}
private static URL makeIconFileURL(String iconPath)
throws MalformedURLException {
if (ICON_BASE_URL == null) {
throw new MalformedURLException();
}
return new URL(ICON_BASE_URL, iconPath);
}
}