在我的独立RCP应用程序(我开始使用产品配置)中,我想添加一个菜单项“show view”,列出我在持久应用程序模型中定义的所有视图( application.e4xmi < / em>文件)关闭。 目前我没有使用任何 Advisor 类。
我所做的是为每个视图手动添加 HandledMenuItems ,并将 CoreExpression 添加为 Visible-When Expression 。
此表达式测试应用程序上下文中的特殊键值对。这里的问题是每个视图都需要一个特殊的表达式。
解决这个问题的好方法是什么? 或者有没有办法参数化核心表达式? 我可以使用任何预定义的eclipse插件/命令/处理程序吗?
更新:相反,也可以使用Window&gt;在我的独立RCP应用程序中显示View结构 - 与Eclipse工作台中的完全相同。有没有办法使用任何预定义/可用的方法添加此菜单(条目)?
答案 0 :(得分:2)
我不确定这是否会对你有所帮助,因为它是eclipse 3.7代码,但你可以尝试一下。
我在 View 菜单中添加了动态菜单,如下所示:
<menu id="x.y.menu.views label="%menu.window.label">
<dynamic class="x.y.menu.ViewListMenuContribution" id="viewlist" />
</menu>
在那个课程中,我使用了一个eclipse菜单工厂来实际填充菜单:
@Override
public void fill(Menu menu, int index)
{
super.fill(menu, index);
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IContributionItem item = ContributionItemFactory.VIEWS_SHORTLIST.create(window);
if (item != null)
item.fill(menu, index);
}
这应该显示当前关闭的所有视图。
答案 1 :(得分:0)
目前无法做到这一点,除了自己跟踪部件并使用EPartService
重新打开部件