簡體   English   中英

適用於Windows和Mac OS的Eclispe RCP SWT菜單

[英]Eclispe RCP SWT menus for Windows and Mac OS

如何配置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下的文件菜單中,而about命令位於幫助菜單中。 是否有使用RCP程序的“標准”方法? 因為Eclipse本身做到了,所以它應該有某種可能性。 但是我不知道怎么做。

盡管我自己還沒有做過,但是應該可以使用依賴於OS的插件片段來完成該任務。 我已經在Eclipse Delta Pack中看到了那些用於與OS相關的SWT代碼的代碼。

1)對於要支持的每個操作系統,定義一個由該操作系統命名的插件片段。

2)MANIFEST.MF文件可以包含平台的篩選器,如對另一個問題的回答中所述。 通過將以下行之一添加到片段的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,則可以將自己的菜單內容添加到預定義菜單中。 請參閱菜單貢獻中的Eclipse Wiki和org.eclipse.ui.menus的Eclipse幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM