Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.95 KB | None | 0 0
  1. #include <gtk/gtk.h>
  2.  
  3. char *abrir( GtkWidget *window );
  4. static void crearFix( GtkWidget *widget, gpointer nombres[] );
  5.  
  6. int main( int argc, char *argv[])
  7. {
  8.   GtkWidget *window1;
  9.   GtkWidget *vbox1;
  10.   GtkWidget *hbuttonbox1;
  11.   GtkWidget *hbuttonbox2;
  12.   GtkWidget *button1;
  13.   GtkWidget *button2;
  14.   GtkWidget *button3;
  15.  
  16.   gpointer nombre1 = "hola";
  17.   gpointer nombre2 = "mundo";
  18.   gpointer *nombres[2];
  19.    
  20.   gtk_init(&argc, &argv);
  21.  
  22.   window1 = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  23.  
  24.   gtk_window_set_title( GTK_WINDOW( window1 ), "Fixture" );
  25.  
  26.   gtk_window_set_default_size( GTK_WINDOW( window1 ), 440, 250 );
  27.  
  28.   gtk_container_set_border_width ( GTK_CONTAINER ( window1 ), 10 );
  29.  
  30.   g_signal_connect (window1, "destroy", gtk_main_quit, NULL);
  31.  
  32.   vbox1 = gtk_vbox_new( TRUE, 0 );
  33.    
  34.   hbuttonbox1 = gtk_hbutton_box_new();
  35.   gtk_hbutton_box_set_layout_default ( GTK_BUTTONBOX_CENTER );
  36.  
  37.   hbuttonbox2 = gtk_hbutton_box_new();
  38.   gtk_hbutton_box_set_layout_default ( GTK_BUTTONBOX_CENTER );
  39.  
  40.   button1 = gtk_button_new_with_label ("Cargar Equipos");
  41.   button2 = gtk_button_new_with_label ("Cargar Arbitros");
  42.   button3 = gtk_button_new_with_label ("Crear Fixture");
  43.  
  44.   gtk_container_add (GTK_CONTAINER (window1), vbox1);
  45.  
  46.   gtk_box_pack_start (GTK_BOX(vbox1), hbuttonbox1, FALSE, FALSE, 0);
  47.   gtk_box_pack_start (GTK_BOX(vbox1), hbuttonbox2, FALSE, FALSE, 0);
  48.  
  49.   gtk_box_pack_start (GTK_BOX(hbuttonbox1), button1, FALSE, FALSE, 0);
  50.   gtk_box_pack_start (GTK_BOX(hbuttonbox1), button2, FALSE, FALSE, 0);
  51.   gtk_box_pack_start (GTK_BOX(hbuttonbox2), button3, FALSE, FALSE, 0);
  52.  
  53.   g_signal_connect( button1, "clicked", G_CALLBACK( abrir ), GTK_WINDOW( window1 ) );
  54.   g_signal_connect ( button2, "clicked", G_CALLBACK( abrir ), GTK_WINDOW( window1 ) );
  55.  
  56.   nombres[ 0 ] = nombre1;
  57.   nombres[ 1 ] = nombre2;
  58.    
  59.   g_signal_connect ( G_OBJECT( button3 ) , "clicked", G_CALLBACK( crearFix ), nombres );
  60.  
  61.   gtk_widget_show (button1);
  62.   gtk_widget_show (button2);
  63.   gtk_widget_show (button3);
  64.  
  65.   gtk_widget_show( hbuttonbox1 );
  66.   gtk_widget_show( hbuttonbox2 );
  67.  
  68.   gtk_widget_show( vbox1 );
  69.   gtk_widget_show(window1);
  70.  
  71.   gtk_main();
  72.  
  73.   return 0;
  74. }
  75.  
  76. char *abrir( GtkWidget *window ){
  77.     GtkWidget *dialogo1;
  78.     char *filename;
  79.     GtkWidget *toplevel = gtk_widget_get_toplevel( window );
  80.  
  81.    
  82.     dialogo1 = gtk_file_chooser_dialog_new ("Open File", GTK_WINDOW( toplevel ), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL,
  83.                                                                 GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
  84.  
  85.     if( gtk_dialog_run( GTK_DIALOG( dialogo1 ) ) == GTK_RESPONSE_ACCEPT ){
  86.         //char *filename;
  87.         filename = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( dialogo1 ) );
  88.         puts( filename );
  89.     }
  90.        
  91.     gtk_widget_destroy (dialogo1);
  92.     return filename;
  93. }
  94.  
  95. static void crearFix( GtkWidget *widget, gpointer nombres[] ){
  96.    
  97.     gchar *nom1, *nom2;
  98.    
  99.     nom1 = nombres[0];
  100.     nom2 = nombres[1];
  101.    
  102.     puts( nom1 );
  103.     puts( nom2 );
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement