单击命令图标后如何显示命令的下拉菜单?

bac*_*cza 5 java eclipse eclipse-plugin eclipse-rcp

在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>
Run Code Online (Sandbox Code Playgroud)

然后,我有几个其他命令贡献到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>
Run Code Online (Sandbox Code Playgroud)

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

问题:

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

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

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

在此先感谢您的帮助!

bac*_*cza 3

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

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