| 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
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 
 |  
#include <stdlib.h>
#include <gtk/gtk.h>
#include <mysql/mysql.h>
#include <sql.h>
 
void Action(GtkWidget *pWidget, gpointer pData);
 
int main(int argc, char **argv)
{
    GtkWidget *Window;
    GtkWidget *ComboBox,*ComboBoxcanal;
    GtkWidget *HBoxp,*HBoxn,*VBox,*HBoxtitre,*HBoxadresse,*HBoxtel,*HBoxrv,*HBoxhd,*HBoxdate,*HBoxheure,*HBoxdh,*HBoxj,*HBoxm,*HBoxa,*HBoxh,*HBoxmin,
               *HBox1,*HBox2,*HBox3,*HBox4,*HBoxvide,*HBoxcanal,*HBoxbouton;
    GtkWidget *Bouton;
    GtkWidget *Labeltitre,*Labelp,*Labeladresse,*Labeltel,*Labeln,*Labelrv,*Labeldate,*Labelj,*Labelm,*Labela,*Labelheure,*Labelh,
              *Labelmin,*Labelcanal,*Labelc;
    GtkWidget *Entryn,*Entryp,*Entryadresse,*Entrytel,*Entryj,*Entrym,*Entrya,*Entryh,*Entrymin;
    GtkWidget *Label;
 
 
    gtk_init(&argc,&argv);
 
    Window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(Window), "CALLBACK");
    gtk_window_set_default_size(GTK_WINDOW(Window), 500, 400);
    gtk_window_set_position(GTK_WINDOW(Window), GTK_WIN_POS_CENTER);
    g_signal_connect(G_OBJECT(Window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
 
    /* Creation de la GtkBox verticale  */
    VBox = gtk_vbox_new(FALSE, 10);
 
    /* Ajout de la GtkVBox dans la fenetre */
    gtk_container_add(GTK_CONTAINER(Window), VBox);
 
     /* Creation des box horizontaux */
    HBoxtitre = gtk_hbox_new(TRUE, 0);     
    HBoxn = gtk_hbox_new(TRUE, 0);         
    HBoxp = gtk_hbox_new(TRUE, 0);        
    HBoxbouton = gtk_hbox_new(TRUE, 0);
 
    /* Ajout des GtkHBox dans la GtkVBox */
    gtk_box_pack_start(GTK_BOX(VBox), HBoxtitre, FALSE, TRUE, 0);
    gtk_box_pack_start(GTK_BOX(VBox), HBoxn, FALSE, TRUE, 0);
    gtk_box_pack_start(GTK_BOX(VBox), HBoxp, FALSE, TRUE, 0);
    gtk_box_pack_start(GTK_BOX(VBox), HBoxbouton, FALSE, TRUE, 0);
 
     /* Creation du label */
    Labeln=gtk_label_new("Nom :");                              
    Labelp=gtk_label_new("Prenom :");                                                   
    Labeltitre=gtk_label_new("COORDONNEES DU CLIENT");           
    Label = gtk_label_new(NULL);              
 
     /* Creation des GtkEntry */
    Entryn = gtk_entry_new();         
    Entryp = gtk_entry_new();         
 
    /* On ajoute des labels aux box horizontaux */
    gtk_box_pack_start(GTK_BOX(HBoxtitre), Labeltitre, TRUE, TRUE, 0);       
    gtk_box_pack_start(GTK_BOX(HBoxn), Labeln, TRUE, TRUE, 0);               
    gtk_box_pack_start(GTK_BOX(HBoxp), Labelp, TRUE, TRUE, 0); 
 
    gtk_box_pack_start(GTK_BOX(VBox), Label, TRUE, FALSE, 0);
 
    /* On ajoute des zones de saisie aux box horizontaux */
    gtk_box_pack_start(GTK_BOX(HBoxn), Entryn, TRUE, TRUE, 0);
    gtk_box_pack_start(GTK_BOX(HBoxp), Entryp, TRUE, TRUE, 0); 
 
    /* Initialisation du bouton Valider */
     Bouton = gtk_button_new_with_label("Valider"); 
 
    /* Ajout de Bouton dans la GtkHBox */
    gtk_box_pack_start(GTK_BOX(HBoxbouton), Bouton, TRUE, FALSE, 0);  
 
    /* Connexion du signal "clicked" du bouton */
    g_signal_connect(G_OBJECT(Bouton), "clicked", G_CALLBACK(Action), NULL);
 
    //gtk_container_foreach(GTK_CONTAINER(Window),(GtkCallback)Action,""); 
 
 
    gtk_widget_show_all(Window);
 
    gtk_main();
 
    return EXIT_SUCCESS;
}
 
 
void Action(GtkWidget *pWidget, gpointer data)
{
    GtkWidget *Tempn;
    GtkWidget *Tempp;
    GtkWidget *TempLabel;
    GList *pList;
    const gchar *Textnom,*Textprenom;
    FILE *fichier; 
 
 
    /* Recuperation de la liste des elements que contient la GtkVBox */
    pList = gtk_container_get_children(GTK_CONTAINER((GtkWidget*)data));
 
    /* Le nom */
    Tempn = GTK_WIDGET(pList->data);
 
    /* Passage a l element suivant*/
    pList = g_list_next(pList);
 
    /* Le prenom */
    Tempp = GTK_WIDGET(pList->data);
 
    /* Passage a l element suivant*/
    pList = g_list_next(pList);
 
     /* Passage a l element suivant*/
    pList = g_list_next(pList);
 
    TempLabel = GTK_WIDGET(pList->data);
 
    /* Recuperation du texte contenu dans les GtkEntry  */
    Textnom = gtk_entry_get_text(GTK_ENTRY(Tempn));
    //Textprenom = gtk_entry_get_text(GTK_ENTRY(Tempp)); 
 
     /* Modification du texte contenu dans le GtkLabel */
    gtk_label_set_text(GTK_LABEL(TempLabel), Textnom);
 
    /* Liberation de la memoire utilisee par la liste */
    g_list_free(pList);  
} | 
Partager