Guest User

Untitled

a guest
Jul 21st, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. #include <gtk/gtk.h>
  2. #include <gdk/gdkx.h>
  3.  
  4. // cc -Wall example1-gtk.c -o example1-gtk `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`
  5.  
  6. static void button_clicked (GtkWidget * widget, gpointer data)
  7. {
  8. g_print("Button was clicked!\n");
  9. }
  10.  
  11. static gboolean delete_event (GtkWidget * widget, GdkEvent * event, gpointer data)
  12. {
  13. g_print("Delete event occurred\n");
  14. return FALSE;
  15. }
  16.  
  17. static void destroy (GtkWidget * widget, gpointer data)
  18. {
  19. g_print("Destroy signal was sent\n");
  20. gtk_main_quit();
  21. }
  22.  
  23. int main(int argc, char ** argv)
  24. {
  25. GtkWidget * window;
  26. GtkWidget * button;
  27. const gchar * title = "Hello World!";
  28. gtk_init (&argc, &argv);
  29. window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  30. gtk_window_set_title (GTK_WINDOW (window), title);
  31. gtk_container_set_border_width (GTK_CONTAINER (window), 25);
  32. g_signal_connect (G_OBJECT(window), "delete_event", G_CALLBACK (delete_event), NULL);
  33. g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (destroy), NULL);
  34. button = gtk_button_new_with_label ("Quit");
  35. g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (button_clicked), NULL);
  36. g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (window));
  37. gtk_container_add (GTK_CONTAINER (window), button);
  38. gdk_window_set_decorations (GTK_WIDGET(window)->window, GDK_DECOR_BORDER | GDK_DECOR_TITLE);
  39. gtk_widget_show (button);
  40. gtk_widget_show (window);
  41. gtk_main();
  42. return 0;
  43. }
Add Comment
Please, Sign In to add comment