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 }