/* * Copyright 2003-2010 Tufts University Licensed under the * Educational Community License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. You may * obtain a copy of the License at * * http://www.osedu.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS IS" * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing * permissions and limitations under the License. */ /** * * @author akumar03 */ package edu.tufts.vue.metadata.ui; import java.awt.Component; import javax.swing.DefaultListCellRenderer; import javax.swing.JList; import tufts.vue.VueResources; import edu.tufts.vue.ontology.OntType; public class CategoryComboBoxRenderer extends DefaultListCellRenderer { /** Creates a new instance of CategoryComboBoxRenderer */ public CategoryComboBoxRenderer() { } public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { if(value != null){ if((value instanceof edu.tufts.vue.ontology.OntType)) { setText(((OntType)value).getLabel()); //System.out.println("RENDERER(OntType) - label:"+((OntType)value).getLabel()+" index: "+index+" selected:"+isSelected); if (isSelected) { setBackground(list.getSelectionBackground()); setForeground(list.getSelectionForeground()); } else { setBackground(list.getBackground()); setForeground(list.getForeground()); } } else { //System.out.println("RENDERER - label:"+value.toString()+"class:"+ value.getClass()+" index: "+index+" selected:"+isSelected); setText(value.toString()); setBackground(list.getBackground()); setForeground(list.getForeground()); if(value instanceof edu.tufts.vue.metadata.gui.EditCategoryItem) { if(tufts.vue.VUE.getCategoryModel().isLoaded() == false) { setText(VueResources.getString("addLibrary.loading.label")); } } } } return this; } }