我正在创建新的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
答案 0 :(得分:0)
您可以使用ApplicationActionbarAdvisor类来定义工具栏和菜单栏的菜单和命令。 首先,您必须在应用程序中声明要添加的命令,如下所示:
private IWorkbenchAction newAction
然后在ActionFactory类的帮助下,你必须在makeActions()方法中定义命令,如下所示:
newAction = ActionFactory.NEW_WIZARD_DROP_DOWN.create(window);
register(newAction);
newAction.setText("New");
现在,声明后你必须使用fillMenuBar(IMenuManager menuBar)方法在菜单中添加命令:
MenuManager filemenu = new MenuManager("&File", "file");
filemenu.add(newAction);
如果要在工具栏中添加此命令,则必须使用以下方法:
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);
和休息将是一样的。