1 package org.argeo.cms.ui.theme; 2 3 import java.net.URL; 4 5 import org.eclipse.jface.resource.ImageDescriptor; 6 import org.eclipse.swt.graphics.Image; 7 import org.eclipse.swt.widgets.Display; 8 import org.osgi.framework.BundleContext; 9 import org.osgi.framework.FrameworkUtil; 10 11 public class CmsImages { 12 private static BundleContext themeBc = FrameworkUtil.getBundle(CmsImages.class).getBundleContext(); 13 14 final public static String ICONS_BASE = "icons/"; 15 final public static String TYPES_BASE = ICONS_BASE + "types/"; 16 final public static String ACTIONS_BASE = ICONS_BASE + "actions/"; 17 18 public static Image createIcon(String name) { 19 return createImg(CmsImages.ICONS_BASE + name); 20 } 21 22 public static Image createAction(String name) { 23 return createImg(CmsImages.ACTIONS_BASE + name); 24 } 25 26 public static Image createType(String name) { 27 return createImg(CmsImages.TYPES_BASE + name); 28 } 29 30 public static Image createImg(String name) { 31 return CmsImages.createDesc(name).createImage(Display.getDefault()); 32 } 33 34 public static ImageDescriptor createDesc(String name) { 35 return createDesc(themeBc, name); 36 } 37 38 public static ImageDescriptor createDesc(BundleContext bc, String name) { 39 URL url = bc.getBundle().getResource(name); 40 if (url == null) 41 return ImageDescriptor.getMissingImageDescriptor(); 42 return ImageDescriptor.createFromURL(url); 43 } 44 45 public static Image createImg(BundleContext bc, String name) { 46 return createDesc(bc, name).createImage(Display.getDefault()); 47 } 48 49 }