| 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
 
 | /* travail sur les gtk_entry */
#include <stdlib.h>
#include <gtk/gtk.h>
#include <string.h>
 
GtkWidget* pEntry1=NULL;
GtkWidget* pEntry2=NULL;
 
int main(int argc,char **argv)
{
    GtkWidget* pWindow=NULL;
    GtkWidget* pVbox=NULL;
    GtkWidget* pButton=NULL;
 
    gboolean entree1(GtkWidget *pEntry, gpointer data); /* callback si saisie entree 1 */
    gboolean entree2(GtkWidget *pEntry, gpointer data); /* callback si saisie entree 2 */
 
    gtk_init(&argc,&argv);
    pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(pWindow), "travail sur les gtk_entry");
    gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200);
    /* creation des entry */
    pEntry1=gtk_entry_new();
    pEntry2=gtk_entry_new();
    gtk_entry_set_text(pEntry2, "texte");
    /* creation du bouton */
    pButton=gtk_button_new_with_label("Ok..");
    /* on place tout ca dans une boxe */
    pVbox=gtk_vbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX(pVbox), pEntry1, TRUE, TRUE, 0);
    gtk_box_pack_start(GTK_BOX(pVbox), pEntry2, TRUE, TRUE, 0);
    gtk_box_pack_start(GTK_BOX(pVbox), pButton, FALSE, FALSE, 0);
    /* On verse ca dans la fenetre principale */
    gtk_container_add(GTK_CONTAINER(pWindow), pVbox);
    /* Connexion des signaux */
    g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
    g_signal_connect(G_OBJECT(pButton), "clicked", G_CALLBACK(gtk_main_quit), NULL);
    g_signal_connect(G_OBJECT(pEntry1), "activate", G_CALLBACK(entree1), NULL);
    g_signal_connect(G_OBJECT(pEntry2), "activate", G_CALLBACK(entree2), NULL);
    /* Affichage de la fenêtré et de tout ce qu'il contient */
    gtk_widget_grab_focus(pEntry1);
    gtk_widget_show_all(pWindow);
    gtk_main();
    return EXIT_SUCCESS;
}
gboolean entree1(GtkWidget *pEntry, gpointer data)
{
    const gchar *text;
    /* Recuperation du texte contenu dans le GtkEntry */
    text=gtk_entry_get_text(GTK_ENTRY(pEntry1));
    /* On verouille */
    gtk_widget_set_sensitive(pEntry1, FALSE);
    /* On met le focus sur le second widget */
    gtk_widget_grab_focus(pEntry2);
    return TRUE;
}
gboolean entree2(GtkWidget *pEntry, gpointer data)
{
    const gchar *text;
    /* Recuperation du texte contenu dans le GtkEntry */
    text=gtk_entry_get_text(GTK_ENTRY(pEntry2));
    /* On verouille */
    gtk_widget_set_sensitive(pEntry2, FALSE);
    return TRUE;
} | 
Partager