// -------------------------------------------------------------------------------------------------
// xsObjeto.hpp
// -------------------------------------------------------------------------------------------------

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

#ifndef __xsObjeto_hpp__
#define __xsObjeto_hpp__

Clase xsObjeto
{
	Protegida:
		
		xsObjetoGUI* objeto;
		xsContextoCSS* contexto;

	Publica:
		
        Vacio asignarManejador(xsObjetoGUI* manejador);

		xsObjetoGUI* obtenerManejador();

		xsContextoCSS* obtenerContexto();

		Vacio agregarClaseCSS(xsCadena clase);

        Vacio destruir();

		Vacio mostrar();

		Vacio ocultar();

		Vacio mostrarTodo();

        Vacio colocarFoco();

        Vacio colocarDimensiones(Entero ancho, 
                                 Entero alto);

        Vacio colocarTextoEmergente(xsCadena textoEmergente);

        xsVentanaGUId* obtenerVentana();

        Entero verificarTieneFoco();

        Vacio obtenerAnchoPreferido(Entero* minimo, 
                                    Entero* natural);

        Vacio obtenerAltoPreferido(Entero* minimo, 
                                   Entero* natural);

        Vacio asignarTieneVentana(Logico tieneVentana);

        Vacio asignarEvento(Entero evento);
        
        SinSigno Largo conectarSenal(xsCadena         senal, 
                                     xsFuncionRetorno funcion, 
                                     xsApuntador      datos);

        SinSigno Largo conectarSenalIntercambiada(xsCadena         senal, 
                                                  xsFuncionRetorno funcion, 
                                                  xsApuntador      datos);

        Entero obtenerMargenInicial();
        Vacio  colocarMargenInicial(Entero margen);

        Entero obtenerMargenFinal();
        Vacio  colocarMargenFinal(Entero margen);

        Entero obtenerMargenSuperior();
        Vacio  colocarMargenSuperior(Entero margen);

        Entero obtenerMargenInferior();
        Vacio  colocarMargenInferior(Entero margen);

        Entero obtenerLocalizacionX();
        Entero obtenerLocalizacionY();
        Entero obtenerAncho();
        Entero obtenerAlto();

        Vacio colocarPosicionXY(Entero posX, Entero posY);
        Vacio colocarAnchoAlto(Entero ancho, Entero alto);

        Vacio habilitar(Logico habilitar);

};

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