2016-11-17 8 views
0

新しいメニューボタンを追加するplugin.xmlにコマンドがあります。このボタンは常に表示されるべきではないので、Javaコードから複雑な条件をチェックして、いつ表示する必要があるかを判断したいと思います。RCP wisiblewhen programatically(Java)

私はvisiblewhenとhidewhenの可能性があることを知っていますが、私はどのようにJavaクラス/メソッドが決定を下すことができるのか分かりません。

+0

ここにコードを表示 –

+1

これは3.x互換モードのRCPまたは純粋なe4 RCPですか? –

答えて

0

このチェックでは、IHandler.isEnabled()の戻り値によって決まるコマンドの有効な状態が使用されます。

plugin.xmlには、メニューへのコマンドの投稿にvisibleWhen要素とcheckEnabled = "true"を設定する必要があります。 Eclipseでは、あなたは、右のコマンドの貢献をクリックして、plugin.xmlの中で、それはこのようになりますと、目に見える追加することができます:あなたはorg.eclipseからISENABLED()メソッドを実装する必要があり、コマンドを無効/有効にするには

 <command 
      commandId="..."> 
     <visibleWhen 
       checkEnabled="true"> 
     </visibleWhen> 
    </command> 

.core.commands.IHandler(またはAbstractHandlerからオーバーライド)をコマンドハンドラに追加し、メニューエントリを非表示にする必要がある場合はfalseを返します。