Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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  }