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 :

GraceGTK : problème de gestion de "pipe"


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 330
    Points : 607
    Points
    607
    Par défaut GraceGTK : problème de gestion de "pipe"
    Bonjour,
    Je suis en train de développer une version GTK du logiciel Grace.
    C'est un logiciel Open Source basé sur Motif pour tracer des courbes.
    Il est couramment utilisé par les scientifiques et fait partie
    de nombreuses distributions Linux.

    Le site du logiciel est http://plasma-gate.weizmann.ac.il/Grace/

    Le dialogue avec le mainteneur concernant cette transposition se trouve à l'adresse
    http://plasma-gate.weizmann.ac.il/Gr...pic.php?t=1764

    La dernière version de mes oeuvres est disponible à
    ftp://plasma-gate.weizmann.ac.il/pub...2_23_10h31.tgz

    J'ai actuellement à résoudre un problème qui dépasse mes compétences
    (je ne suis pas un informaticien de formation):
    il y a une option -pipe qui permet de recevoir les commandes pour
    Grace à travers un pipe, et c'est Grace qui fait la gestion des
    "pending inputs". Je me suis contenté de transformer les appels de la
    Xlib en appels gdk, mais manifestement cela ne suffit pas pour avoir
    un fonctionnement correct: il faut attendre la fermeture du pipe pour
    afficher une courbe.
    En fait, il faudrait que la commande "REDRAW" déclenche le tracé sur
    l'écran, sans attendre que le pipe soit terminé, ce qui n'est pas le
    cas actuellement.
    Je soupçonne un problème de multithreading, mais comme je ne connais
    pas grand chose en la matière, je suis un peu perplexe.

    Si quelqu'un s'intéresse à mon problème, il faut regarder du coté des
    fonctions
    monitor_input
    register_real_time_input
    unregister_real_time_input
    reopen_real_time_input
    ...
    dans le fichier files.c
    et gg_leavegraphics dans gg_gtkdrv.c
    et utiliser le répertoire grace_np pour tester les pipes.


    De toutes façon, je suis intéressé par toutes les tests et toutes les
    suggestions que vous pouvez faire concernant cette transposition à GTK d'un logiciel Motif.
    P. Vincent

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 330
    Points : 607
    Points
    607
    Par défaut Pour préciser la question
    Pour mieux comprendre mon problème, je voudrais savoir ce qui se passe du coté du programme GTK qui lit le pipe quand le programme qui écrit dans le pipe utilise la fonction système fflush.

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

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

    Informations forums :
    Inscription : Février 2008
    Messages : 2 304
    Points : 4 971
    Points
    4 971
    Billets dans le blog
    5
    Par défaut
    Ton projet est intéressant. Une question personnelle avant d'aller plus loin. L'utilisation de Grace est-elle orientée astronomie?

    Les pipes:

    A essayer de lire ton code j'ai vite décroché. La flemme à vrai dire. Mais pour apporter une petite pierre à l'édifice la Glib met à ta disposition une encapsulation des fonctions nécessaires à la communication entre une application Gtk+ est une autre quelconque en utilisant les pipes : g_spawn_async_with_pipes();
    Toutes les explications sur les mécanismes à l'œuvre sont données avec la fonction.

    Bonne lecture.

  4. #4
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 330
    Points : 607
    Points
    607
    Par défaut
    Bonjour Gerald3d,
    Merci de ta réponse: je vais étudier cette fonction.

    Pour ce qui est de Grace, il n'est pas spécialement orienté astronomie.
    A l'origine (il y a bien longtemps...) il a été conçu sous le nom de Xmgr par Paul J Turner qui travaillait dans l'Institut de Géographie de Portland (Oregon), mais avec une optique assez
    généraliste.
    Le développement a été ensuite repris par l'équipe du Weizmann Institute en Israel qui s'occupe plutôt de Physique.
    C'est un logiciel intermédiaire entre Gnuplot et Xfig.
    Gnuplot peut aussi tracer des lignes de niveaux, des surfaces, mais n'a pas d'interface graphique développée (il existe bien un mode Emacs, mais ce n'est quand même pas très convivial).
    Xfig permet de tracer aisément des shémas, sans l'apprentissage nécessaire pour maîtriser des logiciels de CAD comme Qcad (ou Autocad).
    Les logiciels comme Scilab (et Matlab) sont plus généralistes et aussi beaucoup plus lourds.
    Je trouve que le point fort de Grace est un bon compromis entre une utilisation simple, des possibilités de traitement des données (interpolation spline, transformation de Fourier,...) qui sont comprises dans l'interface graphique et la possibilité d'agrémenter les courbes de petits schémas.
    Merci de ton aide.

Discussions similaires

  1. Problème "LoadModule ssl_module modules/mod_ssl.so"
    Par ldcarpathes dans le forum Apache
    Réponses: 9
    Dernier message: 24/01/2008, 12h07
  2. Formulaires : problème avec les slashes et les quotes
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2005, 16h59

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