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 :

Lien entre deux vues


Sujet :

Eclipse Platform

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut Lien entre deux vues
    Bonjour à tous,

    J'ai un petit soucis dans mon application RCP.

    J'ai deux vue. La première (Parametrages) contient en réalité un wizard avec les boutons suivant, précédent et terminer. Lorsque je clic sur suivant la seconde page du wizard apparait. Tout ceci se fait dans la première vue.

    Dans la seconde vue j'aimerai renseigner des informations sur la page courante. Cependant je ne sais pas trop comment faire.

    Avec ceci (dans la seconde vue):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
    		IViewPart viewPart = page.findViewReference("idParam").getView(true);
    je peux récupérer la vue Parametrage et donc utiliser la méthode getCurrentPage qui me retourne bien la page courante du wizard. Cependant comment faire lorsque je change de page (en appuyant sur suivant ou précédent) la page current que j'ai récupéré est modifié ?

    Merci de votre aide.

    Cordialement,

    Patrick Aoun.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Pour information je pense avoir résolu mon problème.

    En fait j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
    		IViewPart viewPart = page.findViewReference("idComp").getView(true);
    dans ma vue Parametrage au moment où j'appuie sur le bouton suivant ou précédent. Puis j'appelles une méthode présente dans la seconde vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Complements) viewPart).update(page);
    qui suivant la vue va afficher une information ou une autre. Bon après je ne sais pas si c'est très propre.

  3. #3
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut
    Bonjour,

    Le plus propre pour la communication entre deux vues est de passer par le service de sélection. Ta première vue doit indiquer qu'elle est productrice de "Selection" au workbench grâce à :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getSite().setSelectionProvider(selectionProvider);
    L'objet "selectionProvider" est en fournisseur de la sélection. Souvent, on y met des composants JFace (table, tree), mais dans ton cas mets-y ta vue directement :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getSite().setSelectionProvider(this);
    Ta vue doit alors implémenter l'interface "ISelectionProvider" qui permettra de donner un élément de type "ISelection" (là un objet de ton choix avec tes informations).

    Dans l'autre vue, tu peux demander au service de sélection l'élément courant :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getSite().getWorkbenchWindow().getSelectionService().getSelection(String partId)
    , avec "partId" l'ID de ta première vue.

    C'est plus complexe de ta méthode mais ça permet de découpler tes vues, le seul élément restant entre les deux étant l'ID de la première vue.

    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

Discussions similaires

  1. [MySQL] Lien entre deux tables
    Par ept35 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 28/11/2005, 13h56
  2. lien entre deux sous formulaire :(
    Par souska dans le forum Access
    Réponses: 4
    Dernier message: 20/09/2005, 21h37
  3. Type de lien entre deux associations
    Par thibal dans le forum PowerAMC
    Réponses: 2
    Dernier message: 17/06/2005, 16h53
  4. [VB.NET] ComboBox lien entre deux tables
    Par VDB1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/07/2004, 12h15
  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