Comment communiquer entre les vues dans Eclipse RCP?
Dans Eclipse RCP, je suis de la création de vues de la Perspective à l'aide de IPageLayout.addView(...)
Mais de cette façon je n'ai pas de référence à la vue. Donc je ne sais pas comment je peux dire ViewA de mettre à jour ViewB.
Quel est le meilleur modèle à utiliser ici?
source d'informationauteur geejay
Vous devez vous connecter pour publier un commentaire.
D'ailleurs ce qui VonC a mentionné ci-dessus, vous pouvez également utiliser
ISourceProviderListener
si les modifications ne sont pas déclenchées par la sélection.ViewB
implémenteISourceProviderListener
ISourceProvider
et de l'inscrire dans les servicesViewA
obtenir leISourceProvider
et mise à jour pour déclencher les changements dansViewB
Lire la documentation sur les interfaces avec
IServiceLocator
etISourceProviderService
pour obtenir une meilleure idée de comment tout cela se joue.Vous pouvez également voir ce Lars Vogel tutoriel qui a quelques exemple, comment utiliser le
ISourceProvider
Vous avez différents de communication paradigme résumer dans la IBM article
ISelectionListener
interface et doit s'inscrire avec le workbench pageIAdaptable
interface: Une classe qui implémenteIAdaptable
a la capacité de retour dynamique de certains types de cartes qui peuvent ensuite être utilisée pour récupérer des informations complémentaires.Sujet de la première approche, les détails d'article:
Vous trouverez une approche similaire dans le RCP tutoriel pour eclipse3.5 (mise à jour le 4 février 2010)
Il y a différentes façons pour la vue et le plugin de communication: eventbroker, auditeur etc..
EvenBroker (e4) mise en Œuvre:
Utilisation eventbroker pour envoyer un message (string) entre les vues et les plugins.
Côté De L'Expéditeur:
Côté Du Récepteur: