Source code: org/embl/ebi/escience/scuflui/workbench/ScavengerTreeRenderer.java
1 /**
2 * This file is a component of the Taverna project,
3 * and is licensed under the GNU LGPL.
4 * Copyright Tom Oinn, EMBL-EBI
5 */
6 package org.embl.ebi.escience.scuflui.workbench;
7
8 import java.awt.Component;
9 import javax.swing.JTree;
10 import javax.swing.tree.DefaultMutableTreeNode;
11 import org.embl.ebi.escience.scuflui.ScuflIcons;
12 import org.embl.ebi.escience.scuflui.ScuflModelExplorerRenderer;
13
14 import org.embl.ebi.escience.scuflui.workbench.ProcessorFactory;
15 import org.embl.ebi.escience.scuflui.workbench.SoaplabProcessorFactory;
16 import org.embl.ebi.escience.scuflui.workbench.TalismanProcessorFactory;
17 import org.embl.ebi.escience.scuflui.workbench.WSDLBasedProcessorFactory;
18 import org.embl.ebi.escience.scuflui.workbench.WorkflowProcessorFactory;
19 import java.lang.Object;
20
21
22
23 /**
24 * A cell renderer that paints the appropriate icons depending on the
25 * component of the model being displayed. This renderer is for the
26 * ScavengerTree class.
27 * @author Tom Oinn
28 */
29 public class ScavengerTreeRenderer extends ScuflModelExplorerRenderer {
30
31 /**
32 * Return a custom renderer to draw the cell correctly for each node type
33 */
34 public Component getTreeCellRendererComponent(JTree tree,
35 Object value,
36 boolean sel,
37 boolean expanded,
38 boolean leaf,
39 int row,
40 boolean hasFocus) {
41 super.getTreeCellRendererComponent(tree, value, sel,
42 expanded, leaf, row,
43 hasFocus);
44 Object userObject = ((DefaultMutableTreeNode)value).getUserObject();
45 if (userObject instanceof ProcessorFactory) {
46 if (userObject instanceof SoaplabProcessorFactory) {
47 setIcon(ScuflIcons.soaplabFactoryIcon);
48 }
49 else if (userObject instanceof WSDLBasedProcessorFactory) {
50 setIcon(ScuflIcons.wsdlFactoryIcon);
51 }
52 else if (userObject instanceof TalismanProcessorFactory) {
53 setIcon(ScuflIcons.talismanFactoryIcon);
54 }
55 else if (userObject instanceof WorkflowProcessorFactory) {
56 setIcon(ScuflIcons.workflowFactoryIcon);
57 }
58 }
59 return this;
60 }
61 }