// -------------------------------------------------------------------------------------------------
// xsListaArbolOpciones.hpp
// -------------------------------------------------------------------------------------------------

// Se incluye la librería
#include "xsEasyCpp.hpp"

#ifndef __xsListaArbolOpciones_hpp__
#define __xsListaArbolOpciones_hpp__

Clase xsListaArbolOpciones : Publica xsObjeto
{
	Privada:

		Estatica Entero separadores;
        Estatica Entero renglones[];


    // Propiedades Públicas
	Publica:
	    Numerado tipoColumna {Texto, PixBuf, Progreso, Spinner, Palanca};
		
		Estructura renglonListaArbolOpciones 
		{
        	tipoColumna      tipo; 
        	Entero           posicion; 
			xsCadena         texto;
			xsPixelesBuffer* imagen;
    	};

	    xsListaArbolOpciones();

	    Vacio crear();

		xsListaArbolOpciones(xsModeloArbol* modelo);

		Vacio colocarModelo(xsModeloArbol* modelo);

		Vacio visualizarColumna(tipoColumna tipo,
		                        xsCadena    columna,
								Entero      posicion);
		
		xsCadena obtenerTextoSeleccionado(Entero columna);

		Entero   obtenerIndiceSeleccionado();

		Entero   obtenerNivelSeleccionado();

		Vacio eliminarSeleccionado();				

		Vacio eliminar(xsCadena elemento);		

		Vacio insertar(vector<renglonListaArbolOpciones> datos);

		Vacio modificarSeleccionado(Entero columna, xsCadena texto);		

		Vacio modificarElemento(xsCadena elemento, Entero columna, xsCadena texto);		

		Vacio seleccionar(xsCadena elemento);

		Vacio desseleccionar();

		Entero longitud(xsCadena elemento);

		Vacio limpiar();

		Vacio actualizar();
};

// Fin de la Definición del Archivo
#endif
