Hi!
I started writing code in GTK+Glade and ... I stopped.
I don't have idea how to send information to callback function.
Mainly in GTK the is only one place to send variables to callback function for ex:
Code:
gtk_signal_connect(object,name,func,func_data)
But trough func_data I can send only one variable. I can also other information send as global variable, but probably all my variable would be global ;-).
I attached my example. Would be great if somebody show me how to do this different way.
I am asking about generally idea how to connect and send information to callback function and programing with GTK-Glade.
Somehow is possible connect and declare sending data_func in Glade ?
main.c
Code:
....
GtkWidget *glowne_okno = NULL;
....
int main(int argc, char **argv)
{
GladeXML *gxml;
gtk_init(&argc, &argv);
gxml = glade_xml_new("project1.glade", NULL, NULL);
glowne_okno = glade_xml_get_widget(gxml, "glowne_okienko_programu");
glade_xml_signal_autoconnect(gxml);
gtk_main();
...
callbacks.h
Code:
...
extern GtkWidget *glowne_okno;
G_MODULE_EXPORT int on_zamkniecie_programu_activate (GtkWidget *widget, gpointer *data);
....
callbacks.c
Code:
......
G_MODULE_EXPORT int on_zamkniecie_programu_activate (GtkWidget *widget, gpointer *data)
{
gint result = GTK_RESPONSE_YES;
GtkWidget *dialog = gtk_message_dialog_new ( GTK_WINDOW (glowne_okno),GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING,
GTK_BUTTONS_YES_NO,("DO You wat to Quit?"));
result = gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
if (result == GTK_RESPONSE_YES)
{
gtk_main_quit ();
return (FALSE);
}
};
....
Thanks in advance
Daniel