Eclipse插件RCP问题

时间:2011-06-10 17:49:27

标签: eclipse-rcp

我正在创建新的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 个答案:

答案 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);

和休息将是一样的。