Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <gtk/gtk.h>
- typedef struct main_dialog_type {
- GtkWidget *entrybox;
- GtkWidget *label;
- } MainDialog;
- static void destroy(GtkWidget *widget, gpointer data) {
- gtk_main_quit();
- }
- static void hello(GtkWidget *widget, gpointer data) {
- GtkWidget* p1 = ((MainDialog *) data) -> entrybox; /* Recuperamos los parámetros. */
- GtkWidget *dialog = gtk_about_dialog_new();
- gchar *cadena = gtk_entry_get_text(GTK_ENTRY(p1)); /* Guardamos el contenido del EntryBox apuntado. */
- gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), cadena);
- gtk_dialog_run(GTK_DIALOG (dialog));
- gtk_widget_destroy(dialog);
- }
- int main(int argc, char *argv[]) {
- MainDialog param1;
- /* GtkWidget es puntero contenedor para los idg */
- GtkWidget *window1;
- GtkWidget *vbox1;
- GtkWidget *label1;
- GtkWidget *entrybox1;
- GtkWidget *button1;
- gtk_init(&argc, &argv);
- window1 = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- g_signal_connect(window1, "destroy", G_CALLBACK(destroy), NULL);
- gtk_window_set_default_size(GTK_WINDOW(window1), 200, 100);
- vbox1 = gtk_vbox_new(FALSE, 4);
- label1 = gtk_label_new("Mete tu texto <3");
- entrybox1 = gtk_entry_new();
- button1 = gtk_button_new_with_label("OK");
- param1.entrybox = entrybox1;
- param1.label = label1;
- g_signal_connect(button1, "clicked", G_CALLBACK(hello), ¶m1);
- gtk_box_pack_start(GTK_BOX(vbox1), label1, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(vbox1), entrybox1, FALSE, FALSE, 0);
- gtk_box_pack_end(GTK_BOX(vbox1), button1, FALSE, FALSE, 0);
- gtk_container_add(GTK_CONTAINER(window1), vbox1);
- gtk_widget_show(label1);
- gtk_widget_show(entrybox1);
- gtk_widget_show(button1);
- gtk_widget_show(vbox1);
- gtk_widget_show(window1);
- gtk_main();
- return 0;
- }
Add Comment
Please, Sign In to add comment