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 à :
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 :
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 :
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
Partager