#include #include #include "callback.h" #include "callback2.h" #include "callback3.h" void mafonction(GtkWidget *widget, gpointer data) { gtk_main_quit(); } void file_ok_sel (GtkWidget *w, GtkFileSelection *fs) { g_print ("%s\n", gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs))); } int main(int argc,char **argv) { GtkWidget* Fenetre = NULL; GtkWidget* Notif1 = NULL; GtkWidget* Notif2 = NULL; GtkWidget* Notif3 = NULL; GtkWidget* Open1 = NULL; GtkWidget* Open2 = NULL; GtkWidget* text_view1 = NULL; GtkWidget* text_view2 = NULL; GtkWidget* main_box1 = NULL; GtkWidget* main_box2 = NULL; GtkWidget* Generate = NULL; GtkWidget* filew = NULL; gtk_init(&argc, &argv); //Création de la fenêtre { Fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(G_OBJECT(Fenetre), "delete-event", G_CALLBACK(gtk_main_quit), NULL); /* dimension fenetre */ gtk_window_set_default_size(GTK_WINDOW(Fenetre), 300, 300); /* titre fenetre */ gtk_window_set_title(GTK_WINDOW(Fenetre), "Fusion hex+boot :)"); /* Affichage */ gtk_widget_show(Fenetre); gtk_main(); //Creation bouton Open1 = gtk_button_new_with_label ("Browse hex file"); Open2 = gtk_button_new_with_label ("Browse boot file"); Generate = gtk_button_new_with_label ("Generate"); /* Insertion des boutons dans la fenêtre princaple */ gtk_container_add (GTK_CONTAINER(Fenetre), Open1); Open1= gtk_button_new_from_stock (GTK_STOCK_OPEN); g_signal_connect (G_OBJECT (Open1), "Browse hex file", G_CALLBACK (cb_open(Open1, text_view1)), NULL); gtk_box_pack_start (GTK_BOX (main_box1), Open1, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(Fenetre), Open2); Open2= gtk_button_new_from_stock (GTK_STOCK_OPEN); g_signal_connect (G_OBJECT (Open2), "Browse boot file", G_CALLBACK (cb_open(Open2, text_view2)), NULL); gtk_box_pack_start (GTK_BOX (main_box2), Open2, FALSE, FALSE, 0); gtk_widget_show_all(Fenetre);// On affiche 'Fenetre' et tout ce qu'elle contient gtk_main(); /*Création des notifications*/ gtk_label_new("File charged"); gtk_label_set_justify(GTK_LABEL(Notif1), GTK_JUSTIFY_RIGHT); // On centre notre texte gtk_container_add(GTK_CONTAINER(Fenetre), Notif1); // On ajoute le label a l'interieur de 'Fenetre' gtk_label_new("File charged"); gtk_label_set_justify(GTK_LABEL(Notif2), GTK_JUSTIFY_RIGHT); gtk_container_add(GTK_CONTAINER(Fenetre), Notif2); gtk_label_new("File generate"); gtk_label_set_justify(GTK_LABEL(Notif3), GTK_JUSTIFY_CENTER); gtk_container_add(GTK_CONTAINER(Fenetre), Notif3); //Intégration des fichiers /* Création d'un widget de sélection de fichier. */ filew = gtk_file_selection_new ("File selection"); gtk_signal_connect (GTK_OBJECT (filew), "destroy",(GtkSignalFunc)gtk_main_quit , &filew); /* Connexion de ok_button à la fonction file_ok_sel() */ gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),"clicked", (GtkSignalFunc) file_ok_sel, filew ); gtk_widget_show_all(Fenetre); g_signal_connect(G_OBJECT(Fenetre), "delete-event", G_CALLBACK(gtk_main_quit), NULL); } //Sans arrêt //Finition gtk_main(); return EXIT_SUCCESS; }