hi, I am making a little gtk-c-shell program and i need to boot up an glade file, so i did it, but my intemption is to make it as an presentation, so once you press enter, i want to destroy that window and do another command This my mistaked code: // Compilar con: gcc -o init init.c $(pkg-config --cflags --libs gtk+-2.0 gmodule-2.0) -lncurses// #include <stdio.h> #include <stdlib.h> #include <string.h> #include <gtk/gtk.h> #include <curses.h> int main( int argc, char **argv ) { GtkBuilder *builder; GtkWidget *window; GError *error = NULL; int tecla; // Iniciar GTK+ // gtk_init( &argc, &argv ); /* Inicializar la operacion de ncurses */ initscr (); // Crer nuevo objeto de GtkBuilder // builder = gtk_builder_new(); // Cargar la UI desde archivo. Si da error, lo reporta y sale de la aplicación. // Reemplazar "[nombre].glade" por el nombre de tu archivo [*.glade]. // if( ! gtk_builder_add_from_file( builder, "presentacion.glade", &error ) ) { g_warning( "%s", error->message ); g_free( error ); return( 1 ); } // Obtiene el puntero principal de la UI // window = GTK_WIDGET( gtk_builder_get_object( builder, "window1" ) ); // Conectar señales de GTKBuilder // gtk_builder_connect_signals( builder, NULL ); // Cierra el Builder, ya no se necesita // g_object_unref( G_OBJECT( builder ) ); // Mostrar la ventana. Las otras ventanas las muestra GTKBuilder // gtk_widget_show( window ); /* Recibir teclas en modo sin buferes (es decir, sin esperar a que se * pulse ENTER) */ cbreak (); tecla = getch (); if( tecla == 10) { gtk_widget_destroy( window ); } /* Finalizar ncurses. Esto es necesario para volver al modo estandar de * la terminal */ endwin (); // Arranca el principal // gtk_main(); return( 0 ); } |