首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以编程方式触发RCP选择事件

以编程方式触发RCP选择事件
EN

Stack Overflow用户
提问于 2012-02-02 03:33:39
回答 7查看 19K关注 0票数 25

在我的Eclipse RCP应用程序中,我使用了这个漂亮的article中描述的选择服务。一个视图中有一个注册为SelectionProvider的TreeViewer

getSite().setSelectionProvider(viewer);

另一个视图是从TreeViewer接收事件

代码语言:javascript
复制
selectionListener = new ISelectionListener() {
  public void selectionChanged(IWorkbenchPart part, ISelection selection) {
    pageSelectionChanged(part, selection);
  }
 };
 getSite().getPage().addSelectionListener(selectionListener);

如果事件是由我正常的鼠标点击触发的,那么一切都很正常。我想通过选择树中的一项来以编程方式触发一个选择事件:

代码语言:javascript
复制
treeViewer.setSelection(new StructuredSelection(element),true);

这不管用。在接收器视图中未调用方法selectionChanged。该问题将在此forum thread中讨论。没有解决方案。

编辑

没有适当的方法来处理鼠标触发的单击,就像以编程方式选择一样。单击鼠标将激活视图,而所选内容不会以编程方式激活视图。

我的解决方案是通过Selection Service以与第一个视图相同的方式注册第二个视图。在此之后,两个视图都直接从活动编辑器中获取选择事件。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9102026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档