1 2 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 55 56 57 58 59 60 61 62 63 64 65
|
#include <stdlib.h>
#include <gtk/gtk.h>
void lancement_app(GtkWidget *pButton, gpointer data);
int ferm_app(GtkWidget *pButton, gpointer data);
int main(int argc, char **argv)
{
GtkWidget *pWindow;
GtkWidget *pVBox;
GtkWidget *pButton;
gchar* titreUTF8; // Pour ranger le titre convertit
gtk_init(&argc,&argv); // Initialisation de GTK
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); // Création de la fenètre
titreUTF8 = g_locale_to_utf8("Création du fichier XML", -1, NULL, NULL, NULL); // Conversion du titre en utf8
gtk_window_set_title(GTK_WINDOW(pWindow), titreUTF8); // Titre de la fenètre
gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200); // Taille par défaut
g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL); // Connexion au signal de destruction
pVBox = gtk_vbox_new(TRUE, 0); // Création de la box
gtk_container_add(GTK_CONTAINER(pWindow), pVBox); // Ajout de la box à la fenètre principale
pButton = gtk_button_new_with_label("Lancement de l'application"); // Création du bouton
gtk_box_pack_start(GTK_BOX(pVBox), pButton, TRUE, FALSE, 0); // Ajout du bouton ds la box
/* Connexion du signal "clicked" du GtkButton */
/* La donnee supplementaire est la GtkVBox pVBox */
g_signal_connect(G_OBJECT(pButton), "clicked", G_CALLBACK(lancement_app), (GtkWidget*) pVBox);
g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_show_all(pWindow); // Affichage de la fenètre
gtk_main(); // Lancement de la boucle évènementielle
return EXIT_SUCCESS;
}
void lancement_app(GtkWidget *pButton, gpointer data)
{
GtkWidget *fenetreBarre;
GtkWidget *boutonQuit;
gchar* titreFBarreUTF8;
titreFBarreUTF8 = g_locale_to_utf8("Réception des coordonnées en cours...", -1, NULL, NULL, NULL); // Conversion du titre
fenetreBarre = gtk_window_new(GTK_WINDOW_TOPLEVEL); // Création fenetre
gtk_window_set_title(GTK_WINDOW(fenetreBarre),titreFBarreUTF8); // Titre de la fenetre
gtk_window_set_default_size(GTK_WINDOW(fenetreBarre),150, 100); // Taille de la fenetre
gtk_window_set_position(GTK_WINDOW(fenetreBarre),GTK_WIN_POS_CENTER); // Position de la fenetre
boutonQuit = gtk_button_new_with_label("Arreter l'application"); // Création du bouton quitter
gtk_container_add(GTK_CONTAINER(fenetreBarre), boutonQuit);
g_signal_connect(G_OBJECT(boutonQuit), "clicked", G_CALLBACK(ferm_app), fenetreBarre);
gtk_widget_show_all(fenetreBarre); // Affichage de la fenetre
}
int ferm_app(GtkWidget *fenetreBarre, gpointer data)
{
gtk_widget_destroy(fenetreBarre);
} |
Partager