
package uk.ac.reload.editor.style;

//M: render encargado de presentar los values de color
public class ColorRender extends javax.swing.JPanel implements CellRender {
     
    javax.swing.border.Border oUnselectedBorder = null;
    javax.swing.border.Border oSelectedBorder = null;
    
    public ColorRender() {
        setOpaque(true);
    }
    
    //El método que dibuja el componente. Concretamente pinta una JPanel con el
    //color que se pasa como argumento.
    public java.awt.Component getTableCellRendererComponent(javax.swing.JTable oTabla, Object oValueToAssign,boolean isSelected,boolean hasFocus,int iRow, int iColumn) {
        java.awt.Color oColor = (java.awt.Color) oValueToAssign;
        setBackground(oColor);
        if (isSelected) {
            if (oSelectedBorder == null) {
                oSelectedBorder = javax.swing.BorderFactory.createMatteBorder(2,5,2,5,oTabla.getSelectionBackground());
            }
            setBorder(oSelectedBorder);
        } else {
            if (oUnselectedBorder == null) {
                oUnselectedBorder = javax.swing.BorderFactory.createMatteBorder(2,5,2,5,oTabla.getBackground());
            }
            setBorder(oUnselectedBorder);
        }
        this.setToolTipText("R:"+oColor.getRed()+" G:"+oColor.getGreen()+" B:"+oColor.getBlue());
        return(this);
    }
    
    
    
    
    
    
    //Devuelve la clase para la que se ha diseñado este render
    public Class getTypeRender() {
        return (java.awt.Color.class);
    }
    
}
