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 :

modifier valeur vslider GIW


Sujet :

GTK+ avec C & C++

Vue hybride

Bobble modifier valeur vslider GIW 30/11/2008, 20h13
gege2061 Bonjour, J'ai trouvé ce... 30/11/2008, 21h29
Bobble Salut! d'abord merci... 30/11/2008, 21h40
teuf13 Les fonctions appelées par... 01/12/2008, 00h42
Bobble Salut! je n'utilise pas des... 01/12/2008, 10h00
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 226
    Par défaut modifier valeur vslider GIW
    Salut!

    j'ai un petit souci, j'aimerai modifier constamment la valeur indiquée par un vertical slider de la librairie GIW.

    J'utilise la fonction g_timeout_add qui appelle en boucle ma fonction "mouvement".

    dans cette fonction je fait giw_vslider_set_value(w,pos); où pos c'est ma nouvelle valeur.

    mais la valeur ne change pas! si je fait la même chose mais au niveau d'une fonction de callback ça marche très bien....

    je peut faire comment pour demander le reaffichage en étant dansla fonction "mouvement"??

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    J'ai trouvé ce code là sur sourceforge :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void
    giw_vslider_set_value (GiwVSlider *vslider,
    			gdouble value)
    {
      g_return_if_fail (vslider != NULL);
      g_return_if_fail (GIW_IS_VSLIDER (vslider));
     
      if (vslider->adjustment->value!=value){
        vslider->adjustment->value=value;
     
        gtk_adjustment_value_changed(vslider->adjustment);
      }
    }
    Si c'est bien ça, il ne faut pas utiliser directement les champs de la structure GtkAdjustment mais passer par les fonctions get/set (soit g_object_get/g_objec_set soit, quand elles existent, les swapper correspondant).

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 226
    Par défaut
    Salut!
    d'abord merci beaucoup pour la réponse!

    mais en faite j'utilise la fonction giw_vslider_set_value...
    et en paramètre je passe bien mon widget GiwVSlider et ma valeur
    gdouble ....

    le problème c'est que appairement l'interface ne se modifie pas au moins que se soit une fonction de callback qui le demande... dans un autre forum j'ai trouvé le conseil d'utiliser la fonction gdk_window_process_all_updates() mais dans mon cas ça ne marche pas....

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Les fonctions appelées par g_timeout_add sont des fonctions callback aussi. C'est quoi que tu appelles "des fonctions de callback" dans ta description du pb ? Tu n'utilises pas de threads par hasard ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 226
    Par défaut
    Salut!
    je n'utilise pas des threads.

    des fonctions de callback sont des fonctions qui sont appelée directement depuis les objectas de l'interface.

    j'ai une fonction O_Demarrer qui vient appelée depuis un application externe, cette fonction contient la ligne g_timeout_add(500,Mouvement,(gPointer)var);.

    Mouvement est une fonction qui contient les lignes:

    w=glade_xml_get_widget(xml,"hsSlider");
    giw_vslider_set_value(GIW_VSLIDER(w), 5);

    Comme ça il ne veut pas modifier la valeur su slider.

    Si je mets ces deux lignes dans une fonction bi_clicked liée a un bouton ça fonctionne...

    Je crois qu'il faut obliger l'interface à se rafraichir...chose qu'elle vient
    fait automatiquement quand l'appel vient directement depuis elle...

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Hmm, je ne comprends pas trop comment ça marche quand tu dis que ta fonction O_Demarrer est appelée par un programme externe ? Sinon, peut être que ton problème vient tout simplement d'un objet invaide que tu récupèrerais dans ton callback, ie ce que tu penses être un objet de type GladeXML n'est en fait pas un objet de ce type à cause d'un bug dans ton programme ? Il n'y a pas d'avertissements dans la console ?

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

Discussions similaires

  1. Zone de liste modifiable : valeur par défaut
    Par pafi76 dans le forum Access
    Réponses: 2
    Dernier message: 26/06/2006, 14h44
  2. Modifier valeur dans base en fermant formulaire
    Par yohannmonnier dans le forum Access
    Réponses: 19
    Dernier message: 18/06/2006, 13h43
  3. Modifier valeur Scale
    Par Invité dans le forum Tkinter
    Réponses: 2
    Dernier message: 07/06/2006, 14h49
  4. Réponses: 4
    Dernier message: 15/02/2006, 12h46
  5. Zone de liste modifiable + Valeur par défaut
    Par Frac dans le forum Access
    Réponses: 7
    Dernier message: 27/10/2005, 08h21

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