/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vista;

import java.awt.Component;
import javax.swing.ImageIcon;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;

/**
 *
 * @author UHU
 */
public class RendererArbol extends DefaultTreeCellRenderer{
    private ImageIcon imgCDU;
    private ImageIcon imgEXC;
    private ImageIcon imgIMG;
    private ImageIcon imgOBJ;
    private ImageIcon imgORG;
    private ImageIcon imgREU;
    private ImageIcon imgACT;
    private ImageIcon imgSEC;
    private ImageIcon imgPAS;
    private ImageIcon imgRFU;
    private ImageIcon imgRIN;
    private ImageIcon imgRNF;
    private ImageIcon imgRRE;
    
    public RendererArbol() { 
        //Guardamos las imagenes con la ubicacion
        imgCDU=new ImageIcon ("src/vista/iconos/arbolico/nueva_cu.png"); 
        imgEXC=new ImageIcon ("src/vista/iconos/arbolico/nueva_excepcion.png");
        imgIMG=new ImageIcon ("src/vista/iconos/arbolico/nueva_imagen.png");
        imgOBJ=new ImageIcon ("src/vista/iconos/arbolico/nueva_objetivo.png");
        imgORG=new ImageIcon ("src/vista/iconos/arbolico/nueva_organizacion.png");
        imgREU=new ImageIcon ("src/vista/iconos/arbolico/nueva_reunion.png");
        imgACT=new ImageIcon ("src/vista/iconos/arbolico/nuevo_actor.png");
        imgSEC=new ImageIcon ("src/vista/iconos/arbolico/nuevo_elemento_glosario.png");
        imgPAS=new ImageIcon ("src/vista/iconos/arbolico/nuevo_paso.png");
        imgRFU=new ImageIcon ("src/vista/iconos/arbolico/req_funcional.png");
        imgRIN=new ImageIcon ("src/vista/iconos/arbolico/req_informacion.png");
        imgRNF=new ImageIcon ("src/vista/iconos/arbolico/req_nofuncional.png");
        imgRRE=new ImageIcon ("src/vista/iconos/arbolico/req_restriccion.png");
        
    }
    
    @Override
    public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus){
    //Lo que hacemos en esta clase es implementar el metodo getTreeCellRendererComponent modificando solo lo que nos interesa, ya que estamos sobrecargando un método ya existente de ahi el @Override

    super.getTreeCellRendererComponent(tree,value,selected,expanded,leaf,row,hasFocus);
    DefaultMutableTreeNode nodo = (DefaultMutableTreeNode) value;
    
    if (nodo.toString().startsWith("[CDU]")) {
        setIcon(imgCDU);
    }
    else if (nodo.toString().startsWith("[EXC]")) {
        setIcon(imgEXC);
    }
    else if (nodo.toString().startsWith("[SEC]")) {
        setIcon(imgSEC);
    }
    else if (nodo.toString().startsWith("[PAS]")) {
        setIcon(imgPAS);
    }
    else if (nodo.toString().startsWith("[RFU]")) {
        setIcon(imgRFU);
    }
    else if (nodo.toString().startsWith("[RIN]")) {
        setIcon(imgRIN);
    }
    else if (nodo.toString().startsWith("[RNF]")) {
        setIcon(imgRNF);
    }
    else if (nodo.toString().startsWith("[RRE]")) {
        setIcon(imgRRE);
    }
    else {
        
    }

    return this;

    }// Fin del método 
}
