Pour les menus j'en ai qui sont associés à un éditeur. Pour cela je suis allée dans plugin.xml et dans les extensions j'ai rajouté org.eclipse.ui.editorsAction et j'ai défini mon menu dedans. J'ai également définie un action Delegate pour le menu qui implémente IEditorActionDelegate. La fonction
public void setActiveEditor(IAction action, IEditorPart targetEditor);
te permet de récupérer l'action et l'éditeur lié, après tu peux implémenter une fonction update par exemple dans laquelle tu définiras si l'action est activée ou pas.
Pour ce qui est des actions désactivées lorsque l'éditeur n'a pas le focus j'ai l'impression qu'il y a un traitement automatique mais je n'en suis pas sûre, en fait dans mon logiciel certains menus sont grisés mais pas tous et je n'ai pas le temps de chercher plus pour l'instant.
Partager