package ctagsinterface.main;
import java.net.URL;
import java.util.Hashtable;
import javax.swing.ImageIcon;
import org.gjt.sp.jedit.jEdit;
public class KindIconProvider {
static Hashtable<String, ImageIcon> icons =
new Hashtable<String, ImageIcon>();
public static final String ICONS = "options.CtagsInterface.icons.kind.";
static public ImageIcon getIcon(String kind) {
ImageIcon icon = (kind == null) ? null : icons.get(kind);
if (icon == null)
{
String iconName = jEdit.getProperty(ICONS + kind);
if (iconName == null || iconName.length() == 0)
iconName = "unknown.png";
URL url = Tag.class.getClassLoader().getResource(
"icons/" + iconName);
try {
icon = new ImageIcon(url);
}
catch (Exception e) {
e.printStackTrace();
}
if (icon != null)
icons.put(kind, icon);
}
if (icon != null)
return icon;
return null;
}
public ImageIcon getIcon(Tag tag) {
return getIcon(tag.getKind());
}
}