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

Bibliothèques Discussion :

X11/Motif : fonction XtVaSetValues


Sujet :

Bibliothèques

  1. #1
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut X11/Motif : fonction XtVaSetValues
    Bonjour,
    Je ne suis pas sur d'être sur le bon forum, mais je n'en ai pas trouvé consacré directement à X11/motif !
    j'affiche des lignes dans une scrolled window, chaque ligne étant une "Form" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       ptr_form_widget = XtVaCreateWidget("Form",xmFormWidgetClass, ...
    En fonction des ajouts et supressions, les rangs des lignes sont modifiés: mis à jour de leur emplacement par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XtVaSetValues (ptr_form_widget,XmNtopOffset, OFFSET_LINE*(line_number), NULL);
    Mais lorsqu'il y a des centaines de lignes, cela prends plusieurs minutes pour exécuter cette instruction sur toutes les lignes.
    Comment optimiser cet appel ?

    merci

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par awalter1 Voir le message
    Bonjour,
    Je ne suis pas sur d'être sur le bon forum, mais je n'en ai pas trouvé consacré directement à X11/motif !



    je n'arrête pas de le dire, et je ne comprend pas que, même si il n'y a personne (je n'ai pas encore le temps) pour modérer, il n'y ait pas une entrée quelque part ....


    Citation Envoyé par awalter1 Voir le message
    j'affiche des lignes dans une scrolled window, chaque ligne étant une "Form" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       ptr_form_widget = XtVaCreateWidget("Form",xmFormWidgetClass, ...
    En fonction des ajouts et supressions, les rangs des lignes sont modifiés: mis à jour de leur emplacement par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XtVaSetValues (ptr_form_widget,XmNtopOffset, OFFSET_LINE*(line_number), NULL);
    Mais lorsqu'il y a des centaines de lignes, cela prends plusieurs minutes pour exécuter cette instruction sur toutes les lignes.
    Comment optimiser cet appel ?

    merci
    Ce omportement est normal, si tu réfléchis à ce que ça fait. Il faudrait à mon avis utiliser autre chose qu'un scroll window...

    Primo, pourquoi changes-tu l'ordre des lignes ?
    pas moyen d'écraser les lignes précédentes plutot que de changer tous les offsets ?
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  3. #3
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut
    Citation Envoyé par souviron34 Voir le message

    Primo, pourquoi changes-tu l'ordre des lignes ?
    Je simulai le fonctionnement d'un Tree (une fleche est associée à un item, et en clickant sur la fleche, on visualise les sous item). C'est pour cela que les actions sur les fleches, modifie le rang associé à chaque ligne (chaque emplacement de "Form").
    Jusque là le nombre de sous items était réduit, à présent il y en a plus de 500 !
    Citation Envoyé par souviron34 Voir le message

    pas moyen d'écraser les lignes précédentes plutot que de changer tous les offsets ?
    Je ne vois pas trop comment, j'ai joint une image pour mieux comprendre.

    merci
    Images attachées Images attachées  

Discussions similaires

  1. inhiber la fermeture d'une fenêtre X11/Motif
    Par awalter1 dans le forum Linux
    Réponses: 0
    Dernier message: 13/12/2011, 09h08
  2. X11/motif : tester qu'une adresse est un widget ?
    Par awalter1 dans le forum Linux
    Réponses: 3
    Dernier message: 18/09/2008, 11h10
  3. problème d'event sous X11/Motif
    Par awalter1 dans le forum Linux
    Réponses: 7
    Dernier message: 08/07/2008, 18h44
  4. pb d'affichage en X11/Motif
    Par awalter1 dans le forum Unix
    Réponses: 0
    Dernier message: 01/02/2008, 10h17
  5. typedef X11 / Motif
    Par Ksempac dans le forum C
    Réponses: 1
    Dernier message: 31/10/2007, 11h55

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