gpt4 book ai didi

java - 适用于 Windows 和 Macos 的 Eclipse RCP SWT 菜单

转载 作者:可可西里 更新时间:2023-11-01 10:40:32 30 4
gpt4 key购买 nike

如何配置 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 本身就是这样做的。但我想不通。

最佳答案

虽然我自己还没有完成,但应该可以使用依赖于操作系统的插件片段来完成该任务。我在 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) 每个片段都在其 fragment.xml 中包含该操作系统的菜单结构。原始插件的 plugin.xml 仅包含通用配置,如命令和处理程序。

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

关于java - 适用于 Windows 和 Macos 的 Eclipse RCP SWT 菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2480760/

30 4 0