如何调整fragment.e4xmi中handledmenuitem菜单项的排列顺序
Eclipse RCP e4xmi跨Fragment菜单项排序方案
所有待排序的HandledMenuItem必须先在各自的fragment.e4xmi中配置全局唯一的元素ID,这是跨Fragment识别元素的基础。
核心实现方法
Eclipse e4原生支持在Fragment贡献模型元素时,通过position in parent参数指定插入位置,语法支持before=元素ID、after=元素ID、first、last四个取值,跨Fragment也可生效,不受Fragment所属项目限制。
具体配置示例
假设你给五个菜单项分配的唯一ID如下:
- log菜单项ID:
com.xxx.menu.log - validation菜单项ID:
com.xxx.menu.validation - help菜单项ID:
com.xxx.menu.help - dg菜单项ID:
com.xxx.menu.dg - apdu菜单项ID:
com.xxx.menu.apdu
你需要的排序为log - validation - help - dg - apdu,按以下规则修改每个菜单项对应fragment.e4xmi中Model Fragment的position in parent属性即可:
- log菜单项所属Fragment:
position in parent填first(或留空,默认按加载顺序插在头部) - validation菜单项所属Fragment:
position in parent填after=com.xxx.menu.log - help菜单项所属Fragment:
position in parent填after=com.xxx.menu.validation - dg菜单项所属Fragment:
position in parent填after=com.xxx.menu.help - apdu菜单项所属Fragment:
position in parent填after=com.xxx.menu.dg

异常排查
如果配置后排序未生效,按以下步骤处理:
- 检查所有
HandledMenuItem的ID是否全局唯一,无重复 - 检查
position in parent中引用的其他菜单项ID拼写完全正确,区分大小写 - 启动应用时添加
-clean参数清除运行时模型缓存,或删除运行时Workspace的.metadata目录后重启
内容的提问来源于stack exchange,提问作者Suraj Dighodkar
相关产品推荐
相关产品推荐

