View Javadoc

1   /*
2   
3       dsh-venn-cytoscape-plugin  Cytoscape plugin for venn diagrams.
4       Copyright (c) 2010-2012 held jointly by the individual authors.
5   
6       This library is free software; you can redistribute it and/or modify it
7       under the terms of the GNU Lesser General Public License as published
8       by the Free Software Foundation; either version 3 of the License, or (at
9       your option) any later version.
10  
11      This library is distributed in the hope that it will be useful, but WITHOUT
12      ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or
13      FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
14      License for more details.
15  
16      You should have received a copy of the GNU Lesser General Public License
17      along with this library;  if not, write to the Free Software Foundation,
18      Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
19  
20      > http://www.fsf.org/licensing/licenses/lgpl.html
21      > http://www.opensource.org/licenses/lgpl-license.php
22  
23  */
24  package org.dishevelled.venn.cytoscape;
25  
26  import static org.dishevelled.venn.cytoscape.VennDiagramsUtils.nameOf;
27  
28  import java.awt.Component;
29  
30  import javax.swing.DefaultListCellRenderer;
31  import javax.swing.JLabel;
32  import javax.swing.JList;
33  
34  import cytoscape.groups.CyGroup;
35  
36  /**
37   * List cell renderer for <code>CyGroup</code>.
38   *
39   * @author  Michael Heuer
40   */
41  final class CyGroupListCellRenderer extends DefaultListCellRenderer //IdListCellRenderer
42  {
43  
44      /** {@inheritDoc} */
45      public Component getListCellRendererComponent(final JList list,
46                                                    final Object value,
47                                                    final int index,
48                                                    final boolean isSelected,
49                                                    final boolean hasFocus)
50      {
51          JLabel label = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, hasFocus);
52  
53          // alternatively, provide a BeanInfo implementation for CyNode, CyGroup that implements getName in this manner
54          if (value instanceof CyGroup)
55          {
56              CyGroup group = (CyGroup) value;
57              label.setText(nameOf(group));
58          }
59          return label;
60      }
61  }