IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

Renvoi de structure


Sujet :

GTK+ avec C & C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut Renvoi de structure
    Re bonjour,

    J'ai un petit problème avec le code que j'écris.

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    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
     
     
    struct _MainWindow
    {
         gchar *P_Mot_anglais;
         gchar *P_Mot_francais;
        GtkWidget *pWindow;
        GtkWidget *pVBox;
        GtkWidget *pEntry;
        GtkWidget *pButton;
        GtkWidget *pLabel;
    };
     
    typedef struct _MainWindow MainWindow;
     
     
     
     void OnUpdate2(GtkButton *button, gpointer user_data)
    {
     
     
     
        MainWindow *pApp;
     
        /* Recuperation de data */
        pApp = (MainWindow*) user_data;
     
     
        piocherMot(&pApp->P_Mot_francais, &pApp->P_Mot_anglais);
     
        printf("%s -> %s\n", pApp->P_Mot_francais, pApp->P_Mot_anglais);
     
     
     
     
    }
     
     
     
     
     
     
     
     
     
    /* Fonction d'ouverture du Traducteur  */
    void FenetreTraducteur(GtkWidget *widget, gpointer data)
    {
         /* Variables */
     
     
     
         GtkWidget *pTable;  
         MainWindow *pApp;
     
         pApp = g_malloc(sizeof(MainWindow));
     
         /* Création de la fenêtre */
        pApp->pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
     
        /* Titre de la fenetre */
        gtk_window_set_title(GTK_WINDOW(pApp->pWindow), "TRADUCTEUR");
        gtk_window_set_default_size(GTK_WINDOW(pApp->pWindow), 900, 500); // Taille de la fenêtre
     
     
         /* Creation et insertion de la table 10 lignes 10 colonnes */
        pTable=gtk_table_new(10,10,TRUE);
        gtk_container_add(GTK_CONTAINER(pApp->pWindow), GTK_WIDGET(pTable));
     
        /* Creation du GtkEntry */
        pApp->pEntry = gtk_entry_new();
     
        /* Creation du Bouton */
        pApp->pButton = gtk_button_new_with_label("Chercher un mot");
     
        gtk_table_attach_defaults(GTK_TABLE(pTable),pApp->pButton, 4, 6, 6, 7);
        gtk_table_attach_defaults(GTK_TABLE(pTable), pApp->pEntry, 2, 4, 3, 4);
     
     
     
     
         /* Envoit de la structure a la fonction, quand on clique sur le bouton*/
        g_signal_connect(G_OBJECT(pApp->pButton), "clicked", G_CALLBACK(OnUpdate2), pApp);
     
        free(pApp->P_Mot_francais); /* on libère la mémoire */
        free(pApp->P_Mot_anglais);
     
     
        /* Affichage et boucle événementielle */
        gtk_widget_show_all(pApp->pWindow);
        gtk_main();
     
     
     
     
     
     
     
        system("pause");
     
    }


    Je voudrai enyover a la fontion FenetreTraducteur, la valeur de P_Mot_Anglais et de P_Mot_Francais trouvée dans la fonction Onupdate2.


    Pourriez-vous me donner des pistes?


    Merci d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Une fois gtk_main appelé, c'est fini, tu ne feras plus rien d'utile dans ta fonction FenetreTraducteur, tu ne fais que réagir aux évènement utilisateur. C'est le principe de la programmation avec une pompe à évènement. L'appel gtk_main est bloquant jusqu'à ce que tu décides de quitter ton programme en appelant gtk_main_quit, et c'est tout à fait normal.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Jointure qui ne renvoie pas tous les enregistrements
    Par rayonx dans le forum Langage SQL
    Réponses: 12
    Dernier message: 19/07/2024, 09h33
  2. Ecrire une fonction qui renvoie une structure de données (type)
    Par dinosaure dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/09/2008, 20h59
  3. Fonction qui renvoi une structure (requette)
    Par mael94420 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 05/07/2007, 13h43
  4. recuperation de la structure d'une base
    Par pascalT dans le forum 4D
    Réponses: 7
    Dernier message: 07/06/2006, 15h32
  5. longueur d'une structure
    Par bohemianvirtual dans le forum C
    Réponses: 6
    Dernier message: 28/05/2002, 18h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo