2011-08-19 58 views
0

我正在开发一个带有EMF和GMF的插件。 它有两个视图,我希望当第一个元素被选中时,第二个被刷新。如何让视图聆听其他视图的选择?

其实我用这个命令:

getViewSite().getPage().addSelectionListener(this); 

但它可以让我听只在编辑器中选择。

我该如何解决? 我该如何确保插件加载时刷新视图? 目前,当我启动插件时,它是空的,只要点击编辑器就会刷新。

感谢, 卢卡

回答

1

您可以use Selection Service

getViewSite().getWorkbenchWindow().getSelectionService().addSelectionListener(this) 

getViewSite().getWorkbenchWindow().getSelectionService().addSelectionListener(partId, this) 

侦听特定视图/编辑选择更改。

+0

我想在第二种方法partId是我想观察的观点,对吗? – Maverik

+0

当然可以。 –

+0

嗨,我终于有时间测试你的提示了。它不起作用。我是否必须添加我正在倾听作为选择提供者的视图?目前我这样做:'getSite()。setSelectionProvider(viewer); where'viewer'是'tableViewer' – Maverik