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 :

Utilisation d'un gtk_radio_button et gtk_spin_button


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut Utilisation d'un gtk_radio_button et gtk_spin_button
    Bonjour,

    J'aimerais récupérer l'état de plusieurs radio_button.
    j'ai une structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    typedef struct
    {
       gint etat_radio_aucune;
       gint etat_radio_jour;
       gint etat_radio_semaine;
       gint etat_radio_mois;
       gint etat_radio_annee;
    }radio;
    Dans mon interface.c, je connecte un des radio button à cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      g_signal_connect (G_OBJECT(radiobutton_aucune), "toggled",
                        G_CALLBACK (on_radiobutton_aucune_toggled),
                        NULL);
    Les fonctions G_CALLBACK étant de type de retour void, j'ai donc pensé à créer une autre fonction pour récupérer l'état de mes radio button:
    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
     
    void on_radiobutton_aucune_toggled(GtkWidget *widget, gpointer user_data)
    {
    	 recuperation_etat_radio(widget,user_data);
    }
     
    int recuperation_etat_radio(GtkWidget *widget, gpointer user_data)
    {
        radio pt;
     	GtkWidget *radio_aucune = lookup_widget(GTK_WIDGET(widget),"radiobutton_aucune"); 
     	GtkWidget *radio_jour = lookup_widget(GTK_WIDGET(widget),"radiobutton_jour");
     	GtkWidget *radio_semaine = lookup_widget(GTK_WIDGET(widget),"radiobutton_semaine");
     	GtkWidget *radio_mois = lookup_widget(GTK_WIDGET(widget),"radiobutton_mois");
     	GtkWidget *radio_annee = lookup_widget(GTK_WIDGET(widget),"radiobutton_annee");
     
      	gint flag = 0;
     
     	pt.etat_radio_aucune = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radio_aucune) );
     	pt.etat_radio_jour = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radio_jour) );
     	pt.etat_radio_semaine = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radio_semaine) );
     	pt.etat_radio_mois = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radio_mois) );
     	pt.etat_radio_annee = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radio_annee) );
     
    	 if ( pt.etat_radio_aucune == TRUE)
     	 	flag = 0; /* aucune */
     
         if ( pt.etat_radio_jour == TRUE)
     	 	flag = 1; /* jour */
     
         if ( pt.etat_radio_semaine == TRUE)
     	 	flag = 2; /* semaine */
     
         if ( pt.etat_radio_mois == TRUE)
     	 	flag = 3; /* mois */
     
         if ( pt.etat_radio_annee == TRUE)
     	 	flag = 4; /* annee */
     
         return flag;
    }
    Dans une autre procédure, je récupère le flag comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gint flag = recuperation_etat_radio(widget,user_data);
    Mais ça passe pas quand j'essaye de modifier des labels en fonction de la valeur de flag. Je récupère aussi la valeur d'un spinbutton, mais ça marche pas

    gint freq = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin_freq));

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut
    pourriez vous juste me dire si le principe est bon (mon implémentation et autre)?

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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