【问题标题】:A handler for menu菜单处理程序
【发布时间】:2011-09-06 22:27:51
【问题描述】:

我在Eclipse RCP 应用程序中创建了菜单贡献作为扩展 (org.eclipse.ui.menus)。此菜单贡献的项目作为带有处理程序的命令进行。我希望这样的处理程序不仅适用于项目(命令),还适用于包含它们的项目的菜单(例如“文件”、“编辑”...)。

菜单可以在plugin.xml 中有一个字段“commandID”。我尝试使用扩展了 AbstractHandler 的处理程序创建具有此 ID 的命令,但它不起作用。

【问题讨论】:

    标签: eclipse-plugin eclipse-rcp


    【解决方案1】:

    菜单可以使用 commandId,以便显示快捷键。那部分只是显示方便。让菜单自动弹出在幕后仍有工作要做。

    查看命令org.eclipse.ui.navigate.showInQuickMenu是如何在org.eclipse.ui.ide插件中定义和使用的。

    org.eclipse.ui.internal.ide.WorkbenchActionBuilder中也有一些支持代码:

        String showInQuickMenuId = IWorkbenchCommandConstants.NAVIGATE_SHOW_IN_QUICK_MENU;
        showInQuickMenu = new QuickMenuAction(showInQuickMenuId) {
            protected void fillMenu(IMenuManager menu) {
                menu.add(ContributionItemFactory.VIEWS_SHOW_IN
                        .create(window));
            }
        };
        register(showInQuickMenu);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 2012-08-12
      • 2013-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多