MenuManagerのサポート

ひさびさにS2JFaceです。

ここ何週間か、頭を悩ませていたメニューのサポートですが、id:dkameya さんに進めてもらっているSWT版のメニューとは別に、JFace が提供する MenuManager のサポートも考えてみました。

画面定義XMLでは、こんな感じで記述します。

<control type="menuManager">
  <item label="ファイル(&amp;F)">
    <item>openAction</item>
    <item>closeAction</item>
  </item>
  <item label="編集(&amp;E)">
    <item>copyAction</item>
    <item>cutAction</item>
    <item>pasteAction</item>
  </item>
</control>

item 要素の中に記述した openAction や closeAction は、Seasar に登録したコンポーネント名です。ここでは、JFace の流儀に則って IAction インターフェースの実装クラスに限定します。

POJO を利用する原則からは外れますが、そもそも IAction を利用しなければ JFace の MenuManager を利用する意味もあまりないので、ここは割り切ってしまうことにします。

もし、メニューから POJO を呼び出したい場合は現在 id:dkameya さんが作成している通常の(SWT版) menu コントロールを使ってもらいます。