Eclipse RCP:如何注册一个ISourceProviderListener [英] Eclipse RCP: how to register an ISourceProviderListener

查看:139
本文介绍了Eclipse RCP:如何注册一个ISourceProviderListener的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

今天我尝试了以下内容:



我有:




  • a使用表单查看( FormView

  • a AbstractSourceProvider 提供者)将 FormView 中的更改提交给提供者之外的

  • 一个View( ConsumerView ) >它实现 ISourceProviderListener



FormView 更新提供者,它触发 fireSourceChanged 。但是,如何注册 ConsumerView ,以便它监听提供者中的更改?



这里的答案stackoverflow,没有真正解释如何做:
如何在Eclipse RCP中的视图之间进行通信?



另外Lars Vogels有关RCP命令的教程也经常被提及,但是我从那里得不到。感谢您的帮助!

解决方案

从您的 > ConsumerView createPartControl(..)方法:

  ISourceProviderService service =(ISourceProviderService)getSite()。getService(ISourceProviderService.class); 

ISourceProvider yourProvider = service.getSourceProvider(yourSourceProviderName);

yourProvider.addSourceProviderListener(this);


today i tried the following:

I have:

  • a View with a form (FormView)
  • a AbstractSourceProvider (Provider) to provide changes in FormView to the world
  • a View (ConsumerView) that should consume information from Provider it implements ISourceProviderListener

FormView updates the Provider, which fires the fireSourceChanged. But how can I register the ConsumerView so that it listens for changes in the Provider?

This answer here on stackoverflow, did not really explain how to do it: How to communicate between views in Eclipse RCP?

Also Lars Vogels tutorials on RCP Commands are mentioned frequently, but I don't get it from there.

Thanks for your help in advance!

解决方案

From within your ConsumerView createPartControl(..) method:

ISourceProviderService service = (ISourceProviderService)getSite().getService(ISourceProviderService.class);

ISourceProvider yourProvider = service.getSourceProvider("yourSourceProviderName");

yourProvider.addSourceProviderListener(this);

这篇关于Eclipse RCP:如何注册一个ISourceProviderListener的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆