工具栏描述与Eclipse RCP中的代码之间的连接在哪里?

时间:2014-01-15 14:48:59

标签: java eclipse eclipse-rcp toolbar

我已按以下方式添加按钮:

<extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="menu:org.eclipse.ui.main.menu">
         <menu
               label="File">
            <command
                  commandId="org.eclipse.ui.file.exit"
                  label="Exit">
            </command>
         </menu>
      </menuContribution>
      <menuContribution
            allPopups="false"
            locationURI="toolbar:MYVIEWID">
         <command
               commandId="MYCOMMANDID"
               icon="icons/1389818330_Run.png"
               label="Run a bot"
               style="push">
         </command>
      </menuContribution>
   </extension>

结果,工具栏按钮出现在视图上,但它变暗并且什么都不做。

在哪里设置将在此按钮上执行的代码?

1 个答案:

答案 0 :(得分:2)

使用org.eclipse.ui.handlers扩展点为命令ID定义处理程序。

<extension
     point="org.eclipse.ui.handlers">
  <handler
        class="org.eclipse.ui.examples.contributions.handlers.GlobalMenuHandler"
        commandId="org.eclipse.ui.examples.contributions.commands.globalCommand">
  </handler>
</extension>

您还必须首先使用org.eclipse.ui.commands扩展点来定义命令ID。您可以在命令ID定义中指定默认处理程序:

<extension
     point="org.eclipse.ui.handlers">
  <command
        categoryId="org.eclipse.ui.examples.contributions.commands.category"
        defaultHandler="org.eclipse.ui.examples.contributions.handlers.GlobalMenuHandler"
        id="org.eclipse.ui.examples.contributions.commands.globalCommand"
        name="%contributions.commands.globalCommand.name">
  </command>
</extension>

(以上示例来自Eclipse帮助)。

命令也有this tutorial