le 11-16-2015 06:37 AM
Bonjour à tous,
Je travaille actuellement sur un plugin dont la face avant est composé de trois graphiques XY. Pour plus de clarté, je souhaiterais que les légendes de ces trois graphiques s'affiche sur une autre face avant (un sous-vi) qui s'execute lorsque je clique sur le bouton correspondant. Je n'ai pas de problème pour passer les références des graphiques dans le sous-vi et a l'executer quand je clique sur le bouton, mais je n'arrive pas à afficher les légendes sur la face-avant de ce sous-vi et je ne trouve rien qui pourrait m'aider dans les noeuds de propriétés.
Pensez-vous que cela est réalisable ? Si oui, comment ?
Merci d'avance pour vos réponses,
Résolu ! Accéder à la solution.
le 11-16-2015 10:10 AM
Bonjour,
Tu peux accéder aux noms de tes axes via un nom de propriété "EchelX.EtiquNom.Texte" ou "EchelY.EtiquNom.Texte".
Sinon pour le nom des tracés, il te suffit de parcourir le nombre de tracés présents sur ta courbe avec une boucle "FOR" et pour chaque itération récupéré le nom avec le noeud de propriété "Tracé.Nom".
Bon courage,
Michael
le 11-17-2015 02:17 AM
Bonjour Michael,
Merci beaucoup pour ta réponse rapide. Je me rends compte que je n'ai pas été très clair. Comme rien ne parle mieux que des images 🙂 :
La première image montre ma face-avant avec ce que j'appelle les légendes, qui sont affichées tout à fait normalement sur la face-avant principale. La seconde image montre ce que j'aimerais réaliser : l'appui sur le bouton "loupe" appelle un sous-vi (qui prend en paramètres les réfs des 3 graphes de la FA principale) et qui affiche ces légendes. Le fait de cocher ou non les cases situées à gauche des noms des tracés permet d'afficher ou non les tracés correspondants sur les graphes de la FA principale. Puis un second appui sur le bouton "loupe" permet de fermer le sous-vi.
Ma question est donc la suivante : est -il possible d'arriver à n'afficher que ces "légendes" avec les noeuds de propriétés sans avoir à récupérer les noms et les couleurs de chaque tracé l'un après l'autre ?
Sinon, une solution possible serait de créer trois graphes XY sur la FA du sous vi et de rendre transparent les zones d'affichage (pour qu'on ne voit que les légendes) puis de leur passer les propriétés des graphes de la FA principale. Je ne trouve pas cela très élégant, mais ce doit être le plus simple. Est-il possible de passer toutes les propriétés d'un coup d'un objet à un autre par les noeuds de propriété ?
Merci d'avance pour vos réponses.
bonne journée
le 11-17-2015 03:17 AM
Bonjour,
Donc si je comprend bien ta problématique, tu voudrais réafficher la légende des traçés complète sans avoir à recomposer celle-ci par extraction successive des noms de courbe ???
Pour l'instant, je vois pas, mais j'y réfléchis et je te fais un retour dans la journée si une idée me vient.
Bonne journée.
le 11-18-2015 06:44 AM
Bonjour,
Il n'est pas possible de dissocier les légendes du graphe auquel elles appartiennent et de les afficher dans la face avant à un autre VI.
Par contre, il est possible de copier / coller un objet graphique de labVIEW par programmation ; voir les méthodes associées aux tâches de "VI Scripting" : http://zone.ni.com/reference/en-XX/help/371361M-01/lvhowto/scripting_quick_reference/ (notamment la section "Selecting Objects to Cut, Copy and Paste").
Vous pourriez envisager de créer un clone de votre indicateur graphe et de jouer sur les propriétés de visibilité des légendes de chaque clone pour faire ce que vous voulez.
Pierre-Emmanuel BELLES
Certified LabVIEW Developper
Certified TestStand Architect
le 11-19-2015 07:48 AM
Vous pourriez envisager de créer un clone de votre indicateur graphe et de jouer sur les propriétés de visibilité des légendes de chaque clone pour faire ce que vous voulez.
Bonjour,
Merci pour votre réponse, c'est effectivement le plus simple.
Bonne fin de journée
le 11-19-2015 08:58 AM
Lorsque vous ouvrez des posts sur le forum, n'hésitez pas à désigner le post qui a répondu à votre problématique afin d'aguiller les futurs utilisateurs! (et éventuellement à mettre des Kudos aux membres qui vous ont aidé)
Bonne continuation!
Pierre-Emmanuel BELLES
Certified LabVIEW Developper
Certified TestStand Architect