Je souhaite pouvoir supprimer complètement les éléments de menu au démarrage de mon application plugin eclipse. Ce que je veux faire, c'est pouvoir ajouter ces éléments de menu plus tard en fonction de la logique métier basée sur les actions de l'utilisateur. Y a-t-il un moyen de faire cela? J'ai regardé en utilisant des contributions, mais j'ai l'impression que ce ne sera pas exactement ce que je veux. Si peut faire ce que j'ai besoin de faire, comment puis-je les utiliser? Merci d'avance pour toute aide.Modifier les éléments de menu par programme depuis le plugin Eclipse
Répondre
Vous pouvez obtenir le Menu à partir du MenuManager, puis modifier les contributions. Cet extrait montre comment accéder au gestionnaire de menu et supprimer un élément nommé.
Vous devrez garder une trace des éléments supprimés et des indices d'élément pour les restaurer. Le seul problème est que la méthode indexOf n'est pas visible. Ajouter cet extrait à un type dans le même paquet que MenuManager et l'ajouter à un fragment est un moyen de contourner cela.
IWorkbenchWindow window = Workbench.getInstance().getActiveWorkbenchWindow()
if(window instanceof WorkbenchWindow) {
MenuManager menuManager = ((WorkbenchWindow)window).getMenuManager();
//TODO you may need to remove items from the coolbar as well
ICoolBarManager coolBarManager = null;
if(((WorkbenchWindow) window).getCoolBarVisible()) {
coolBarManager = ((WorkbenchWindow)window).getCoolBarManager2();
}
Menu menu = menuManager.getMenu();
//you'll need to find the id for the item
String itemId = "menuId";
IContributionItem item = menuManager.find(itemId);
// remember position, TODO this is protected
int controlIdx = menu.indexOf(mySaveAction.getId());
if (item != null) {
// clean old one
menuManager.remove(item);
// refresh menu gui
menuManager.update();
}
}
Il existe un certain nombre de façons de contrôler la visibilité des éléments de menu ou de barre d'outils dans une application RCP.
Si vous contrôlez le plug-in qui fournit le (s) élément (s) en question, la manière la plus simple consiste généralement à utiliser l'expression visibleWhen
associée au point d'extension menus
. Si vous avez un état interne que vous souhaitez vérifier, vous pouvez utiliser l'élément test
de l'expression avec un propertyTester
.
Une alternative consiste à utiliser des activités. Ceux-ci peuvent contrôler beaucoup d'autres choses de votre application, vous penserez peut-être devoir ré-implémenter certaines des boîtes de dialogue intégrées. Voir cette entrée de blog "Using activities for user management" pour plus de détails.
- 1. Plugin Eclipse - Extension de menu contextuel
- 2. API pour éditer web.xml depuis le plugin Eclipse?
- 3. Comment ajouter des éléments à un menu par programme?
- 4. Sharepoint Masquer les éléments dans le menu
- 5. Afficher le menu par programme dans WPF
- 6. Pouvons-nous modifier les claviers par programme?
- 7. Modifier le clavier par programme en Dvorak
- 8. Comment modifier par programme le nom ou l'icône de la vue Eclipse?
- 9. puis-je examiner par programme et modifier les gestionnaires d'événements Javascript sur les éléments html?
- 10. Modifier le code de formulaire Outlook par programme
- 11. Comment modifier par programme les options dans Access?
- 12. Est-il possible de modifier l'index des éléments de menu dans un menu SharePoint?
- 13. Le mode hébergé par GWT ne fonctionne pas avec le plugin Spring + Eclipse + GWT Eclipse
- 14. Eclipse plugin
- 15. Modifier par programme les formules de rapport de cristal
- 16. Exécution d'un plugin Eclipse
- 17. Comment modifier par programme le mot de passe Active Directory
- 18. Modifier le point de terminaison ReaderQuotas par programme
- 19. Eclipse Plugin Dev: Comment utiliser les nouveaux habillages de texte enrichi (depuis 3.4)
- 20. Menu de démarrage Eclipse
- 21. Modifier la résolution de l'écran par programme?
- 22. éléments de menu pulsés
- 23. C# Comment modifier le périphérique de lecture par programme
- 24. Correction de la disparition de LaunchShortcut dans le plugin Eclipse
- 25. Générer par programme un projet Eclipse
- 26. Comment remplacer par programme les éléments UIToolBar intégrés IB
- 27. Comment exécuter des configurations de lancement Eclipse par programme?
- 28. Problème avec le plugin Eclipse dans Ubuntu
- 29. Modifier l'utilisateur du service Windows par programme
- 30. Problème avec le plugin TeamCity dans Eclipse
Je me demandais, est-ce possible pour les applications basées sur IDE également? Par exemple, pour supprimer certains menus d'Eclipse comme 'Project '. – nbz