Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include <stdlib.h>
  2. #include <gtk/gtk.h>
  3.  
  4. #define NUM_NAMES 4
  5.  
  6. const gchar *names[] = { "Aaron", "Bison", "Chris", "Daniel"};
  7.  
  8. static void killwindow (GtkWidget *window, gpointer data)
  9. {
  10.     //killwindow is our "exit" callback hooked to the "X"
  11.     gtk_main_quit();
  12. }
  13.  
  14. int main (int argc, char *argv[])
  15. {
  16.  
  17.     gtk_init (&argc, &argv);
  18.  
  19.     GtkWidget *window, *vbox;
  20.     gint i;
  21.  
  22.     window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  23.     gtk_window_set_title (GTK_WINDOW (window), "Boxes");
  24.     gtk_container_set_border_width (GTK_CONTAINER (window), 10);
  25.     gtk_widget_set_size_request (window, 200, -1);
  26.  
  27.     vbox = gtk_vbox_new (TRUE, 5);
  28.  
  29.     for (i = 0; i < NUM_NAMES; i++)
  30.         {
  31.             GtkWidget *button = gtk_button_new_with_label (names[i]);
  32.  
  33.             gtk_box_pack_start_defaults (GTK_BOX (vbox), button);
  34.  
  35.             g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (gtk_widget_destroy), (gpointer) button);
  36.         }
  37.  
  38.     gtk_container_add (GTK_CONTAINER (window), vbox);
  39.  
  40.     g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (killwindow), NULL);
  41.  
  42.     gtk_widget_show_all (window);
  43.  
  44.     gtk_main ();
  45.     return 0;
  46. }