以编程方式在eclipse中向下拉按钮添加选项

时间:2012-12-12 14:27:56

标签: java eclipse eclipse-plugin eclipse-rcp

在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>

1 个答案:

答案 0 :(得分:6)

请找到以下代码。

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中添加命令贡献项。