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 }