2010-08-05 6 views
1

Je ne sais pas encore très bien RCP, mais j'ai lu beaucoup de docs. Je ne sais pas si ma question a un sens; Je m'excuse si ce n'est pas le cas et je vous supplie d'essayer de comprendre ce que je veux dire et de trouver une réponse.Eclipse RCP obtenir des éléments par ID

J'ai un élément de vue arborescente, qui a un double-clic sur celui-ci. Dans une autre partie de la fenêtre, il y a un dossier de mise en page qui contient des vues censées être des inspecteurs pour les éléments sur lesquels on a double-cliqué.

La seule façon que je sais faire un autre inspecteur apparaît est:

getActivePage().showView(Inspector.ID). 

showView() ne donne aucune possibilité de transmettre des informations supplémentaires à la vue, donc peut-il savoir quel élément d'inspecter?

Pointeurs dans des directions différentes appréciés. Le tutoriel Vogel ne semble pas couvrir cela, ou je ne le comprends pas.

Répondre

0

Vous pouvez vérifier si l'article "Link to Editor" peut vous aider.
C'est, au lieu d'essayer d'accéder à la vue de droite, définissez un écouteur pour les rédacteurs en chef:

private IPartListener2 partListener2 = new IPartListener2() { 
    public void partActivated(IWorkbenchPartReference ref) { 
    if (ref.getPart(true) instanceof IEditorPart) 
     editorActivated(getViewSite().getPage().getActiveEditor()); 
} 

De cette façon, vous pouvez retourner l'éditeur à droite, et de demander que Editor tout ce que vous avez besoin pour votre vue à mettre à jour en conséquence.

0

Vous pouvez utiliser le service SelectionService. La vue Inspecteur doit être enregistrée en tant que SelectionListener. Et l'autre vue avec l'arbre devrait enregistrer un SelectionProvider. Cette vue doit écouter le double clic dans l'arborescence, puis mettre à jour la sélection.