Guest User

Untitled

a guest
Feb 19th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.55 KB | None | 0 0
  1. #include "main.h"
  2.  
  3. void buttonclicked(GtkWidget *button, gpointer imagesuiv)
  4. {
  5.  
  6. }
  7.  
  8. int main (int argc, char *argv[])
  9. {
  10. /* Initialize GTK+ */
  11. g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL);
  12. gtk_init (&argc, &argv);
  13. g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);
  14.  
  15. /*declaration des variables*/
  16. //variable permettant de remplir le tableau
  17. gint i, j;
  18. //window
  19. GtkWidget *win = NULL;
  20. //box
  21. GtkWidget* colscore = NULL;
  22. GtkWidget* hbox = NULL;
  23. GtkWidget* affichagesuiv = NULL;
  24. //tableau
  25. GtkWidget* tableau = NULL;
  26. //labels
  27. GtkWidget* frame1 = NULL;
  28. GtkWidget* frame2 = NULL;
  29. GtkWidget* frame3 = NULL;
  30. GtkWidget* frame4 = NULL;
  31. GtkWidget* frame5 = NULL;
  32. GtkWidget* score1 = NULL;
  33. GtkWidget* score2 = NULL;
  34. GtkWidget* textsuiv = NULL;
  35. //images
  36. GtkWidget* imagesuiv = NULL;
  37. GtkWidget* font = NULL;
  38. //boutons
  39. GtkWidget* button[12][8];
  40. //chaine permettant de modifier le texte dans les labels
  41. const gchar* text1 = NULL;
  42. const gchar* text2 = NULL;
  43. const gchar* text3 = NULL;
  44.  
  45. /* Create the main window */
  46. win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  47. gtk_container_set_border_width (GTK_CONTAINER (win),5);
  48. gtk_window_set_title (GTK_WINDOW (win), "Connect");
  49. gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
  50. gtk_widget_realize (win);
  51. g_signal_connect (win, "destroy", gtk_main_quit, NULL);
  52.  
  53. /*Creer les elements de l'interface */
  54. //les box
  55. hbox=gtk_hbox_new(FALSE,5);
  56. colscore= gtk_vbox_new(FALSE,5);
  57. gtk_container_border_width(GTK_CONTAINER(colscore), 5);
  58. affichagesuiv=gtk_hbox_new(TRUE,0);
  59.  
  60. //le tableau
  61. tableau= gtk_table_new(12,8,TRUE);
  62.  
  63. //convertion du label
  64. text1= g_locale_to_utf8("<span font_family=\"Vivaldi\" size=\"xx-large\" foreground=\"#336699\"><i><b><big>Score Total:</big></b></i></span>\n", -1, NULL, NULL, NULL);
  65. text2= g_locale_to_utf8("<span font_family=\"Vivaldi\" size=\"xx-large\" foreground=\"#336699\"><i><b><big>Score obtenu par la derniere boucle:</big></b></i></span>\n", -1, NULL, NULL, NULL);
  66. text3= g_locale_to_utf8("<span font_family=\"Vivaldi\" size=\"xx-large\" foreground=\"#336699\"><i><b><big>Prochaine brique:</big></b></i></span>\n", -1, NULL, NULL, NULL);
  67.  
  68. //application aux labels
  69. score1= gtk_label_new(NULL);
  70. gtk_label_set_markup(GTK_LABEL(score1),text1);
  71. g_free((gpointer)text1);
  72. gtk_label_set_justify(GTK_LABEL(score1),GTK_JUSTIFY_CENTER);
  73.  
  74. score2= gtk_label_new(NULL);
  75. gtk_label_set_markup(GTK_LABEL(score2),text2);
  76. g_free((gpointer)text2);
  77. gtk_label_set_justify (GTK_LABEL(score2),GTK_JUSTIFY_CENTER);
  78.  
  79. textsuiv= gtk_label_new(NULL);
  80. gtk_label_set_markup(GTK_LABEL(textsuiv),text3);
  81. g_free((gpointer)text3);
  82. gtk_label_set_justify(GTK_LABEL(textsuiv),GTK_JUSTIFY_CENTER);
  83.  
  84. //creation des frames
  85. frame1=gtk_frame_new("TABLEAU DES SCORES");
  86. gtk_frame_set_label_align(GTK_FRAME(frame1), 0.5, 0.5);
  87. gtk_frame_set_shadow_type(GTK_FRAME(frame1), GTK_SHADOW_OUT);
  88. frame2=gtk_frame_new("-");
  89. frame3=gtk_frame_new("-");
  90. frame4=gtk_frame_new("-");
  91. frame5=gtk_frame_new("CONNECT");
  92. gtk_frame_set_label_align(GTK_FRAME(frame5), 0.5, 0.5);
  93. gtk_frame_set_shadow_type(GTK_FRAME(frame5), GTK_SHADOW_OUT);
  94. //les images
  95.  
  96. imagesuiv=gtk_image_new_from_file("bouton14.png");
  97.  
  98. //creation du tableau de bouttons
  99.  
  100. for(i = 0; i<12; i++)
  101. {
  102.     for(j = 0; j<8; j++)
  103.     {
  104.         font=gtk_image_new_from_file("case.png");
  105.         button[i][j]=gtk_button_new();
  106.         gtk_container_add(GTK_CONTAINER(button[i][j]),font);
  107.         gtk_table_attach_defaults(GTK_TABLE(tableau),button[i][j],i,i+1,j, j+1);
  108.         g_signal_connect(G_OBJECT(button[i][j]), "clicked", G_CALLBACK(buttonclicked), (gpointer)imagesuiv);
  109.     }
  110. }
  111.  
  112. // organisations des elements de l'interface
  113. gtk_container_add(GTK_CONTAINER(win), hbox);
  114. gtk_container_add(GTK_CONTAINER(hbox), frame1);
  115. gtk_container_add(GTK_CONTAINER(hbox),frame5);
  116. gtk_container_add(GTK_CONTAINER(frame5),tableau);
  117. gtk_container_add(GTK_CONTAINER(frame1), colscore);
  118. gtk_container_add(GTK_CONTAINER(colscore), frame2);
  119. gtk_container_add(GTK_CONTAINER(frame2), score1);
  120. gtk_container_add(GTK_CONTAINER(colscore), frame3);
  121. gtk_container_add(GTK_CONTAINER(frame3), score2);
  122. gtk_container_add(GTK_CONTAINER(colscore), frame4);
  123. gtk_container_add(GTK_CONTAINER(frame4),affichagesuiv);
  124. gtk_container_add(GTK_CONTAINER(affichagesuiv), textsuiv);
  125. gtk_container_add(GTK_CONTAINER(affichagesuiv),imagesuiv);
  126.  
  127. //gerer l'action de l'utilisateur
  128.  
  129.  
  130. //affichage de la fenetre finale
  131. g_signal_connect(G_OBJECT(win), "delete-event", G_CALLBACK(gtk_main_quit), NULL);
  132. gtk_widget_show_all (win);
  133. gtk_main ();
  134.  
  135.   return 0;
  136. }
Add Comment
Please, Sign In to add comment