2016-11-17 3 views
0

Ich habe einen Befehl in die plugin.xml, die eine neue Menüschaltfläche hinzufügen wird. Diese Schaltfläche sollte nicht ständig sichtbar sein, daher möchte ich eine komplexe Bedingung aus Java-Code überprüfen, um zu entscheiden, wann sie sichtbar sein muss.RCP wibleablewenn programmatisch (Java)

Ich weiß, dass es eine sichtbare und eine versteckte Möglichkeit gibt, aber ich weiß nicht, wie eine Java-Klasse/Methode eine Entscheidung treffen kann.

+0

Ihren Code hier anzeigen –

+1

Ist dies ein 3.x Kompatibilitätsmodus RCP oder ein reines e4 RCP? –

Antwort

0

Für diese Prüfung wird der aktivierte Status des Befehls verwendet, der durch den Rückgabewert von IHandler.isEnabled() bestimmt wird.

In der plugin.xml muss der Beitrag des Befehls zum Menü das visibleWhen-Element und checkEnabled = "true" haben. In Eclipse kann man direkt den Befehl Beitrag klicken und sichtbar hinzufügen, wenn im plugin.xml sieht es dies wie:

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

So aktivieren/deaktivieren Sie den Befehl haben Sie die isEnabled() -Methode von org.eclipse zu implementieren .core.commands.IHandler (oder überschreiben von AbstractHandler) in Ihrem Befehlshandler und gibt false zurück, wenn der Menüeintrag ausgeblendet werden soll.

Verwandte Themen