| 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
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 
 | #include <stdlib.h>
#include <gtk/gtk.h>
#include "prototypes.h"
#include "callback.h"
 
int main (int argc, char **argv)
{
    // DECLARATIONS DE VARIABLES
        // GtkWidgets globaux :
        GtkWidget *fenetre_principale = NULL,*vBox_princ = NULL;
        GSList *pack = NULL;
        // Widgets de la barre de menu :
        GtkWidget *menuBar = NULL,*menu = NULL,*MenuItem = NULL;
 
    gtk_init(&argc,&argv);
 
    // Création de la fenetre principale
    fenetre_principale = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_position(GTK_WINDOW(fenetre_principale),GTK_WIN_POS_CENTER);
    gtk_window_set_title(GTK_WINDOW(fenetre_principale),"Projet NUEVA");
    gtk_window_set_default_size(GTK_WINDOW(fenetre_principale),700,400);
    g_signal_connect(G_OBJECT(fenetre_principale),"delete_event",G_CALLBACK(Quitter_event),(GtkWidget *)fenetre_principale);
 
    // Création de la vBox_princ
    vBox_princ = gtk_vbox_new(FALSE,0);
    gtk_container_add(GTK_CONTAINER(fenetre_principale),vBox_princ);
 
    pack = g_slist_append (pack,(GtkWidget *)fenetre_principale);
    pack = g_slist_append (pack,(GtkWidget *)vBox_princ);
 
    // Création de la barre de menu
    menuBar = gtk_menu_bar_new();
        // MENU FICHIER
        menu = gtk_menu_new();
            //Bouton Ouvrir
            MenuItem = gtk_menu_item_new_with_mnemonic("_Ouvrir");
            gtk_menu_shell_append(GTK_MENU_SHELL(menu),MenuItem);
            g_signal_connect(G_OBJECT(MenuItem),"activate",G_CALLBACK(Ouvrir),(GSList *)pack);
            //Bouton Quitter
            MenuItem = gtk_menu_item_new_with_mnemonic("_Quitter");
            gtk_menu_shell_append(GTK_MENU_SHELL(menu),MenuItem);
            g_signal_connect(G_OBJECT(MenuItem),"activate",G_CALLBACK(Quitter_quit),(GSList *)pack);
            // Création du GTKItem Fichier
            MenuItem = gtk_menu_item_new_with_mnemonic("_Fichier");
            gtk_menu_item_set_submenu(GTK_MENU_ITEM(MenuItem),menu);
            gtk_menu_shell_append(GTK_MENU_SHELL(menuBar),MenuItem);
 
        // MENU ?
        menu = gtk_menu_new();
            //Bouton En savoir Plus
            MenuItem = gtk_menu_item_new_with_label("En savoir plus ...");
            gtk_menu_shell_append(GTK_MENU_SHELL(menu),MenuItem);
            g_signal_connect(G_OBJECT(MenuItem),"activate",G_CALLBACK(Infos),(GSList *)pack);
            // Création du GTKItem Fichier
            MenuItem = gtk_menu_item_new_with_label("?");
            gtk_menu_item_set_submenu(GTK_MENU_ITEM(MenuItem),menu);
            gtk_menu_shell_append(GTK_MENU_SHELL(menuBar),MenuItem);
 
    gtk_box_pack_start(GTK_BOX(vBox_princ),menuBar,FALSE,FALSE,0);
 
    // Affichage de la fenetre et de ses composants
    gtk_widget_show_all(fenetre_principale);
 
    gtk_main ();
 
    return EXIT_SUCCESS;
}
 
void Ouvrir (GtkWidget *widget,GSList *pack) {
 
    GtkWidget *label=NULL,*box=NULL;
    GSList *temp_list=NULL;
 
    temp_list = g_slist_nth(pack, 1);
    box = GTK_WIDGET(temp_list->data);
 
    label = gtk_label_new("ok");
    gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0);
    gtk_widget_show(box);
 
} | 
Partager