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 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