2010-02-11 14 views
1

Dans mon projet RCP actuel, j'utilise un MultipageEditorPart. Il a plusieurs pages, avec des composites SWT simples dessus. Les composites contiennent des éléments Text et Combo. Lorsque l'utilisateur clique droit sur la page de l'éditeur, je veux qu'un menu contextuel s'ouvre. Ce menu contient une commande pour créer une nouvelle page d'éditeur, avec un composite dessus.Eclipse 3.5: Implémentation de mon propre menu contextuel pour une MultiPageEditorPart -> aucune visionneuse impliquée

La commande fonctionne déjà, mais je ne comprends pas comment implémenter le menu contextuel de l'éditeur. Quelqu'un peut-il aider avec cela?

Répondre

2

Cela devrait reposer sur des contributions d'action: voir Contributing Actions to the Eclipse Workbench

À titre d'exemple à base de RCP, vous pouvez vérifier « Designing a Workflow Editor Eclipse XML », où un menu contextuel est ajouté à un EditorPart, inclus dans un MultipageEditorPart.

protected void createContextMenuFor(StructuredViewer viewer) { 
    MenuManager contextMenu = new MenuManager("#PopUp"); 
    contextMenu.add(new Separator("additions")); 
    contextMenu.setRemoveAllWhenShown(true); 
    contextMenu.addMenuListener(this); 
    Menu menu= contextMenu.createContextMenu(viewer.getControl()); 
    viewer.getControl().setMenu(menu); 
    getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer)); 

    } 

alt text

Voir aussi Step 18 pour étendre ce menu contextuel (section « Supprimer - Menu contextuel, ce qui nécessite l'aide du FEM).

+1

Merci pour vos efforts, mais je suis en train de ne pas utiliser Pour autant que je comprenne cela, le point d'extension "org.eclipse.ui.popupMenus" a été remplacé dans eclipse 3.3 par "org.eclipse.ui.menues" et dans votre exemple vous utilisez une visionneuse N'utilise pas Dois-je utiliser des visionneuses ou existe-t-il un autre moyen d'obtenir la commande? s dans le menu contextuel? Mais de toute façon merci de m'aider. :-) – Patrick

+0

@Patrick: c'est vrai, l'exemple est un peu vieux. Je vais regarder un peu plus dans ceci. – VonC