6

1 つのメニュー項目でポップアップ メニューを作成しました。特定のクラス タイプのツリー項目を右クリックしたときにのみ有効にし、それ以外の場合は無効にしたいと考えています。

どうすればこれを達成できますか?

4

2 に答える 2

7

activeWhenを使用するハンドラーを追加し、それをそのメニューのコマンド ID に関連付けることができます。

以下は、現在の選択が空ではなく、選択がWidgetタイプのオブジェクトに適用できる項目である場合にのみ、コマンドをアクティブにするハンドラーです。

<extension point="org.eclipse.ui.handlers">
  <handler class="com.myproject.handlers.ExportWidgetHandler"
           commandId="com.myproject.commands.exportWidget">
     <activeWhen>
        <with variable="selection">
           <iterate ifEmpty="false" operator="and">
              <adapt type="com.myproject.objects.Widget"/>
           </iterate>
        </with>
     </activeWhen>
  </handler>
</extension>
于 2012-07-12T13:41:25.147 に答える