crysol  

Re: [CRySoL] Glade, or Gazpacho: that is the question

manuel david jimenez patiño
Mon, 01 Oct 2007 15:44:48 -0700

 Hola a todos, os cuento el último problemilla que tengo con Gazpacho. Verán el 
código que tengo para conectar con la interfaz que he creado es el siguiente:



#include 
#include 
#include 
#include 



GtkWidget * prueba_crear_main(void);
 void on_window1_destroy();



/*********************************************************************************************
* Funcion principal main
*********************************************************************************************

int main(int argc, char *argv[]) {
        GtkWidget* window_main;
        


        gtk_init(&argc, &argv);

         window_main = prueba_crear_main();

        /* Iniciar el ciclo principal */
        gtk_main();

        return 0;
}

/*****************************************************************************************
* fin del main
*****************************************************************************************/



/*******************************************************************************
*             CARGAMOS LA VENTANA
*******************************************************************************

GtkWidget * prueba_crear_main(void){
  GladeXML *xml;
  GtkWidget *window;

  xml = glade_xml_new("saludo3.glade", NULL, NULL);
  glade_xml_signal_autoconnect(xml);

  window = glade_xml_get_widget (xml, "principal");
 


  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_default_size (GTK_WINDOW (window), 800, 500);
 
   g_signal_connect (window, "destroy",G_CALLBACK (on_window1_destroy), NULL);
   

  return window;
}



/*****************************************************************************
* Funcion que al pinchar  salir en la ventana se ejecuta y fuerza la salida del 
programa
*****************************************************************************

void on_window1_destroy(){
  gtk_main_quit();

}




Lo compilo como siempre:

$ gcc -o aver2 aver.c  `pkg-config --cflags --libs gtk+-2.0 libglade-2.0`

¡ y guay!, me crea el ejecutable.

entonces yo hago:

$ ./aver2

y vale la ventana me la muestra bien, pero en línea de comandos me sale la 
siguiente mierda:

(aver2:9788): libglade-WARNING **: could not find signal handler 
'on_window1_destroy'.


Es decir como que no me reconoce el método "on_window1_destroy".

Vale, alguno que haya utilizado glade, glade-3 o Gazpacho, podría pensar que se 
me ha olivado ponerlo en el apartado de señales de la ventana principal 
"window1", pero no, justo en:

-GtkObject
   - destroy                    on_window1_destroy

(Esto está en el programa Gazpacho)


He estado buscando por ahí, y he leido que quizá me podría faltar la librería:

#include 

pero no creo que este sea el problema, ya que a mi me da el problema con 
libglade.
el enlace está aquí:

http://listas.hispalinux.es/pipermail/gnome-libros/2006-June/000852.html


¿A alguno de ustedes le ha pasado esto alguna vez?

Venga un saludo, no obstante seguiré investigando.



*******************************************************************************
"Por mucho que camine nunca alcanzaré la utopía, pero al menos para eso me 
sirve, para caminar" eslogan de una manifestación ANTIglobalización... si , 
esos locos dando gritos que nos sacan en los telediarios a la hora de comer ... 
. ¿Acaso un loco escribiría una frase como la anterior? ...

















----------------------------------------> From: [EMAIL PROTECTED]> To: 
crysol@arco.inf-cr.uclm.es> Date: Sun, 30 Sep 2007 18:25:22 +0000> Subject: Re: 
[CRySoL] Glade, or Gazpacho: that is the question>>> Os cuento alguno de los 
últimos avances con Gazpacho.> Al igual que glade o glade-3, Gazpacho genera 
archivos .glade (esto es la interfaz que creas y luego guardas).>> Hasta ahora 
sólo sabía cargar la interfaz (el archivo .glade ), dese Python, el código es 
el siguiente:> (El archivo en mi caso se llama saludo3.glade)>>> #Importamos 
las librerias Gtk necesarias> import gtk> from gtk import glade>> #Creamos 
nuestra clase principal> class saludo:> def __init__ (self):>> #Cargamos el 
archivo .glade> self.xml = glade.XML("saludo3.glade", None, None)> 
self.xml.signal_connect("on_principal_destroy",lambda w: gtk.main_quit())>>> 
#Iniciamos la aplicacion> if __name__ == "__main__":> c = saludo()> 
gtk.main()>>> Para compilar:>> $ python este_archivo.py>>>>> Pero esta tarde 
también he aprendido a cargarla desde C, el código es el sigiuente:>> #include> 
#include>>> int main(int argc, char *argv[]) {> GladeXML *xml;>> 
gtk_init(&argc, &argv);>> /* Cargar la interfaz de usuario */> xml = 
glade_xml_new("saludo3.glade", NULL, NULL);>> /* Conectar las señales de la 
interfaz */> glade_xml_signal_autoconnect(xml);>> /* Iniciar el ciclo principal 
*/> gtk_main();>> return 0;> }>>> Para compilar:>> $ gcc -o este_archivo 
este_archivo.c `pkg-config --cflags --libs gtk+-2.0 libglade-2.0`> 
$./este_archivo>>>>> la librería libglade, te permite a partir del archivo XML 
que define una interfaz creada con glade generarla en tiempo de ejecución, sin 
la necesidad de código en C generado. Desde entonces, ya no es recomendable 
usar el código generado por glade, y se da preferencia al uso de esta 
librería.>>> Por ahora nada màs, ahora toca ponerse a controlar los eventos de 
los botones y todo eso.>> Un saludo.>>>>>>>>> 
----------------------------------------> From: [EMAIL PROTECTED]> To: 
crysol@arco.inf-cr.uclm.es> Date: Sun, 30 Sep 2007 10:44:20 +0000> Subject: Re: 
[CRySoL] Glade, or Gazpacho: that is the question>>>>>>>>Puedes subirlo como 
receta.> Un saludo!>> Hola David!, pues si, al final me va a tocar ponerlo como 
receta, aunque más que una receta va ser un mini libro de cocina (son unas 20 
caras), pero en fin, todo sea para que le pueda ser útil a alguien.>> Un 
saludo.>> 
**************************************************************************************************>
 Siempre pongo citas, pero lo cierto es que hace tiempo que no tengo una.>>>>> 
El sáb, 29-09-2007 a las 23:20 +0000, manuel david jimenez patiño> escribió:>> 
Oye muchachos os estaba adjuntando un manual de introducción a glade, glade-3 y 
Gazpacho,que había estado realizando estos días. pero parece ser que ocupa más 
de 100 KB y no me deja adjuntarlo.>>>> He mirado la sección de manuales en 
Crysol, pero creo que yo no lo puedo subir ..., así que de momento mi manual 
está aquí inutilizado en mi escritorio, que rabia ... .>>>> Un saludo.>>>> 
*******************************************************************************************************
 Anímense hombre, ¡que todos los días toca! ..., toca ver el cielo, toca 
aprender, toca reir, toca luchar ... .¿Existe lotería mejor?>>>>>>>>>> 
----------------------------------------> From: [EMAIL PROTECTED]> To: 
crysol@arco.inf-cr.uclm.es> Date: Sun, 23 Sep 2007 11:25:32 +0000> Subject: Re: 
[CRySoL] Glade, or Gazpacho: that is the question>>> Vale. Voya ver que soy 
capaz de hacer estas semanas.>> Un saludo.>>> ________________________________> 
Date: Sun, 23 Sep 2007 02:23:09 +0200> From: [EMAIL PROTECTED]> To: [EMAIL 
PROTECTED]> Subject: Re: [CRySoL] Glade, or Gazpacho: that is the question> CC: 
crysol@arco.inf-cr.uclm.es>> Si haces un tuto, cuelga la receta en 
www.crysol.org> Un saludo.> El día 22/09/07, manuel david jimenez patiño < 
[EMAIL PROTECTED]> escribió:>> 
_________________________________________________________________> Prueba 
algunos de los nuevos servicios en línea que te ofrece Windows Live Ideas: tan 
nuevos que ni siquiera se han publicado oficialmente todavía.> 
http://ideas.live.com> _______________________________________________> CRySoL 
mailing list> http://crysol.inf-cr.uclm.es/> 
https://arco.inf-cr.uclm.es/cgi-bin/mailman/listinfo/crysol>>>> 
_________________________________________________________________>> Busca desde 
cualquier página Web con una protección excepcional. Consigue la Barra de 
herramientas de Windows Live hoy mismo y GRATUITAMENTE.>> 
http://www.toolbar.live.com>> _______________________________________________>> 
CRySoL mailing list>> http://crysol.inf-cr.uclm.es/>> 
https://arco.inf-cr.uclm.es/cgi-bin/mailman/listinfo/crysol>>> 
_________________________________________________________________> ¡Ya está 
aquí Windows Live Spaces! Ahora podrás crear fácilmente tu propio sitio Web.> 
http://spaces.live.com/signup.aspx> 
_______________________________________________> CRySoL mailing list> 
http://crysol.inf-cr.uclm.es/> 
https://arco.inf-cr.uclm.es/cgi-bin/mailman/listinfo/crysol>> 
_________________________________________________________________> ¡Ya está 
aquí Windows Live Spaces! Ahora podrás crear fácilmente tu propio sitio Web.> 
http://spaces.live.com/signup.aspx> 
_______________________________________________> CRySoL mailing list> 
http://crysol.inf-cr.uclm.es/> 
https://arco.inf-cr.uclm.es/cgi-bin/mailman/listinfo/crysol

_________________________________________________________________
¡Ya está aquí Windows Live Spaces! Ahora podrás crear fácilmente tu propio 
sitio Web.
http://spaces.live.com/signup.aspx
_______________________________________________
CRySoL mailing list
http://crysol.inf-cr.uclm.es/
https://arco.inf-cr.uclm.es/cgi-bin/mailman/listinfo/crysol