4

在 Eclipse 中,我为它们拥有的主按钮工具栏中的按钮定义了命令。我有一个设置为下拉按钮的命令/按钮,我想以编程方式为其添加选项。有点像在 Eclipse 中点击播放按钮上的小下拉按钮并查看不同的运行场景。我希望能够将这样的选项添加到我的下拉菜单中。我不能通过插件编辑器来完成,因为我需要动态生成菜单选项。

所以说我在我的 plugin.xml 文件中定义了以下下拉按钮。如何以编程方式向下拉菜单添加选项?

 <menuContribution
        allPopups="false"
        locationURI="toolbar:org.eclipse.ui.main.toolbar">
     <toolbar
           id="com.company.gui.base.toolBarMain">
        <command
              commandId="com.company.gui.base.command1"
              icon="icons/magnifier.png"
              id="com.company.gui.base.toolBarMain.monitor"
              label="Im a pulldown menu"
              style="pulldown">
        </command>
     </toolbar>
  </menuContribution>
4

1 回答 1

7

请找到以下代码。

private void addContextMenu(SampleContributionFactory fac) {
     final IMenuService menuService = (IMenuService) PlatformUI.getWorkbench().getService (IMenuService.class);
     menuService.addContributionFactory(fac);
}

class SampleContributionFactory extends AbstractContributionFactory{

    SampleContributionFactory(final String menuID) {
        super("menu:" + menuID, null);
    }

    @Override
    public void createContributionItems(IServiceLocator serviceLocator,
            IContributionRoot additions) {      
        // add Command Contribution item
        additions.addContributionItem(<YOUR CONTRIBUTION ITEM>, null);
    // add one more Command Contribution item
    ....
    } 
}

现在创建一个 SampleContributionFactory 对象,如下所示。

  SampleContributionFactory fac = new SampleContributionFactory ("com.company.gui.base.toolBarMain.monitor");

并调用方法

addContextMenu(fac);

TODO :根据您的要求在 SampleContributionFactory 中添加命令贡献项。

于 2012-12-13T06:15:11.833 回答