2 #include <glade/glade.h>
5 /* tengo una estructura global para tener referencias a los elementos que usa
6 * la aplicación comunmente */
9 GtkWindow* ventana; /* ventana principal */
10 GtkEntry* entrada; /* entrada de texto */
14 /* callback para cerrar la aplicación con la X */
16 on_ventana_destroy(GtkWidget *widget, gpointer user_data)
18 /* sale del programa, corta el loop de eventos */
22 /* callback a usar cuando se pulsa el botón */
24 on_boton_clicked(GtkWidget *widget, gpointer user_data)
28 /* obtengo texto de la entrada de texto */
29 texto = gtk_entry_get_text(app.entrada);
30 /* pongo el texto como título */
31 gtk_window_set_title(app.ventana, texto);
34 /* programa principal */
36 main(int argc, char *argv[])
40 /* inicializo gtk y glade */
41 gtk_init(&argc, &argv);
43 /* cargo interfaz del archivo XML de glade */
44 xml = glade_xml_new("ejemplo.glade", "ventana", NULL);
45 /* cargo datos de la aplicación */
46 app.ventana = GTK_WINDOW(glade_xml_get_widget(xml, "ventana"));
47 app.entrada = GTK_ENTRY(glade_xml_get_widget(xml, "entrada"));
48 /* conecta todas las señales automáticamente */
49 glade_xml_signal_autoconnect(xml);
50 /* comienza el loop de eventos */
53 /* salimos, después de que alguien llamó gtk_main_quit(), sin error */