| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 
 | #include <gtk/gtk.h>
#include <stdlib.h>
 
int
main(int argc, char *argv [])
{
  GtkWidget *fenetre_principale;
  GtkWidget *box;
  GtkWidget *button;
  GError *error = NULL;
  GtkCssProvider *cssprovider;
  GFile *file;
 
  /* Initialisation de la librairie Gtk. */
  gtk_init(&argc, &argv);
 
  // création de la fenêtre principale
  fenetre_principale =gtk_window_new ( GTK_WINDOW_TOPLEVEL );
  gtk_window_set_title(GTK_WINDOW(fenetre_principale), "Test background");
  gtk_window_set_position(GTK_WINDOW( fenetre_principale ), GTK_WIN_POS_CENTER_ALWAYS);
 
  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
  gtk_container_add (GTK_CONTAINER (fenetre_principale), box);
 
  button = gtk_button_new_with_label ("mission impossible");
  gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 4);
  button = gtk_button_new_with_label ("bouton 2");
  gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 4);
 
  /* Ajout du css à la fenêtre */
  /* Chargement du css */
  file = g_file_new_for_path ("./cssprovider.style");
  cssprovider = gtk_css_provider_new ();
  if (!gtk_css_provider_load_from_file (cssprovider, file, &error))
    {
      g_printerr ("%s\n", error->message);
      exit (error->code);
    }
  gtk_style_context_add_provider_for_screen (gdk_display_get_default_screen (gtk_widget_get_display (fenetre_principale)), GTK_STYLE_PROVIDER (cssprovider), GTK_STYLE_PROVIDER_PRIORITY_USER);
 
 
 
  // signaux pour la fermeture de l'application
  g_signal_connect(G_OBJECT(fenetre_principale), "delete_event", (GCallback)gtk_main_quit, NULL);
  g_signal_connect(G_OBJECT(fenetre_principale), "destroy",(GCallback)gtk_main_quit, NULL);
 
  gtk_widget_show_all(fenetre_principale);
 
  gtk_main();
 
  g_object_unref (G_OBJECT (cssprovider));
 
  return 0;
} | 
Partager