Re: Consulta GTK+
- From: Juan Carlos Inostroza <jci codemonkey cl>
- To: "Advocacy, chit-chat and event planning in Chile" <gnome-cl-list gnome org>
- Subject: Re: Consulta GTK+
- Date: Wed, 17 Aug 2005 17:35:40 -0400
On Wed, 2005-08-17 at 17:15 -0400, Mario Gonzalez wrote:
> gboolean button_clicked( GtkWidget *windget, gpointer *data)
> {
> g_print ("Button clicked \n");
> return TRUE;
> }
>
> [.....]
>
> button1 = gtk_button_new_from_stock(GTK_STOCK_OK);
> g_signal_connect(G_OBJECT(button1), "clicked",
> G_CALLBACK(button_clicked), NULL);
>
> button2 = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
> g_signal_connect(G_OBJECT(button2), "clicked",
> G_CALLBACK(button_clicked), NULL);
>
> Entonces, como saber si fue el button1 o el button2 el cual
> activo el "clicked"??
Pregunta por el widget *widget que pasas al callback :)
(nota : antes, ponle un nombre al widget y de ahi puedes preguntar por
el).
un peque�odigo de ejemplo
button1 = gtk_button_new_from_stock(GTK_STOCK_OK);
g_signal_connect(G_OBJECT(button1), "clicked",
G_CALLBACK(button_clicked), NULL);
gtk_widget_set_name(button1, "boton1");
button2 = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
g_signal_connect(G_OBJECT(button2), "clicked",
G_CALLBACK(button_clicked), NULL);
gtk_widget_set_name(button2, "boton2");
Y luego, en la funcion de callback
static void
button_clicked(GtkWidget * widget,
gpointer data)
{
printf("Boton : %s\n", gtk_widget_get_name(widget));
}
Nota :
"clicked" void user_function (GtkButton *button,
gpointer user_data);
la se�"clicked" acepta una funcion de tipo void solamente.
Saludos,
--
Juan Carlos Inostroza
jci codemonkey cl
"The world will end in 5 minutes. Please logoff now"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]