Menü-Einträge aktiv bzw. inaktiv schalten

Goliath83

Grünschnabel
Hallo

Ich arbeite an einer RCP-Application die aus mehreren Plugins besteht. Jedes dieser Plugins bringt über den ExtensionPoint "org.eclipse.ui.actionSets" eigene Menüs incl. Menü-Einträgen mit.
Außerdem habe ich eine Methode, die überprüft, ob der angemeldete Benutzer eine bestimmte Aktion (Menü-Eintrag) ausführen darf und gibt dann "true" oder "false" zurück.

Wie ich schon gelesen habe, ist es möglich mit "setEnabled()" eine bestimmte Aktion aktiv bzw. inaktiv zu setzen. Das funktioniert aber erst, nachdem ich in meinem Menü einmal auf diese Aktion geklickt habe. Erst dann ist sie inaktiv. Und das ist blöd! :-)

Im Netz habe ich einen interessanten Artikel dazu gefunden, der beschreibt, wie man diese Situation mit Hilfe eines ActionDelegates umgeht. Nur leider funktioniert das bei mir nicht.
http://entwickler.de/zonen/portale/psecom,id,101,online,1427.html

Ich habe genau dieses Delegate als extra Klasse in mein Projekt eingefügt (nur die Rechteprüfung mach ich anders) und dann die konkrete Aktion davon erben lassen. Nun sollte die konkrete Aktion im Menü inaktiv sein. Sie ist aber immer noch aktiv und wird erst nach dem Anklicken inaktiv.

Was mach ich falsch?
Kann mir jemand evtl. eine andere Lösung für dieses Problem zeigen?


Vielen Dank
 
Zurück