package usda.weru.mcrew;

import com.klg.jclass.cell.JCCellInfo;
import com.klg.jclass.cell.renderers.JCComboBoxCellRenderer;
import java.awt.Component;
import java.util.ArrayList;
import java.util.Hashtable;
import javax.swing.JComponent;
import javax.swing.JLabel;

/**
 *
 * @author mark
 */
public class KillComboBoxCellRenderer  extends JCComboBoxCellRenderer {

    private static final long serialVersionUID = 1L;
    ArrayList<String> names;
    Hashtable<String,String> choices;
    boolean haskilflag;
     /**
     * This dummy component is used when the data is null (aka no value is allowed)).
     */
    protected final JComponent DUMMY = new JLabel();
    
    public KillComboBoxCellRenderer(Hashtable<String,String> choices) {
        super();
        
        this.choices = choices;
        names = new ArrayList<>();
        
        KillComboBoxSupport.parseChoices(this, choices, names);
    }
    
    @Override
    public Component getRendererComponent(JCCellInfo cellInfo, Object o, boolean selected) {
        
        if(o == null){
            DUMMY.setBackground(selected ? cellInfo.getSelectedBackground() : MCREWConfig.getDisabledColor());
            DUMMY.setForeground(selected ? cellInfo.getSelectedForeground() : cellInfo.getForeground());
            return DUMMY;
        }
        
        haskilflag = KillComboBoxSupport.setComboItems(this, cellInfo, choices, names);
        return this;
    }    
}
