root / branches / v2_0_0_prep / frameworks / _fwAndami / src / org / gvsig / andami / IconThemeHelper.java @ 38620
History | View | Annotate | Download (1.82 KB)
1 | 38564 | jjdelcerro | package org.gvsig.andami; |
---|---|---|---|
2 | |||
3 | import java.awt.Image; |
||
4 | 38608 | jjdelcerro | import java.net.URL; |
5 | 38564 | jjdelcerro | |
6 | import javax.swing.ImageIcon; |
||
7 | |||
8 | import org.gvsig.tools.swing.api.ToolsSwingLocator; |
||
9 | import org.gvsig.tools.swing.icontheme.IconTheme; |
||
10 | import org.slf4j.Logger; |
||
11 | import org.slf4j.LoggerFactory; |
||
12 | |||
13 | public class IconThemeHelper { |
||
14 | |||
15 | private static Logger logger = LoggerFactory.getLogger(IconThemeHelper.class); |
||
16 | |||
17 | @SuppressWarnings("rawtypes") |
||
18 | public static void registerIcon(String group, String name, Object obj) { |
||
19 | String resourceName;
|
||
20 | 38608 | jjdelcerro | String provider;
|
21 | 38564 | jjdelcerro | ClassLoader loader;
|
22 | IconTheme iconTheme = ToolsSwingLocator.getIconThemeManager().getCurrent(); |
||
23 | if( group == null || group.trim().length()==0 ) { |
||
24 | resourceName = "images/"+name+".png"; |
||
25 | } else {
|
||
26 | resourceName = "images/"+group+"/"+name+".png"; |
||
27 | } |
||
28 | if( obj instanceof Class ) { |
||
29 | loader = ((Class) obj).getClassLoader();
|
||
30 | 38608 | jjdelcerro | provider = ((Class) obj).getName();
|
31 | 38564 | jjdelcerro | } else {
|
32 | loader = obj.getClass().getClassLoader(); |
||
33 | 38608 | jjdelcerro | provider = obj.getClass().getName(); |
34 | 38564 | jjdelcerro | } |
35 | PluginServices plugin = PluginServices.getPluginServices(obj); |
||
36 | 38608 | jjdelcerro | if( plugin != null ) { |
37 | provider = plugin.getPluginName(); |
||
38 | } |
||
39 | 38612 | nbrodin | |
40 | URL resource = null; |
||
41 | 38564 | jjdelcerro | try {
|
42 | 38612 | nbrodin | resource = loader.getResource(resourceName); |
43 | if(resource == null) { |
||
44 | if( group == null || group.trim().length() == 0) { |
||
45 | resourceName = "images/" + name + ".gif"; |
||
46 | } else {
|
||
47 | resourceName = "images/" + group + "/" + name + ".gif"; |
||
48 | } |
||
49 | resource = loader.getResource(resourceName); |
||
50 | } |
||
51 | 38608 | jjdelcerro | iconTheme.registerDefault(provider, group, name, null, resource);
|
52 | 38564 | jjdelcerro | } catch( Throwable e) { |
53 | 38612 | nbrodin | logger.info("Can't register icon '" + name + "'.",e); |
54 | 38564 | jjdelcerro | } |
55 | 38612 | nbrodin | |
56 | 38564 | jjdelcerro | } |
57 | |||
58 | public static ImageIcon getImageIcon(String iconName) { |
||
59 | return PluginServices.getIconTheme().get(iconName);
|
||
60 | } |
||
61 | |||
62 | public static Image getImage(String iconName) { |
||
63 | return PluginServices.getIconTheme().get(iconName).getImage();
|
||
64 | } |
||
65 | } |