JFace TreeViewers和Eclipse e4 Framework / SelectionService

时间:2018-08-30 18:48:04

标签: eclipse-plugin eclipse-rcp jface e4

我在使用JFace TreeViewers时遇到了一些困难,他们以这种方式与e4选择服务/框架进行交互。

我想了解在同一MPart中使用一个或多个JFace查看器时(通过选择服务)管理选择的预期方式是什么。

两个控件(树形查看器和表形查看器)的基本操作可以按预期工作,但是,当焦点移至零件内的另一个控件,然后通过右键单击先前选择的树返回到树形查看器项,则树控件不会重新发出选择事件,从而导致e4 ESelectionService无法使用正确的选择进行更新,这会产生各种trick流效果,例如处理程序的@CanExecute方法无法正常运行预期。请注意,当通过左键单击先前选择的项将焦点返回到TreeViewer时,将按预期发出选择事件。

我确定我可以使用MouseListeners或FocusListeners对此进行编码,但是我想正确地做事,这似乎有点Kludgy。

总结:

  • TreeViewer的行为是否符合预期? (TableViewer似乎没有表现出这种行为)
  • 首选的解决方法是什么?

带有测试用例结果的图像总结问题: Test Case Results

根据eclipse中的e4向导,此处提供了精简的样本/测试代码。 https://github.com/krislyon/e4selection-issue

任何帮助/建议将不胜感激。

0 个答案:

没有答案