5

在 Eclipse RCP 应用程序中,我有一个自定义视图和一个下拉命令贡献到该视图的工具栏:

  <menuContribution
        allPopups="false"
        locationURI="toolbar:test.ui.views.MyView">
     <command
           commandId="test.ui.commands.Command1"
           icon="icons/Command1.png"
           id="test.ui.commands.Command1.dropdown"
           label="Command 1"
           style="pulldown">
     </command>
  </menuContribution>

然后,我在 Command1 下拉菜单中添加了一些其他命令,如下所示:

  <menuContribution
        allPopups="false"
        locationURI="menu:test.ui.commands.Command1.dropdown">
     <command
           commandId="test.ui.commands.Command2"
           label="Command 2"
           style="push">
     </command>
     <command
           commandId="test.ui.commands.Command3"
           label="Command 3"
           style="push">
     </command>
  </menuContribution>

到目前为止一切正常,我可以在视图的工具栏上看到 Command1 图标,当我单击它旁边的下拉符号时,菜单会显示 Command2 和 Command3 命令 - 正如预期的那样。

问题:

我现在想要实现的是不仅在用户单击 Command1 图标旁边的下拉符号之后,而且在用户单击 Command1 图标本身之后显示下拉菜单。

(例如,这是 Open Console 命令在 Eclipse 中控制台视图的工具栏中的工作方式)

我想我需要从 Command1 处理程序中以编程方式触发显示 Command1 下拉菜单,但我找不到任何有关如何执行此操作的示例。

提前感谢您的帮助!

4

1 回答 1

3

我刚刚在 Eclipse RCP 论坛上问了同样的问题并立即得到了答案。诀窍是触发一个将触发菜单显示的假事件,以下是详细信息:

http://www.eclipse.org/forums/index.php/t/488692/

于 2013-06-11T21:38:09.387 回答