Advertisement
Guest User

Untitled

a guest
Jun 1st, 2015
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1.  
  2. #include <gtk/gtk.h>
  3.  
  4. typedef struct _Data Data;
  5. struct _Data
  6. {
  7. GtkWidget *quit;
  8. GtkWidget *about;
  9. };
  10.  
  11. G_MODULE_EXPORT gboolean
  12. cb_delete_event( GtkWidget *window,
  13. GdkEvent *event,
  14. Data *data )
  15. {
  16. gint response = 1;
  17.  
  18. /* Run dialog */
  19. response = gtk_dialog_run( GTK_DIALOG( data->quit ) );
  20. gtk_widget_hide( data->quit );
  21.  
  22. return( 1 != response );
  23. }
  24.  
  25. G_MODULE_EXPORT void
  26. cb_show_about( GtkButton *button,
  27. Data *data )
  28. {
  29. /* Run dialog */
  30. gtk_dialog_run( GTK_DIALOG( data->about ) );
  31. gtk_widget_hide( data->about );
  32. }
  33.  
  34. int
  35. main( int argc,
  36. char **argv )
  37. {
  38. GtkBuilder *builder;
  39. GtkWidget *window;
  40. Data data;
  41.  
  42. gtk_init( &argc, &argv );
  43.  
  44. /* Create builder and load interface */
  45. builder = gtk_builder_new();
  46. gtk_builder_add_from_file( builder, "dialog.builder", NULL );
  47.  
  48. /* Obtain widgets that we need */
  49. window = GTK_WIDGET( gtk_builder_get_object( builder, "window1" ) );
  50. data.quit = GTK_WIDGET( gtk_builder_get_object( builder, "dialog1" ) );
  51. data.about = GTK_WIDGET( gtk_builder_get_object( builder, "aboutdialog1" ) );
  52.  
  53. /* Connect callbacks */
  54. gtk_builder_connect_signals( builder, &data );
  55.  
  56. /* Destroy builder */
  57. g_object_unref( G_OBJECT( builder ) );
  58.  
  59. /* Show main window and start main loop */
  60. gtk_widget_show( window );
  61. gtk_main();
  62.  
  63. return( 0 );
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement