/*
 * MyCheckBoxCellRenderer.java
 *
 * Created on September 20, 2007, 10:04 AM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package usda.weru.mcrew;

import com.klg.jclass.cell.JCCellInfo;
import com.klg.jclass.cell.renderers.JCCheckBoxCellRenderer;
import com.klg.jclass.table.JCTableCellInfo;
import java.awt.Component;
import javax.swing.JComponent;
import javax.swing.JLabel;

/**
 *
 * @author Joseph Levin
 */
public class MyCheckBoxCellRenderer extends JCCheckBoxCellRenderer{
    private static final long serialVersionUID = 1L;
    
    private static final JComponent DUMMY = new JLabel();
    /** Creates a new instance of MyCheckBoxCellRenderer */
    public MyCheckBoxCellRenderer() {
    }
    @Override
    public Component getRendererComponent(JCCellInfo cellInfo, Object o, boolean selected) {
        try {
            if (o == null){
                DUMMY.setOpaque(true);
                DUMMY.setBackground(selected ? cellInfo.getSelectedBackground(): MCREWConfig.getDisabledColor());
                DUMMY.setForeground(selected ? cellInfo.getSelectedForeground(): cellInfo.getForeground());
                return DUMMY;
            }
            if(Integer.parseInt(o.toString()) == 1) {
                o = Boolean.TRUE;
            } else {
                o = Boolean.FALSE;
            }
        } catch(NumberFormatException e) {
            o = Boolean.FALSE;
        }
        Component c = super.getRendererComponent(cellInfo, o, selected);
        if(cellInfo instanceof JCTableCellInfo){
            JCTableCellInfo info = (JCTableCellInfo) cellInfo;
            if (!info.getCellStyle().isEditable()){
                c.setBackground(selected ? cellInfo.getSelectedBackground(): MCREWConfig.getDisabledColor());
            }
            
        }
        return c;
        
    }
    
    
}
