1 /*******************************************************************************
2  * Copyright (c) 2000, 2015 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 package org.eclipse.pde.internal.runtime;
15 
16 import java.net.URL;
17 import org.eclipse.core.runtime.FileLocator;
18 import org.eclipse.core.runtime.Path;
19 import org.eclipse.jface.resource.ImageDescriptor;
20 import org.eclipse.jface.resource.ImageRegistry;
21 import org.eclipse.swt.graphics.Image;
22 
23 public class PDERuntimePluginImages {
24 
25 	private static ImageRegistry PLUGIN_REGISTRY;
26 
27 	public final static String ICONS_PATH = "icons/"; //$NON-NLS-1$
28 
29 	private static final String PATH_OBJ = ICONS_PATH + "obj16/"; //$NON-NLS-1$
30 	private static final String PATH_DCL = ICONS_PATH + "dlcl16/"; //$NON-NLS-1$
31 	private static final String PATH_LCL = ICONS_PATH + "elcl16/"; //$NON-NLS-1$
32 	private static final String PATH_OVR = ICONS_PATH + "ovr16/"; //$NON-NLS-1$
33 
34 	// Plug-in Spy related images
35 	public static final String IMG_CLASS_OBJ = "class_obj.png"; //$NON-NLS-1$
36 	public static final String IMG_INTERFACE_OBJ = "int_obj.png"; //$NON-NLS-1$
37 	public static final String IMG_PLUGIN_OBJ = "plugin_obj.png"; //$NON-NLS-1$
38 	public static final String IMG_SPY_OBJ = "pdespy_obj.png"; //$NON-NLS-1$
39 	public static final String IMG_MENU_OBJ = "menu_obj.png"; //$NON-NLS-1$
40 	public static final String IMG_ID_OBJ = "generic_xml_obj.png"; //$NON-NLS-1$
41 	public static final String IMG_MENUSPY_OBJ = "menuspy_obj.png"; //$NON-NLS-1$
42 	public static final String IMG_CONTEXTID_OBJ = "contextid_obj.png"; //$NON-NLS-1$
43 	public static final String IMG_SAVE_IMAGE_AS_OBJ = "save_image_as_obj.png"; //$NON-NLS-1$
44 	public static final String IMG_COPY_QNAME = "cpyqual_menu.png"; //$NON-NLS-1$
45 	public static final String IMG_UP_NAV = "up_nav.png"; //$NON-NLS-1$
46 
47 	public static final ImageDescriptor CLASS_OBJ = create(PATH_OBJ, IMG_CLASS_OBJ);
48 	public static final ImageDescriptor INTERFACE_OBJ = create(PATH_OBJ, IMG_INTERFACE_OBJ);
49 	public static final ImageDescriptor PLUGIN_OBJ = create(PATH_OBJ, IMG_PLUGIN_OBJ);
50 	public static final ImageDescriptor SPY_OBJ = create(PATH_OBJ, IMG_SPY_OBJ);
51 	public static final ImageDescriptor MENU_OBJ = create(PATH_OBJ, IMG_MENU_OBJ);
52 	public static final ImageDescriptor ID_OBJ = create(PATH_OBJ, IMG_ID_OBJ);
53 	public static final ImageDescriptor MENUSPY_OBJ = create(PATH_OBJ, IMG_MENUSPY_OBJ);
54 	public static final ImageDescriptor CONTEXTID_OBJ = create(PATH_OBJ, IMG_CONTEXTID_OBJ);
55 	public static final ImageDescriptor SAVE_IMAGE_AS_OBJ = create(PATH_OBJ, IMG_SAVE_IMAGE_AS_OBJ);
56 	public static final ImageDescriptor COPY_QNAME = create(PATH_LCL, IMG_COPY_QNAME);
57 	public static final ImageDescriptor UP_NAV = create(PATH_LCL, IMG_UP_NAV);
58 
59 	public static final ImageDescriptor DESC_REFRESH_DISABLED = create(PATH_DCL, "refresh.png"); //$NON-NLS-1$
60 	public static final ImageDescriptor DESC_REFRESH = create(PATH_LCL, "refresh.png"); //$NON-NLS-1$
61 	public static final ImageDescriptor DESC_COLLAPSE_ALL = create(PATH_LCL, "collapseall.png"); //$NON-NLS-1$
62 	public static final ImageDescriptor DESC_ERROR_ST_OBJ = create(PATH_OBJ, "error_st_obj.png"); //$NON-NLS-1$
63 	public static final ImageDescriptor DESC_ERROR_STACK_OBJ = create(PATH_OBJ, "error_stack.png"); //$NON-NLS-1$
64 	public static final ImageDescriptor DESC_EXT_POINT_OBJ = create(PATH_OBJ, "ext_point_obj.png"); //$NON-NLS-1$
65 	public static final ImageDescriptor DESC_EXT_POINTS_OBJ = create(PATH_OBJ, "ext_points_obj.png"); //$NON-NLS-1$
66 	public static final ImageDescriptor DESC_EXTENSION_OBJ = create(PATH_OBJ, "extension_obj.png"); //$NON-NLS-1$
67 	public static final ImageDescriptor DESC_EXTENSIONS_OBJ = create(PATH_OBJ, "extensions_obj.png"); //$NON-NLS-1$
68 	public static final ImageDescriptor DESC_GENERIC_XML_OBJ = create(PATH_OBJ, "generic_xml_obj.png"); //$NON-NLS-1$
69 	public static final ImageDescriptor DESC_ATTR_XML_OBJ = create(PATH_OBJ, "attr_xml_obj.png"); //$NON-NLS-1$
70 	public static final ImageDescriptor DESC_INFO_ST_OBJ = create(PATH_OBJ, "info_st_obj.png"); //$NON-NLS-1$
71 	public static final ImageDescriptor DESC_JAVA_LIB_OBJ = create(PATH_OBJ, "java_lib_obj.png"); //$NON-NLS-1$
72 	public static final ImageDescriptor DESC_NATIVE_LIB_OBJ = create(PATH_OBJ, "native_lib_obj.png"); //$NON-NLS-1$
73 	public static final ImageDescriptor DESC_OK_ST_OBJ = create(PATH_OBJ, "ok_st_obj.png"); //$NON-NLS-1$
74 	public static final ImageDescriptor DESC_PLUGIN_OBJ = create(PATH_OBJ, "plugin_obj.png"); //$NON-NLS-1$
75 	public static final ImageDescriptor DESC_REQ_PLUGIN_OBJ = create(PATH_OBJ, "req_plugin_obj.png"); //$NON-NLS-1$
76 	public static final ImageDescriptor DESC_REQ_PLUGINS_OBJ = create(PATH_OBJ, "req_plugins_obj.png"); //$NON-NLS-1$
77 	public static final ImageDescriptor DESC_RUNTIME_OBJ = create(PATH_OBJ, "runtime_obj.png"); //$NON-NLS-1$
78 	public static final ImageDescriptor DESC_WARNING_ST_OBJ = create(PATH_OBJ, "warning_st_obj.png"); //$NON-NLS-1$
79 	public static final ImageDescriptor DESC_LOCATION = create(PATH_OBJ, "location_obj.png"); //$NON-NLS-1$
80 	public static final ImageDescriptor DESC_IMP_OBJ = create(PATH_OBJ, "bundle-importer.png"); //$NON-NLS-1$
81 	public static final ImageDescriptor DESC_EXP_OBJ = create(PATH_OBJ, "bundle-exporter.png"); //$NON-NLS-1$
82 	public static final ImageDescriptor DESC_SERVICE_OBJ = create(PATH_OBJ, "int_obj.png"); //$NON-NLS-1$
83 	public static final ImageDescriptor DESC_PROPERTY_OBJ = create(PATH_OBJ, "property_obj.png"); //$NON-NLS-1$
84 	public static final ImageDescriptor DESC_PLUGINS_OBJ = create(PATH_OBJ, "plugins_obj.png"); //$NON-NLS-1$
85 	public static final ImageDescriptor DESC_FRAGMENT_OBJ = create(PATH_OBJ, "frgmt_obj.png"); //$NON-NLS-1$
86 	public static final ImageDescriptor DESC_PACKAGE_OBJ = create(PATH_OBJ, "package_obj.png"); //$NON-NLS-1$
87 	public static final ImageDescriptor DESC_REMOTE_SERVICE_PROXY_OBJ = create(PATH_OBJ, "rsvcproxy_obj.png"); //$NON-NLS-1$
88 
89 	/*
90 	 * Overlays
91 	 */
92 	public static final ImageDescriptor DESC_RUN_CO = create(PATH_OVR, "run_co.png"); //$NON-NLS-1$
93 	public static final ImageDescriptor DESC_EXPORT_CO = create(PATH_OVR, "export_co.png"); //$NON-NLS-1$
94 	public static final ImageDescriptor DESC_ERROR_CO = create(PATH_OVR, "error_co.png"); //$NON-NLS-1$
95 	public static final ImageDescriptor DESC_DEFAULT_CO = create(PATH_OVR, "default_co.png"); //$NON-NLS-1$
96 
initialize()97 	private static final void initialize() {
98 		PLUGIN_REGISTRY = PDERuntimePlugin.getDefault().getImageRegistry();
99 		manage(IMG_CLASS_OBJ, CLASS_OBJ);
100 		manage(IMG_INTERFACE_OBJ, INTERFACE_OBJ);
101 		manage(IMG_PLUGIN_OBJ, PLUGIN_OBJ);
102 		manage(IMG_SPY_OBJ, SPY_OBJ);
103 		manage(IMG_MENU_OBJ, MENU_OBJ);
104 		manage(IMG_ID_OBJ, ID_OBJ);
105 		manage(IMG_MENUSPY_OBJ, MENUSPY_OBJ);
106 		manage(IMG_CONTEXTID_OBJ, CONTEXTID_OBJ);
107 		manage(IMG_SAVE_IMAGE_AS_OBJ, SAVE_IMAGE_AS_OBJ);
108 		manage(IMG_COPY_QNAME, COPY_QNAME);
109 	}
110 
create(String prefix, String name)111 	private static ImageDescriptor create(String prefix, String name) {
112 		return ImageDescriptor.createFromURL(makeIconURL(prefix, name));
113 	}
114 
get(String key)115 	public static Image get(String key) {
116 		if (PLUGIN_REGISTRY == null)
117 			initialize();
118 		return PLUGIN_REGISTRY.get(key);
119 	}
120 
makeIconURL(String prefix, String name)121 	private static URL makeIconURL(String prefix, String name) {
122 		String path = "$nl$/" + prefix + name; //$NON-NLS-1$
123 		return FileLocator.find(PDERuntimePlugin.getDefault().getBundle(), new Path(path), null);
124 	}
125 
manage(String key, ImageDescriptor desc)126 	public static Image manage(String key, ImageDescriptor desc) {
127 		Image image = desc.createImage();
128 		PLUGIN_REGISTRY.put(key, image);
129 		return image;
130 	}
131 
132 }
133