| 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
 
 | enum {
    TEXT_COLUMN,
    INT_COLUMN,
    INT_COLUMN2,
    INT_COLUMN3,
    TEXT_COLUMN2,
    N_COLUMN
};
 
int main(int argc,char argv[]){
    GtkWidget *box;
    GtkWidget *pWindow;
    GtkWidget *pListView;
    GtkWidget *pScrollbar;
    GtkListStore *pListStore;
    GtkTreeViewColumn *pColumn;
    GtkCellRenderer *pCellRenderer;
gtk_init(&argc,&argv);
    /* Creation de la fenetre principale */
    pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200);
    gtk_window_set_title(GTK_WINDOW(pWindow), "Gestion  des utilisateurs");
    g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
    box=gtk_vbox_new(TRUE,1);
 
    /* Creation du modele */
    pListStore = gtk_list_store_new(N_COLUMN,G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING,G_TYPE_INT,G_TYPE_INT);
 
 
    /* Insertion des elements */
    FILE *f=fopen("utilisateur.dat","rb");
    struct personne    *t=(struct    personne*)malloc(sizeof(struct   personne));
    while(fread(t,sizeof(struct personne),1,f),!feof(f)){
 
                    GtkTreeIter pIter;
                     /* Creation de la nouvelle ligne */
                    gtk_list_store_append(pListStore, &pIter);
                    /* Mise a jour des donnees */
                    gtk_list_store_set(pListStore, &pIter,INT_COLUMN,t->code,TEXT_COLUMN, t->pseudo,TEXT_COLUMN2, t->mp,INT_COLUMN2,t->etat,INT_COLUMN3,t->service,-1);
 
 
    }
    /*for(i = 0 ; i < 10 ; ++i)
    {
        GtkTreeIter pIter;
 
        sprintf(sTexte, "Ligne %d ", i);
 
 
        gtk_list_store_append(pListStore, &pIter);
 
 
        gtk_list_store_set(pListStore, &pIter,
            TEXT_COLUMN, sTexte,
            TOGGLE_COLUMN, TRUE,
            -1);
    }*/
    fclose(f);
    free(t);
 
    /* Creation de la vue */
    pListView = gtk_tree_view_new_with_model(GTK_TREE_MODEL(pListStore));
 
/* Creation de la premiere colonne */
    pCellRenderer = gtk_cell_renderer_text_new();
    pColumn = gtk_tree_view_column_new_with_attributes("num",
        pCellRenderer,
        "text", INT_COLUMN,
        NULL);
        /* Ajout de la colonne à la vue */
    gtk_tree_view_append_column(GTK_TREE_VIEW(pListView), pColumn);
    /* Creation de la premiere colonne */
    pCellRenderer = gtk_cell_renderer_text_new();
    pColumn = gtk_tree_view_column_new_with_attributes("pseudo",
        pCellRenderer,
        "text", TEXT_COLUMN,
        NULL);
 
    /* Ajout de la colonne à la vue */
    gtk_tree_view_append_column(GTK_TREE_VIEW(pListView), pColumn);
 
    /* Creation de la deuxieme colonne */
    pCellRenderer = gtk_cell_renderer_text_new();
    pColumn = gtk_tree_view_column_new_with_attributes("password",
        pCellRenderer,
        "text", TEXT_COLUMN2,
        NULL);
 
    /* Ajout de la colonne à la vue */
    gtk_tree_view_append_column(GTK_TREE_VIEW(pListView), pColumn);
 
    /* Creation de la premiere colonne */
    pCellRenderer = gtk_cell_renderer_text_new();
    pColumn = gtk_tree_view_column_new_with_attributes("etat",
        pCellRenderer,
        "text", INT_COLUMN2,
        NULL);
        /* Ajout de la colonne à la vue */
    gtk_tree_view_append_column(GTK_TREE_VIEW(pListView), pColumn);
 
/* Creation de la premiere colonne */
    pCellRenderer = gtk_cell_renderer_text_new();
    pColumn = gtk_tree_view_column_new_with_attributes("num de service",
        pCellRenderer,
        "text", INT_COLUMN2,
        NULL);
        /* Ajout de la colonne à la vue */
    gtk_tree_view_append_column(GTK_TREE_VIEW(pListView), pColumn);
    /* Ajout de la vue a la fenetre */
    pScrollbar = gtk_scrolled_window_new(NULL, NULL);
    gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pScrollbar),
        GTK_POLICY_AUTOMATIC,
        GTK_POLICY_AUTOMATIC);
    gtk_container_add(GTK_CONTAINER(pScrollbar), pListView);
    gtk_box_pack_start(GTK_BOX(box),pScrollbar,FALSE,FALSE,0);
    gtk_container_add(GTK_CONTAINER(pWindow), box);
 
    gtk_widget_show_all(pWindow);
 
    gtk_main();
return 0;
} | 
Partager