我正在创建新的Eclipse RCP应用程序 . 我使用"Hello RCP"作为模板项目来创建一个新项目 . 它工作正常 . 然后我尝试添加新菜单 . 我使用了两个扩展点"org.eclipse.ui.commands"和"org.eclipse.ui.menu" . 我创建了处理程序类,还定义了menucontribution location uri() . 但我的菜单没有显示出来 . 我强烈怀疑我的位置是错误的 . 但我不知道如何纠正它 . 我在这里粘贴了我的plugin.xml内容 . 如果有人有解决方案,请告诉我 . 我按照这里给出的步骤http://zenit.senecac.on.ca/wiki/index.php/Add_Menu_to_RCP_Application
1 回答
您可以使用ApplicationActionbarAdvisor类来定义工具栏和菜单栏的菜单和命令 . 首先,您必须在应用程序中声明要添加的命令,如下所示:
private IWorkbenchAction newAction
然后在ActionFactory类的帮助下,你必须在makeActions()方法中定义命令,如下所示:
现在,在声明之后,您必须使用fillMenuBar(IMenuManager menuBar)方法在菜单中添加命令:
如果要在工具栏中添加此命令,则必须使用以下方法:
protected void fillCoolBar(ICoolBarManager coolBar) { IToolBarManager toolbar = new ToolBarManager(coolBar.getStyle()); coolBar.add(toolbar); toolbar.add(newAction);
有时,您必须使用IContributionIem类来声明命令,因为所有命令都不在IWorkbenchAction类中 .
注意:如果您使用的是iContributionItem类,则声明和定义代码将替换为以下内容:
IContributionItem show_view;
show_view = ContributionItemFactory.VIEWS_SHORTLIST.create(window);
和休息将是一样的 .