package uk.ac.reload.editor.style;

// Este render es el encargado de presentar las propiedades de tipo java.awt.Font
 public class FontRender extends javax.swing.table.DefaultTableCellRenderer implements CellRender {
   
     public FontRender() {
    }
    
  //El método que dibuja el componente. Concretamente pinta una JLabel con la fuente
    public java.awt.Component getTableCellRendererComponent(javax.swing.JTable oTabla, Object oValueToAssign,boolean isSelected,boolean hasFocus,int iRow, int iColumn) {
        java.awt.Component oComponent = super.getTableCellRendererComponent(oTabla, oValueToAssign, isSelected,hasFocus,iRow,iColumn);
        if (oValueToAssign!=null) {
            java.awt.Font oFont = (java.awt.Font) oValueToAssign;
            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 diseñado este render
   public Class getTypeRender() {
        return (java.awt.Font.class);
    }
    
}