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

Eclipse Platform Discussion :

[RCP] interaction entre les vues


Sujet :

Eclipse Platform

  1. #1
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2007
    Messages : 177
    Points : 145
    Points
    145
    Par défaut [RCP] interaction entre les vues
    Bonjour,
    Je voudrais savoir comment je pourrais interagir entre les vues avec eclipse RCP.
    Je m'explique, j'ai une vue contenant un Tree et une contenant un Text,je voudrais que lorsque je selectionne un item dans le Tree, que le texte s'affiche dans la vue contenant le Text.
    merci.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    Article sur le site d'Eclipse : Eclipse Workbench: Using the Selection Service

  3. #3
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2007
    Messages : 177
    Points : 145
    Points
    145
    Par défaut
    oui j'avais vu mais je n'avais pas bien compris le fonctionnement, si quelqu'un pouvait mieux m'expliquer.
    merci

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Dans mon application RCP, cela fonctionne sans rien avoir fait dans ce but.
    Bonjour,

    Chez moi, cela marche. Mais quel type de fichier voulez-vous éditer (quelle extension)?

    Pour mon application RCP, j'ai d'abord avec GEF créé un plug-in pour l'édition d'un nouveau type de fichier (disons l'extension .abc). Ensuite, j'ai crée un 2eme plug-in RCP qui utilise mon premier plug-in. Si je double-clique dans un navigateur sur un fichier .abc, celui-ci est bien affiché dans un éditeur et je n'ai pas dû programmé ce comportement.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    Pour ton exemple, voici en gros comment ça fonctionne :
    - Ton tree (qui est un treeviewer je suppose, en tout cas je te le conseille) doit être désigné en tant que "selection provider" avec cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getSite().setSelectionProvider(treeviewer);
    - dans la vue contenant ton Text, tu vas ajouter un SelectionListener au "Selection Service". Tu peux faire en sorte qu'il ne réagisse qu'à une selection depuis la vue contenant ton tree :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(
      idDeLaVueContenantLeTree, mySelectionListener);
    N'oublie pas de faire un remove de ce listener dans le dispose de ta vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void dispose() {
      ISelectionService s = setSite().getWorkbenchWindow().getSelectionService();
      s.removeSelectionListener(mySelectionListener);
      super.dispose();
    }
    - implémente ton SelectionListener (mySelectionListener) pour qu'il récupère la selection et mette à jour ton Text.

    Et wala !
    J'espère avoir été clair...

  6. #6
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2007
    Messages : 177
    Points : 145
    Points
    145
    Par défaut
    merci pour l'explication, mais je n'utilise pas de treeviewer, mon tree est tout fait mais lorsque je créer un treeviewer avec "new TreeViewer(tree)", tout les elements du tree ne s'affichent pas (style les enfants ..).
    Je n'ai jamais utilisé de treeviewer apparrement c'est un probleme de contentProvider, mais vu que j'ai un tree deja fait je ne devrais pas avoir besoin d'utiliser cela...

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    Sauf que pour ton problème, tu en aura besoin.
    En effet, le "Selection Service" se base sur des interfaces (ISelection entre autre) pour récupérer la sélection.
    Or seuls les viewers fournissent ce mécanisme.

    Pour savoir comment utiliser un treeViewer, voici un autre article :
    How to use the JFace Tree Viewer

    Si tu veux pleinement exploiter les services proposés par Eclipse RCP, je ne peux que te conseiller de jeter un oeil dessus.

  8. #8
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2007
    Messages : 177
    Points : 145
    Points
    145
    Par défaut
    Rebonjour, j'ai réussi a utiliser votre technique, merci beaucoup, avec un treeViewer ca fonctionne tres bien.
    En revanche j'aurais voulu savoir si cela était possible de faire la meme chose avec une vue qui ecoute les evenements sur un bouton situé dans une autre vue?
    merci

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

Discussions similaires

  1. [RCP] interagir entre les vues
    Par stachus dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 27/02/2007, 10h32
  2. [RCP] Interaction entre les vues
    Par MarneusCalgarXP dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 10/10/2006, 22h52
  3. Communication entre les vues
    Par beb30 dans le forum MFC
    Réponses: 3
    Dernier message: 18/04/2006, 15h01
  4. [RCP] Interaction avec des vues
    Par alexixlebaulois dans le forum Eclipse Platform
    Réponses: 4
    Dernier message: 11/01/2006, 17h57
  5. Lien entre les vues 'Structure' et l'éditeur
    Par Tifauv' dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 13/05/2004, 16h06

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