| 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
 
 | #include <stdlib.h>
#include <gtk/gtk.h>
void on_activate_entry(GtkWidget *pEntry, gpointer data);
 
 
int main(int argc, char **argv)
{
    GtkWidget *pWindow;
    GtkWidget *pTable;
     GtkWidget *pEntry;
      GtkWidget *pLabel;
      gchar* sUtf8;
 
 
    /* nombtre de boutons */
    GtkWidget *pButton[4];
char test[]="gasp";
    gtk_init(&argc, &argv);
 
    pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    /* dimension fenetre */
    gtk_window_set_default_size(GTK_WINDOW(pWindow), 300, 300);
     /* titre fenetre */
    gtk_window_set_title(GTK_WINDOW(pWindow), "marche pas");
    g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
 /* Creation du GtkEntry */
    pEntry = gtk_entry_new();
 
    /* Creation et insertion de la table 4 lignes 6 colonnes */
    pTable=gtk_table_new(4,6,TRUE);
    gtk_container_add(GTK_CONTAINER(pWindow), GTK_WIDGET(pTable));
 
  /* Creation du label avec     g_locale_to_utf8 */
    sUtf8 = g_locale_to_utf8("salut", -1, NULL, NULL, NULL);
    pLabel=gtk_label_new(sUtf8);
g_free(sUtf8);
 
 
 
 
    /* Creation des boutons */
    /* le bouton 0 devrait afficger salut et changer lorsque l on fait entrer */
    pButton[0]= gtk_button_new_with_label( pLabel);/* ici mon plabel doit poser probleme*/
 
    pButton[1]= gtk_button_new_with_label(test);
    pButton[2]= gtk_button_new_with_label("chiffre2");
 
 
 
    /* Insertion des boutons  */
    gtk_table_attach(GTK_TABLE(pTable), pButton[0],
        2, 4, 0, 1,
        GTK_EXPAND | GTK_FILL, GTK_EXPAND,
        0, 0);
    gtk_table_attach_defaults(GTK_TABLE(pTable), pButton[1],
        1, 2, 1, 2);
    gtk_table_attach(GTK_TABLE(pTable), pButton[2],
        4, 5, 1, 2,
        GTK_EXPAND, GTK_EXPAND | GTK_FILL,
        0, 0);
 
 
 
    gtk_table_attach_defaults(GTK_TABLE(pTable), pEntry,
        2, 4, 3, 4);
 
    /* Connexion du signal "activate" du GtkEntry */
    g_signal_connect(G_OBJECT(pEntry), "activate", G_CALLBACK(on_activate_entry), (GtkWidget*) pLabel);
 
    gtk_widget_show_all(pWindow);
 
    gtk_main();
 
    return EXIT_SUCCESS;
}
 
/* Fonction callback execute lors du signal "activate" */
void on_activate_entry(GtkWidget *pEntry, gpointer data)
{printf("test reussi\n");
    const gchar *sText;
 
    /* Recuperation du texte contenu dans le GtkEntry */
    sText = gtk_entry_get_text(GTK_ENTRY(pEntry));
    printf("%s\n",sText);
 
    /* Modification du texte contenu dans le GtkLabel */
    gtk_label_set_text(GTK_LABEL((GtkWidget*)data), sText);
} | 
Partager