eclipse-plugin - JFace TreeViewers 和 Eclipse e4 框架/SelectionService
问题描述
我在使用 JFace TreeViewers 时遇到了一些困难,它们与 e4 选择服务/框架交互的方式。
我想了解在同一 MPart 中使用一个或多个 JFace 查看器时(通过选择服务)管理选择的预期方式是什么。
两个控件(treeviewer 和 tableviewer)的基本操作按预期工作,但是当焦点移动到部件内的不同控件,然后通过右键单击先前选择的树项返回 TreeViewer 时,选择事件是未由树控件重新发布,导致 e4 ESelectionService 未使用正确的 selection 更新,这会产生各种涓滴效应,例如处理程序的 @CanExecute 方法无法按预期运行。请注意,当焦点通过左键单击先前选择的项目返回到 TreeViewer 时...按预期发出选择事件。
我确信我可以使用 MouseListeners 或 FocusListeners 编写代码,但我想正确地做事,这似乎有点 Kludgy。
总结一下:
- TreeViewer 的行为是否符合预期?(TableViewer 似乎没有表现出这种行为)
- 首选的工作是什么?
带有测试用例结果总结问题的图像: 测试用例结果
基于 Eclipse 中的 e4 向导,此处提供了精简的示例/测试代码。 https://github.com/krislyon/e4selection-issue
任何帮助/建议将不胜感激。
解决方案
推荐阅读
- jquery - 是否可以在每次页面刷新时仅刷新#content div?
- asp.net - 无法在 IIS 上加载文件或程序集“System.Net.Http,版本=4.2.0.0,文化=中性”
- r - 使用 Rvest 抓取谷歌新闻
- sql - 如何在一个循环中假脱机到多个文件?
- node.js - 如何在 migrate-mongo 中处理同时运行
- python-3.x - 如何将文件路径指向安装目录?
- javascript - Mongoose 预钩子:在删除时从数组中拉出 _id
- python - 伽玛分布参数 Python
- javascript - Javascript可以以编程方式模拟“keyup”吗?
- google-app-engine - Google App Engine 服务的自定义子域