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: