| 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
 
 | /* essai sur les check buttons */
 
#include <stdlib.h>
#include <gtk/gtk.h>
 
int main(int argc,char **argv)
{
    GtkWidget* pWindow;
    GtkWidget* pCheck[10];
 
    GtkWidget *pVBox; /* une box verticale */
    void OnToggle(GtkWidget *pWidget, gpointer pData); /* fonction call back activation ou desactivation boutton */
    int i;
    char tmp[30];
 
    gtk_init(&argc,&argv);
 
    pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(pWindow), "Check buttons");
    gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200);
 
    /* création de la box verticale */
    pVBox = gtk_vbox_new(FALSE, 0);
    /* Creation des boutons check */
    for (i=0;i<10;i++)
    {
        (void)sprintf(tmp,"essai %2d",i+1);
        pCheck[i]=gtk_check_button_new_with_label(tmp);
        /* ajout  dans la boite verticale */
        gtk_box_pack_start(GTK_BOX(pVBox), pCheck[i], FALSE, TRUE, 0);
    }
 
    /* ajout de la GtkVBox à la fenetre */
    gtk_container_add(GTK_CONTAINER(pWindow), pVBox);
 
    /* Connexion des signaux */
    g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
    for (i=0;i<10;i++)
        g_signal_connect(G_OBJECT(pCheck[i]), "toggled", G_CALLBACK(OnToggle), NULL);
 
    /*affichage de la fenetre */
    gtk_widget_show_all(pWindow);
    gtk_main();
    return EXIT_SUCCESS;
}
 
void OnToggle(GtkWidget *pToggle, gpointer data)
{
    gboolean bEtat;
    /* Récupération de l'état du bouton */
    bEtat = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pToggle));
    if (bEtat)
        (void)printf("coche\n");
    else
     (  void)printf("decoche\n");
 
} | 
Partager