【问题标题】:Eclispe RCP SWT menus for Windows and Mac OS适用于 Windows 和 Macos 的 Eclipse RCP SWT 菜单
【发布时间】:2011-01-29 15:51:24
【问题描述】:

如何配置 Eclipse RCP 命令样式菜单以匹配 Windows 和 Mac OS 上的不同菜单结构?

Mac OS X 菜单示例 http://images.apple.com/macosx/refinements/images/services_menu_20090902.jpg

Windows 菜单示例 http://www.flamingpear.com/images/psp8menu.gif

在您看到的示例中,菜单结构的差异。例如,Mac 在其应用程序菜单中有首选项命令、关于命令和退出命令。这些通常在 Windows 下的文件菜单中,关于命令可以在帮助菜单中找到。是否有使用 RCP 程序执行此操作的“标准”方式?它应该以某种方式成为可能,因为 Eclipse 本身就是这样做的。但我不知道怎么做。

【问题讨论】:

    标签: java windows eclipse macos eclipse-rcp


    【解决方案1】:

    虽然我自己还没有完成,但应该可以使用依赖于操作系统的插件片段来完成该任务。我在 Eclipse Delta Pack 中看到了那些用于依赖于操作系统的 SWT 代码。

    1) 对于您要支持的每个操作系统,定义一个插件片段,由该操作系统命名。

    2) MANIFEST.MF 文件可以包含平台过滤器,正如 in an answer 对另一个问题的解释。通过将以下行之一添加到片段的 MANIFEST.MF 来设置 Eclipse-PlatformFilter:

    • Eclipse-PlatformFilter: (osgi.os=win32)
    • Eclipse-PlatformFilter:(osgi.os=macosx)

    或者对 org.osgi.framework.os.name 使用 OSGi 过滤器(在上面提到的答案中推荐),但我在 288 页规范中找不到如何声明该过滤器。

    3) 每个片段在其片段.xml 中包含该操作系统的菜单结构。原始插件的plugin.xml 只包含常用配置,如命令和处理程序。

    如果您知道菜单 ID,您可以将自己的菜单贡献添加到预定义菜单。请参阅 Menu Contributions 上的 Eclipse Wiki 和 org.eclipse.ui.menus 上的 Eclipse 帮助。

    【讨论】:

    • 好的,谢谢。但这给我留下了另外两个问题:1)我如何以及在哪里决定加载哪个片段? 2) 如何在 MAC OS 的应用程序菜单中获取菜单项? (问题仍然存在)
    猜你喜欢
    • 2018-07-15
    • 1970-01-01
    • 2023-03-17
    • 2011-04-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多