All pastes #458440 Raw Edit

biomega

public c v1 · immutable
#458440 ·published 2007-04-25 21:53 UTC
rendered paste body
#include <gtk/gtk.h>#include <string.h>//Prototipos de funcionesvoid mensaje(GtkWidget *texto);//Funciones para terminar el programastatic gboolean delete_event(GtkWidget *widget, GdkEvent *event, gpointer data);static void destroy(GtkWidget *widget, gpointer data);//Programa principalint main(int argc, char *argv[]){   /* Se definene los widgets */   GtkWidget *window;   GtkWidget *button, *boton;   GtkWidget *mainbox, *box;   GtkWidget *label;   GtkWidget *entrybox;   /* Se inicia GTK */   gtk_init(&argc, &argv);   /* Se crean los widgets */   window = gtk_window_new(GTK_WINDOW_TOPLEVEL);   mainbox = gtk_vbox_new(FALSE, 0);   box = gtk_hbox_new(FALSE, 0);   button = gtk_button_new_with_label("Imprimir");   boton = gtk_button_new_with_label("Salir");   label = gtk_label_new("Escribe algo:");   entrybox = gtk_entry_new();   /* Se crean las funciones para finalizar el programa */   g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(delete_event), NULL);   g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL);   g_signal_connect(GTK_OBJECT(boton), "clicked", GTK_SIGNAL_FUNC(destroy), GTK_OBJECT(window));   /* Funciones para el boton "Imprimir" */   g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(mensaje), GTK_OBJECT(entrybox));   /* Agregamos la etiqueta, la caja de texto y los botones */   gtk_box_pack_start(GTK_BOX(mainbox), label, TRUE, TRUE, 0);   gtk_box_pack_start(GTK_BOX(mainbox), entrybox, TRUE, TRUE, 0);   gtk_box_pack_start(GTK_BOX(mainbox), box, TRUE, TRUE, 0);   /* Agregamos los botones a la caja */   gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0);   gtk_box_pack_start(GTK_BOX(box), boton, TRUE, TRUE, 0);   /* Se agrega la caja a la ventana */   gtk_container_add(GTK_CONTAINER(window), mainbox);   /* Se muestran los widgets */   gtk_widget_show(button);   gtk_widget_show(boton);   gtk_widget_show(label);   gtk_widget_show(entrybox);   gtk_widget_show(box);   gtk_widget_show(mainbox);   gtk_widget_show(window);   /* Se ejecuta la aplicacion */   gtk_main();    return 0;}//Definicion de funcionesvoid mensaje(GtkWidget *texto){   gchar buffer[50];   strcpy(buffer, gtk_entry_get_text(GTK_ENTRY(texto)));   g_print("%s\n", buffer);}//Funciones para terminar el Programastatic void destroy(GtkWidget *widget, gpointer data){   gtk_main_quit ();}static gboolean delete_event(GtkWidget *widget, GdkEvent *event, gpointer data){   g_print ("delete event occurred\n");   return FALSE;}