1 /******************************************************************************* 2 * Copyright (c) 2008, 2015 Code 9 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 * Code 9 Corporation - initial API and implementation 13 * Rafael Oliveira Nobrega <rafael.oliveira@gmail.com> - bug 242028 14 * Lars.Vogel <Lars.Vogel@vogella.com> - Bug 465781 15 *******************************************************************************/ 16 package org.eclipse.pde.internal.ds.ui; 17 18 import org.eclipse.jface.resource.ImageDescriptor; 19 import org.eclipse.jface.viewers.DecorationOverlayIcon; 20 import org.eclipse.jface.viewers.IDecoration; 21 import org.eclipse.swt.graphics.Image; 22 23 public final class SharedImages { 24 SharedImages()25 private SharedImages() { // do nothing 26 } 27 28 public final static int F_DYNAMIC = 1; 29 30 public final static String ICONS_PATH = "icons/"; //$NON-NLS-1$ 31 32 private static final String PATH_OBJ = ICONS_PATH + "obj16/"; //$NON-NLS-1$ 33 private static final String PATH_OVR = ICONS_PATH + "ovr16/"; //$NON-NLS-1$ 34 private static final String PATH_WIZBAN = ICONS_PATH + "wizban/"; //$NON-NLS-1$ 35 36 public static final String DESC_IMPLEMENTATION = PATH_OBJ + "class_obj.png"; //$NON-NLS-1$ 37 public static final String DESC_PROPERTY = PATH_OBJ + "property_obj.png"; //$NON-NLS-1$ 38 public static final String DESC_PROPERTIES = PATH_OBJ 39 + "properties_obj.png"; //$NON-NLS-1$ 40 public static final String DESC_PROVIDE = PATH_OBJ + "int_obj.png"; //$NON-NLS-1$ 41 public static final String DESC_REFERENCE = PATH_OBJ + "reference_obj.png"; //$NON-NLS-1$ 42 public static final String DESC_REFERENCE_ONE_N = PATH_OBJ 43 + "reference_one_n_obj.png"; //$NON-NLS-1$ 44 public static final String DESC_REFERENCE_ZERO_ONE = PATH_OBJ 45 + "reference_zero_one_obj.png"; //$NON-NLS-1$ 46 public static final String DESC_REFERENCE_ZERO_N = PATH_OBJ 47 + "reference_zero_n_obj.png"; //$NON-NLS-1$ 48 public static final String DESC_ROOT = PATH_OBJ + "component_obj.png"; //$NON-NLS-1$ 49 public static final String DESC_SERVICE = PATH_OBJ + "service_obj.png"; //$NON-NLS-1$ 50 public static final String DESC_SERVICES = PATH_OBJ + "services_obj.png"; //$NON-NLS-1$ 51 public static final String DESC_DS = PATH_OBJ + "ds_obj.png"; //$NON-NLS-1$ 52 public static final String DESC_ATTR = PATH_OBJ + "attribute_obj.png"; //$NON-NLS-1$ 53 public static final String DESC_DETAILS = PATH_OBJ + "details_obj.png"; //$NON-NLS-1$ 54 55 public static final String OVR_DYNAMIC = PATH_OVR + "synch_co.png"; //$NON-NLS-1$ 56 57 public static final String DESC_DS_WIZ = PATH_WIZBAN + "defcon_wiz.png"; //$NON-NLS-1$ 58 getImageDescriptor(String key)59 public static ImageDescriptor getImageDescriptor(String key) { 60 return Activator.getDefault().getImageRegistry().getDescriptor(key); 61 } 62 getImage(String key)63 public static Image getImage(String key) { 64 return Activator.getDefault().getImageRegistry().get(key); 65 } 66 getImage(String key, int flags)67 public static Image getImage(String key, int flags) { 68 // TODO crufty code 69 Image image = Activator.getDefault().getImageRegistry().get(key); 70 if ((flags & F_DYNAMIC) != 0) { 71 Image o = Activator.getDefault().getImageRegistry().get( 72 key + OVR_DYNAMIC); 73 if (o != null) 74 return o; 75 Image i = new DecorationOverlayIcon(image, SharedImages 76 .getImageDescriptor(OVR_DYNAMIC), 77 IDecoration.TOP_RIGHT) 78 .createImage(); 79 Activator.getDefault().getImageRegistry().put(key + OVR_DYNAMIC, i); 80 return i; 81 } 82 return image; 83 } 84 85 } 86