[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Una de programación en Gtk: llamar a un "g_signal_connect"



--- Luis Rodrigo Gallardo Cruz <rodrigo@nul-unu.com>
escribió:

> On Thu, Apr 12, 2007 at 05:58:32PM +0200, Iñaki Baz
> Castillo wrote:
> > 
> >  void dark_put_in_box (GtkWidget *widget, gpointer
> data);
> > 
> > Por cierto que esas variables "widget" y "data" NO
> son luego usadas en
> > la función pero supongo que será alguna
> triquiñuela de las Gtk.
> 
> Sí. Un 'callback' para señales en gtk requiere
> recibir esos dos
> parámetros. Es a gusto de la función el usarlos o
> no.
>  
Claro, depende del programador ;)

> > Bien, el caso es que el único sitio donde se llama
> a esa función es
> > tras el evento del pinchar en una opción del menú
> y elegir un archivo
> > (tras pulsar "OK" en un cuadro de diálogo de
> "abrir fichero"),
> > conexión que se establece en la función "main" del
> programa (como era
> > de esperar):
> > 
> >  g_signal_connect ( G_OBJECT (GTK_FILE_SELECTION
> > (file_open)->ok_button), "clicked", G_CALLBACK
> (dark_put_in_box),
> > NULL);
> > 
> > 
> > Bueno, pues mi pregunta es: ¿cómo hago para llamar
> a la función
> > "dark_put_in_box" justo al final del main? o más
> bien, ¿qué diablos de
> > parámetros debo pasarle?
> 
> dark_put_in_box( G_OBJECT (GTK_FILE_SELECTION
> (file_open)->ok_button), NULL);
> 
> Que es a fin de cuentas la llamada que gtk hace
> cuando ocurre el evento
> "clicked".
> 
> (Todo esto, con el grano de sal de que hace como 5
> años de la última
> vez que realmente programé algo con gtk.)
> 
> -- 
Cordial saludo.
La llamada la hace gtk,lo hace por medio de un 
apuntador a función, que referencia a su
procedimiento.

Su función encargada de gestionar el evento
ha de ser de la forma:

mi_func_evento(Object obj,gpointer mis_parametros);
obj= es el que generó el evento.
En mis_parametros pasa lo que ud. quiera, según
sus necesidades, el archivo, una bandera, otro
widget, en fin, cualquier cosa.

Y para que funcione, esperar que el dicho evento
ocurra.
Pd/ Cualquier ayuda probablemente pueda recibirla
en irc.
irc.gimp.org
canal:
#gnome-hispano
#gnome   (Inglés)
#gtk+   también en inglés.
Felicidades.


E.E.F.J.
arawaco@ieee.org

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis! 
Regístrate ya - http://correo.espanol.yahoo.com/ 



Reply to: