View Javadoc
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  }