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 :

Communication entre FENETRES !


Sujet :

GTK+ avec C & C++

  1. #1
    A_B
    A_B est déconnecté
    Membre confirmé Avatar de A_B
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 153
    Par défaut Communication entre FENETRES !
    Salut :
    Je suis en train de travailler sur un programme de gestion de personnel avec GTK+ .
    J'ai realise la fenetre d'acceuil avec des bouton servant comme menu , le probleme se passe avec la phase d'ajout :
    J'ai fait une fenetre (Boite de dialogue) ayant des zone de saisie, là , apres l'apuie sur OK de l'utilisateur je veut lui rappeler de ces entrees pour confirmer l'enregistrement des donnees ou non . Là je me suis perdue, je ne sait pas est ce que je doit afficher une nouvelle fenetre (ce qui me parait mal) ça devient beaucoup de fenetre, ou bien de faire passer a cette fonction les variables LABEL pour les remplir et les faire retourner a la fenetre precedante ?? est ce que c 'est possible ? Ou bien faut il declarer les Labels comme variable globale accessibles a tout le monde !
    Si c'est possible , pouvons nous avoir une fenetre comportant des zones de texte vide qui ne seront pas affiches la premiere fois mais apres l'appel de la boite de saisie il seront modifies et affichés ?
    MERCI

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 176
    Par défaut
    Bonjour tu as le choix :

    - soit tu veut être sur que l'utilisateur confirme ses saisies UNE par UNE ( ce qui peut être énervant pour lui à force lol ) et la je ferais comme ça:

    lorsqu'il clique sur "OK" tu appelles une fonction qui va créér une nouvelle fenetre et dans cette fenetre je mettrais 4 choses : un label qui contient ce qu'il vient de taper juste avant, un bouton OK s'il confirme, une zone de texte vide au cas ou il veut modifier, et un bouton modifier.

    Ensuite, tu n'as plus qu'a faire défiler une par une les entrées saisies précedemment et les afficher dans le label ; et s'il clique sur OK tu passe au suivant sans rien modifier et s'il clique sur modifier tu enregistre la nouvelle valeur du label et ainsi de suite.

    Enfin une fois toutes les saisies passées en revue tu détruit la fenetre qui ne te sert plus

    - soit tu fais comme tu as dis tu déclares les labels en variables globales mais ça n'a d'interet que si un grand nombre de fonctions ont besoin d'y accéder ( sinon mieux vaut les regrouper dans une structure et transmettre un pointeur vers cette structure aux quelques fonctions )

    - et pour les zones de texte vides qui se rempliront oui c'est faisable je crois. il suffit par exemple d'insérer un label ( gtk_label_new(NULL) si je me souviens bien ) et puis tu a une fonction pour le modifier qui doit être gtk_label_set_text ou un nom dans le genre

  3. #3
    A_B
    A_B est déconnecté
    Membre confirmé Avatar de A_B
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 153
    Par défaut
    Merci :
    Ca donne une idée , je vais voir !
    Mais ce que je veut eviter c'est d'avoir plusieurs fenetres actives a la fois. alors comment passer un pointeur sur une fenetre que je veut detruire ma fonction de call_back qui recoit deja un autre pointeur DATA, sinon est ce qu'il est possible d'affecter deux fonction de call_back a un meme evenement ?
    MERCI !

  4. #4
    A_B
    A_B est déconnecté
    Membre confirmé Avatar de A_B
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 153
    Par défaut
    Salut :
    1) Est ce que je peut associer deux connection de signal avec deux callback different pour le meme widget ?
    2) Qu'elle est le prototype de la fonction window icon set ?

  5. #5
    Membre confirmé Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Par défaut
    Citation Envoyé par A_B
    [...]sinon est ce qu'il est possible d'affecter deux fonction de call_back a un meme evenement ?
    MERCI !
    Salut A_B.
    C'est l'un des rares trucs auquel je peux répondre puisque j'en ai fait les frais. La réponse est non. La solution? Trouver autre chose, essayer de rassembler tes deux codes, etc... Moi j'ai toujours pas trouvé...

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par A_B
    2) Quel est le prototype de la fonction window icon set ?
    Le vrai nom est gtk_window_set_icon si c'est bien de cette fonction donc tu veux parler, il suffit juste de se prendre par la main et de chercher dans la ref de l'api GTK+, on y trouve tous les prototype des fonctions.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par A_B
    1) Est ce que je peut associer deux connection de signal avec deux callback different pour le meme widget ?
    Pas à ma connaissance. Si c'est pour faire des traitement différents suivant certains cas, ce que tu peux est de faire un seul callback (pas le choix de toutes manières) et d'utiliser la donnée utilisateur (le dernier argument dont tu passe une valeur pendant l'enregistrement avec g_signal_connect.

    Avec tout ceci, dans ton callback il te suffit de faire un switch par exemple ce qui permettra de faire l'action associée au cas présent donc, suivant l'état de ton programme
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/05/2010, 17h06
  2. Communication entre fenetre
    Par alacaraibe dans le forum Windows Forms
    Réponses: 5
    Dernier message: 09/07/2009, 20h33
  3. Prb communication entre fenetre !svp
    Par comrad85 dans le forum C++Builder
    Réponses: 14
    Dernier message: 22/12/2007, 11h38
  4. Communication entre fenêtres
    Par cnicolot dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 01/08/2007, 08h06
  5. [Jdialog] Question sur communication entre fenetre
    Par Oreste dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 17/03/2005, 11h23

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