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 :

[GTK+3] fenêtre bloquante avec retour d'un entier.


Sujet :

GTK+ avec C & C++

  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut [GTK+3] fenêtre bloquante avec retour d'un entier.
    Bonjour

    je viens enfin de faire une fenêtre bloquante type "menu". J'en donne ici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
                        sprintf(ch,"Gestion du doublon %s mag +%hd",ARME[info_fenetre->_perso->armes_modif[i]].nom,niv);
                        p_dialog = gtk_dialog_new_with_buttons (ch,
                                                                  GTK_WINDOW(info_fenetre->modif->window),
                                                                  GTK_DIALOG_MODAL,
                                                                  "Annuler l'ouverture de\nla fenêtre de choix d'armes", 4,
                                                                  "Prendre en compte\ncette arme-ci",1,
                                                                  "Prendre en compte\nla meilleure arme",2,
                                                                  "Abandonner\ncette entrée",3,
                                                                  NULL);
                        l=gtk_dialog_run(GTK_DIALOG(p_dialog));
                        gtk_widget_destroy (p_dialog);
    Je suis surpris que cette possibilité ne soit documentée. Avec cette idée, je vais peut-être pouvoir simplifier du code /* il me faudra juste prendre le temps de le faire */.

    Auriez-vous fait comme ça ? Y-a-t'il mieux ?
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Grosso modo tu reprends l'exemple de la documentation officielle .

    Et non je ne m'y prendrais pas autrement pour obtenir le même résultat.

    La fenêtre modale est justement le principe pour forcer l'utilisateur à faire un choix avant de poursuivre.

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Elle est où cette doc ?
    Si j'étais tombé dessus, je n'aurais pas perdu de temps à réinventer la roue
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  4. #4
    Membre confirmé Avatar de Gaulouis
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 252
    Points : 476
    Points
    476
    Par défaut
    Documenttion Gtk+3 GtkDialog

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    GtkWidget *dialog;
    GtkDialogFlags flags = GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT;
    dialog = gtk_dialog_new_with_buttons ("My dialog",
                                          main_app_window,
                                          flags,
                                          _("_OK"),
                                          GTK_RESPONSE_ACCEPT, // All predefined values are negative
                                          _("_Custom"),
                                          1, // GTK+ leaves positive values for application-defined response ids
                                          _("_Cancel"),
                                          GTK_RESPONSE_REJECT,// All predefined values are negative
                                          NULL);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    gint result = gtk_dialog_run (GTK_DIALOG (dialog));
    switch (result)
      {
        case GTK_RESPONSE_ACCEPT:
           //do_application_specific_something ();
           break;
        default:
           //do_nothing_since_dialog_was_cancelled ();
           break;
      }
    gtk_widget_destroy (dialog);
    réinventer la roue
    https://www.youtube.com/watch?v=jHmxJPTWD-M#t=7m00s



    Ils n'en ont pas voulu ... (Pourtant il estimait à 80% l'économie d’essence -faut dire que dans les embouteillage tu consomme mais t'avance point-)

  5. #5
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    D'accord pour l'exemple, sauf qu'ils n'ont pas mis de nombres, mais des "enum GtkResponseType".
    Et dans le prototype de la fonction, on ne parle même pas de l'enum, juste le "char *" du texte. Il est tout de même écrit : "button text/response ID pairs should be listed, with a NULL pointer ending the list".
    Ceci dit, comme ce type marchait en switch/case, je me suis dit qu'il était de format numérique et je l'ai changé par un chiffre.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

Discussions similaires

  1. Ouverture d'un document word visible avec retour à la fenêtre excel
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/05/2008, 09h31
  2. Fenêtres multiples avec la librairie SDL
    Par pierrev1 dans le forum SDL
    Réponses: 4
    Dernier message: 10/12/2006, 11h36
  3. Concatérner chaine avec retour à la ligne
    Par nebule dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/11/2004, 11h55
  4. [GTK]installer Dev-C++ avec gtk 1.2 ...
    Par vbcasimir dans le forum Dev-C++
    Réponses: 2
    Dernier message: 02/02/2004, 13h34
  5. afficher texte avec retour chariot aprèq requète sql
    Par frenchy371 dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/01/2004, 17h33

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