root / branches / v2_0_0_prep / frameworks / _fwAndami / src / org / gvsig / andami / IconThemeHelper.java @ 38608
History | View | Annotate | Download (1.54 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 | 38564 | jjdelcerro | try {
|
40 | 38608 | jjdelcerro | URL resource = loader.getResource(resourceName);
|
41 | iconTheme.registerDefault(provider, group, name, null, resource);
|
||
42 | 38564 | jjdelcerro | } catch( Throwable e) { |
43 | 38608 | jjdelcerro | logger.info("Can't register icon '"+name+"'.",e); |
44 | 38564 | jjdelcerro | } |
45 | } |
||
46 | |||
47 | public static ImageIcon getImageIcon(String iconName) { |
||
48 | return PluginServices.getIconTheme().get(iconName);
|
||
49 | } |
||
50 | |||
51 | public static Image getImage(String iconName) { |
||
52 | return PluginServices.getIconTheme().get(iconName).getImage();
|
||
53 | } |
||
54 | } |