package net.sf.taverna.t2.activities.xpath.ui.servicedescription; | |
import java.awt.Color; | |
import java.net.URI; | |
import javax.swing.Icon; | |
import javax.swing.ImageIcon; | |
import net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI; | |
import net.sf.taverna.t2.workbench.configuration.colour.ColourManager; | |
/** | |
* @author Sergejs Aleksejevs | |
*/ | |
public class XPathActivityIcon implements ActivityIconSPI { | |
private static final Color PROCESSOR_COLOUR = Color.decode("#E6FF5E"); | |
// --- LOCATIONS OF ICONS USED IN THE XPath ACTIVITY --- | |
private static final String FAMFAMFAM_SILK_PATH = "famfamfam_silk/"; | |
private static final String FOLDS_PATH = "folds/"; | |
public static final String XPATH_ACTIVITY_ICON = FAMFAMFAM_SILK_PATH + "page_white_code.png"; | |
public static final String XPATH_ACTIVITY_CONFIGURATION_PARSE_XML_ICON = "arrow_right.png"; | |
public static final String XML_TREE_ROOT_ICON = FAMFAMFAM_SILK_PATH + "page_white_code.png"; | |
public static final String XML_TREE_NODE_ICON = FAMFAMFAM_SILK_PATH + "tag.png"; | |
public static final String XML_TREE_ATTRIBUTE_ICON = "xpath_attribute.png"; | |
public static final String XML_TREE_EXPAND_ALL_ICON = FAMFAMFAM_SILK_PATH | |
+ "text_linespacing.png"; | |
public static final String XML_TREE_COLLAPSE_ALL_ICON = FAMFAMFAM_SILK_PATH | |
+ "text_linespacing (collapse).png"; | |
public static final String XPATH_STATUS_OK_ICON = FAMFAMFAM_SILK_PATH + "accept.png"; | |
public static final String XPATH_STATUS_ERROR_ICON = FAMFAMFAM_SILK_PATH + "exclamation.png"; | |
public static final String XPATH_STATUS_UNKNOWN_ICON = FAMFAMFAM_SILK_PATH + "help.png"; | |
public static final String FOLD_ICON = FOLDS_PATH + "fold.png"; | |
public static final String UNFOLD_ICON = FOLDS_PATH + "unfold.png"; | |
// ------ | |
private static ImageIcon icon; | |
public int canProvideIconScore(URI activityType) { | |
if (XPathTemplateService.ACTIVITY_TYPE.equals(activityType)) | |
return DEFAULT_ICON + 1; | |
else | |
return NO_ICON; | |
} | |
public Icon getIcon(URI activityType) { | |
return getXPathActivityIcon(); | |
} | |
public static Icon getXPathActivityIcon() { | |
if (icon == null) { | |
synchronized (XPathActivityIcon.class) { | |
if (icon == null) { | |
try { | |
icon = new ImageIcon( | |
XPathActivityIcon.class.getResource(XPATH_ACTIVITY_ICON)); | |
} catch (NullPointerException e) { | |
/* icon wasn't found - do nothing, but no icon will be available */ | |
} | |
} | |
} | |
} | |
return (icon); | |
} | |
public static Icon getIconById(String iconID) { | |
try { | |
return (new ImageIcon(XPathActivityIcon.class.getResource(iconID))); | |
} catch (NullPointerException e) { | |
// requested icon wasn't found - just return null | |
return (null); | |
} | |
} | |
public void setColourManager(ColourManager colourManager) { | |
colourManager.setPreferredColour(XPathTemplateService.ACTIVITY_TYPE.toString(), PROCESSOR_COLOUR); | |
} | |
} |