/*
 * FontRender.java
 *
 */

package com.uvigo.tMaestro.SCOCreator.tool.properties.cellRenders;
import com.uvigo.tMaestro.SCOCreator.tool.properties.*;

/**
 * Este render es el encargado de presentar las propiedades de tipo
 * java.awt.Font
 * @author Raul
 * @version 0.1
 */
public class FontRender extends javax.swing.table.DefaultTableCellRenderer implements CellRender {
    
    
    
    
    
    /**
     * Crea una nueva instancia de esta clase
     */
    public FontRender() {
        
    }
    
    
    /**
     * El metodo que dibuja el componente. Concretamente pinta una JLabe
     * la fuente
     */
    public java.awt.Component getTableCellRendererComponent(javax.swing.JTable oTabla, Object oObject,boolean isSelected,boolean hasFocus,int iRow, int iColumn) {
        java.awt.Component oComponent = super.getTableCellRendererComponent(oTabla, oObject, isSelected,hasFocus,iRow,iColumn);
        if (oObject!=null) {
            java.awt.Font oFont = (java.awt.Font) oObject;
            String sStyle=null;
            switch(oFont.getStyle()) {
                case 0: sStyle="plain";
                break;
                case 1: sStyle="bold";
                break;
                case 2: sStyle="italic";
                break;
                case 3: sStyle="bold + italic";
                break;
            }
            String sText = oFont.getFamily()+" "+sStyle+" "+oFont.getSize();
            ((javax.swing.JLabel) oComponent).setText(sText);
            ((javax.swing.JLabel) oComponent).setToolTipText(sText);
        }
        
        return(oComponent);
    }
    
    
    
    
    
    
    /**
     * Devuelve la clase para la que se ha disenado este render
     * @return Un objeto de tipo Class<java.awt.Font>
     */
    public Class getTypeRender() {
        return (java.awt.Font.class);
    }
    
}