2016-04-17 12 views
0

Mac OSのRCPアプリケーションが「バージョン情報」と「環境設定」の操作でどのように動作するかを把握するのには苦労しています。 ActionFactoryでそれらを作成し、関連するファイルメニューに配置します。どこでもうまく動作します。しかし、Mac OSでは、これらのアクションは、他の人に良いアクションを与える場所をよく知っている何かによってアプリケーションメニューに配置されます。しかし、もちろん彼らは動作しません..何か考えている理由は?Mac OSのRCPアプリケーションメニュー

(ターゲットプラットフォーム3.7日食、OSX - 最新のエル・キャピタン)3.xスタイルのアクションバーの顧問のために

答えて

1

通常の場所にメニュー項目を追加しますがActionContributionItemを使用し、目に見えないことでメニュー項目を設定しますMac上:だからのようなもの終了のため

IWorkbenchAction quitAction = ActionFactory.QUIT.create(window); 
register(quitAction); 

ActionContributionItem quitItem = new ActionContributionItem(quitAction); 
quitItem.setVisible(!Util.isMac()); 
menu.add(quitItem); 
「約」

と「環境設定」をも、このように指定することができます。

Utilは、org.eclipse.jface.util.Utilです。

Eclipseはこれらのアイテムを見つけ、それらを正しい場所に移動します。

+0

ありがとうございましたが、それは私のために働いていませんでした。AboutとPreferencesアクションはアプリケーションメニューで応答していません(メニューにも表示されません)。 Quitアクションが実際にうまく動作し、ActionContributionItemを使用しなかったという記述があります。キーボードショートカットとマウスクリックで終了します。しかしAboutやPrefsには何か問題があります。 – Dima

+0

私が示したのは、Eclipseソースからの実際のコードです。 –

+0

別の時点でこれを行う必要があるかもしれませんか?私はApplicationActionBarAdvisor.fillMenuBarが起動時に呼び出されるときにこれをやります。この「正しい場所への移動」がいつ実際に起こっているかご存知ですか?実際の情報源を教えていただけますか? – Dima