4

Eclipseでは、メインボタンツールバーのボタンにコマンドを定義しています。プルダウンボタンとして設定されているコマンド/ボタンが1つあり、プログラムでオプションを追加したいと思います。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 に答える