interface.h
.
.
.
GtkEventBox **eventt;
.
.
.
.
interface.c
GtkWidget* create_window1 (void)
{
.
.
.
.
.
eventt = g_new0 (GtkWidget * , tab_count);
.
.
.
for (iter = 1 ; iter <= tab_count ; iter++)
{
.
.
.
.
eventt[iter]=GTK_EVENT_BOX(gtk_event_box_new()); // create the event
box
.
.
.
.
.
data1 = g_strdup_printf(" %d ",iter) ;
g_print("\n at signal connect string --> %s ",data1);
g_signal_connect ((gpointer)eventt[iter],"leave_notify_event",
G_CALLBACK (mouse_leave1),data1);
g_signal_connect ((gpointer)eventt[iter],"button_press_event",
G_CALLBACK (tab_click1), data1);
g_signal_connect ((gpointer)eventt[iter],"enter_notify_event",
G_CALLBACK (tab_mouse_enter1) , data1);
...
}
}
void tab_click1(GtkWidget *widget,gchar* data1)
{
gchar *data_1 = (gchar*)data1;
unsigned long int val = strtol(data1,NULL,10) ;
g_print("%s data1\n",data1);
g_print("%d val1\n",val);
tab_modifier(1) ;
}
actually what i am doing is this:
i have declared an array of GtkWidget for Eventboxes since i get the number at
run time from a database in tab_count (using sqlite3 as database)
now i want to connect their signals to the same function as i don't know the
number at the design time so can't give that many functions and respective
statements
the data passe through the signal handler will diferentiate the id of the
event box that generated the event.
also same function can handle the multiple connect from various controls as it
works well in case of first connect here which is used to change the mouse over
cursor
i never recieve the argument that i send.
---------------------------------
Switch an email account to Yahoo! Mail, you could win FIFA World Cup tickets.
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list