]> git.argeo.org Git - lgpl/argeo-commons.git/blob - eclipse/org.argeo.cms.swt/src/org/argeo/cms/ui/theme/CmsImages.java
Fix MANIFEST generation issues.
[lgpl/argeo-commons.git] / eclipse / org.argeo.cms.swt / src / org / argeo / cms / ui / theme / CmsImages.java
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 }