1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| #include <gtk/gtk.h>
#include <glade/glade.h>
#define GLADE_FILE "hello.glade"
void on_button1_clicked (GtkButton *button, GtkWidget *entry);
int
main (int argc, char *argv[])
{
GladeXML *gxml = NULL;
GtkWidget *window = NULL;
GtkWidget *entry = NULL;
/* initialize GTK+ libraries */
gtk_init (&argc, &argv);
/* build from Glade XML file */
gxml = glade_xml_new (GLADE_FILE, NULL, NULL);
g_assert (gxml);
/* get widgets from Glade XML file */
window = glade_xml_get_widget (gxml, "window1");
entry = glade_xml_get_widget (gxml, "entry1");
/* call gtk_main_quit() when the window's "x" is clicked */
glade_xml_signal_connect (gxml, "on_window1_destroy",
G_CALLBACK (gtk_main_quit));
/* call on_button1_clicked() when button1 is clicked, passing the text
entry widget to the function as the user_data */
glade_xml_signal_connect_data (gxml, "on_button1_clicked",
G_CALLBACK (on_button1_clicked), entry);
/* free Glade XML object */
g_object_unref (G_OBJECT (gxml));
/* begin GTK+ main loop */
gtk_main ();
return 0;
}
void
on_button1_clicked (GtkButton *button, GtkWidget *entry)
{
/* set the entry's text */
gtk_entry_set_text (GTK_ENTRY(entry), "Hello World!");
}
|