Bonjour,

Grace à une (vieille) discussion précédente, j'ai pu brancher et activer l'Action d'Id "fr.artics.base.switchWorkspace"
dans mon application Ide Eclipse 3.1 (rcp Equinox)

Je tente maintenant de la brancher dans les menus comme dans l'Eclipse officiel.
Le mieux que j'arrive à faire c'est une seule entrée de menu 'Switch Workspace', en
contribution de mon menu File, qui ouvre le dialog de choix du workspace.

Mais je veux aussi ma MRU list.

Je précise que dans mon application, les données persistentes sont bien sauvegardée et retrouvées dans la combo du dialog.
Je crée bien l'action dans mon ApplicationActionBarAdvisor

Mon extension ressemble à ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<extension
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="false"
            locationURI="menu:org.eclipse.ui.main.menu">
         <menu
               id="fr.chezMoi.base.menus.file"
               label="File">
            <command
                  commandId="org.eclipse.ui.file.refresh"
                  style="push">
            </command>
           ..............................
            <command
                  commandId="org.eclipse.ui.file.openWorkspace"
                  style="pulldown">
            </command>
EDIT: j'ai aussi ceci plus haut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
   <extension
         point="org.eclipse.ui.commands">
      <command
            id="org.eclipse.ui.file.openWorkspace"
            name="Switch Workspace">
      </command>

Je sens, en lisant org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction
Que l'action fourni un drop-down sensé
- remplir sa liste MRU avec les commandes pour accéder directement aux derniers connus.
- le separateur si besoin
- l'entrée de menu 'Other' pour le dialog

Mais comment brancher bien ça ?

J'ai tenté avec un menu, une entrée dynamic... (et aussi un peu n'importe quoi). en insistant quelques jours
mais faut-il créer sa propre classe ou utiliser OpenWorkspaceAction$WorkspaceMRUAction / OpenWorkspaceAction$WorkspaceMRUAction, mais comment ?
ou alors un paramètre à la commande, mais quoi et selon quelle syntaxe ?

Quelqu'un aurait une piste ?

merci,
F.