Salut à tous,

J'ai un toggle bouton dans mon application RCP (au niveau des menus d'icones en haut) qui doit etre check ou pas selon l'editor ouvert.

En gros, si l'utilisateur ouvre 2 editors en meme temps, il faut que le bouton en question puisse etre activé dans l'un et pas dans l'autre. Lorsque l'utilisateur change de fichier, avec les onglets, cette icone doit apparaitre "poussé" ou pas de facon automatique.

J'ai suivi ce tutoriel, je suis pas certaine que ca va me mener ou je veux: http://eclipsesource.com/blogs/2009/...-contribution/.

J'ai ajouté dans mon plugin.xml:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<command
            id="fr.eldoon.gui.commands.Picking"
            name="Picking">
         <state
               class="org.eclipse.ui.handlers.RegistryToggleState"
               id="fr.eldoon.gui.commands.PickingState">
         </state>
      </command>
et dans ma commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
ICommandService service =
            (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class);
        Command command = service.getCommand("fr.eldoon.gui.commands.Picking");
        State state = command.getState("fr.eldoon.gui.commands.PickingState");
        state.setValue(true);
La, dans mon esprit, ca aurait du afficher un toggle button toujours checked. Mais rien ne se fait graphiquement, il y a juste ma variable state qui se met effectivement à "true".

Dans la suite du tutoriel, je comprend pas trop ce que je dois mettre en entrée de cette fonction?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
public void updateElement(UIElement element, Map paramters) {
  element.setChecked(isSelected);
}
Est ce que je suis sur la bonne voie avec ce tutoriel?


Que pensez vous qu'il faut faire avec ce updateElement?


Merci d'avance

Edit: J'ai deja une variable qui me renvoie "true" ou "false" selon l'editor ouvert, ce que je veux c'est simplement l'affichage de cet état graphique dans l'icone concerné dans la barre des menus.