/*
 * HierarchyTreeCellRender.java
 */

package com.uvigo.tMaestro.SCOCreator.tool.hierarchy;

import com.uvigo.tMaestro.SCOCreator.tool.MainFrame;
import com.uvigo.tMaestro.SCOCreator.tool.Capsula;

/**
 * Esta clase es la encargada de la presentacion del Tree en el visor de jerarquias.
 * La usamos para poder anadir los ToolTips al Tree.
 * Tambien se puede usar para particularizar los iconos de los elementos del Tree.
 * @author raul
 */
public class HierarchyTreeCellRender extends javax.swing.tree.DefaultTreeCellRenderer {
    
    /**
     * Crea una nueva instancia
     *
     */
    public HierarchyTreeCellRender() {
        super();
    }
    
    
    
    /**
     * Metodo que devuelve el componente que se utiliza para presentar el
     * elemento de JTree al usuario.
     */
    public java.awt.Component getTreeCellRendererComponent(javax.swing.JTree oJTree,Object oValue,boolean bSel,
            boolean bExpanded,boolean bLeaf,int iRow,boolean bHasFocus) {
        
        //Llamamos al metodo de la clase padre (DefaultTreeCellRenderer)
        super.getTreeCellRendererComponent(oJTree,oValue,bSel,bExpanded,bLeaf,iRow,bHasFocus);
        
        //Los nodos del JTree, en teoria son Capsulas, por lo que podemos hacer el siguiente cast
        if (oValue instanceof Capsula) {
            final Capsula oNode = (Capsula) oValue;
            setToolTipText(oNode.getToolTipText());
        }
        return this;
    }
}