我还不太了解RCP,但我一直在阅读很多文档。我不知道我的问题是否有意义;如果不是,我道歉并恳求你试着找出我的意思并提出某种答案。
我有一个树视图元素,上面有一个双击监听器。在窗口的另一部分有一个布局文件夹,其中包含应该是双击项目的检查器的视图。
我知道出现另一个检查员的唯一方法是:
getActivePage().showView(Inspector.ID).
showView()
没有任何机会将额外信息传递给视图,因此它能知道要检查哪个元素吗?
指向不同方向的指针表示赞赏。 Vogel教程似乎没有涵盖这一点,或者我不理解它。
答案 0 :(得分:0)
您可以查看文章“Link to Editor”是否可以为您提供帮助 也就是说,不是试图访问正确的视图,而是为编辑器定义一个监听器:
private IPartListener2 partListener2 = new IPartListener2() {
public void partActivated(IWorkbenchPartReference ref) {
if (ref.getPart(true) instanceof IEditorPart)
editorActivated(getViewSite().getPage().getActiveEditor());
}
这样,你就可以找回正确的编辑器,并要求编辑所需要的所有内容都可以相应地更新。
答案 1 :(得分:0)
您可以使用SelectionService。 Inspector视图应注册为SelectionListener。树的另一个视图应该注册一个SelectionProvider。该视图应该监听树中的双击,然后更新选择