2011-06-10 7 views
0

Je crée une nouvelle application Eclipse RCP. J'ai utilisé "Hello RCP" comme projet de modèle pour créer un nouveau projet. Ça fonctionne bien. Puis j'ai essayé d'ajouter un nouveau menu. J'ai utilisé deux points d'extension "org.eclipse.ui.commands" et "org.eclipse.ui.menu". J'ai créé la classe handler et j'ai également défini l'emplacement de la menucontribution uri(). Mais mon menu ne s'affiche pas. Je soupçonne fortement que mon emplacement est erroné. Mais je ne sais pas comment le corriger. J'ai collé mon contenu de plugin.xml ici. Faites-moi savoir si quelqu'un a une solution. Je suis les étapes indiquées ici http://zenit.senecac.on.ca/wiki/index.php/Add_Menu_to_RCP_ApplicationPlugin Eclipse RCP question

+0

Désolé je ne pouvais pas coller tout mon fichier plugin.xml – user131476

+0

S'il vous plaît modifier votre question et collez votre plugin.xml . – Sandman

Répondre

0

Vous pouvez utiliser ApplicationActionbarAdvisor classe pour définir les menus et les commandes de la barre d'outils ainsi que la barre de menus. Tout d'abord vous devez déclarer les commandes que vous voulez ajouter dans votre application comme ci-dessous:

private IWorkbenchAction newAction

Puis, avec l'aide de la classe ActionFactory, vous devez définir les commandes dans la méthode makeActions() comme ci-dessous:

newAction = ActionFactory.NEW_WIZARD_DROP_DOWN.create(window); 
    register(newAction); 
    newAction.setText("New"); 

maintenant, après la déclaration que vous devez ajouter les commandes dans les menus en utilisant la méthode fillMenuBar (IMenuManager menuBar):

MenuManager filemenu = new MenuManager("&File", "file"); 
    filemenu.add(newAction); 

et si vous voulez ajouter cette commande dans la barre d'outils, vous devez utiliser la méthode suivante:

protected void fillCoolBar(ICoolBarManager coolBar) { IToolBarManager toolbar = new ToolBarManager(coolBar.getStyle()); coolBar.add(toolbar); toolbar.add(newAction);

Parfois, vous devez utiliser la classe IContributionIem pour déclarer des commandes parce que toutes les commandes ne sont pas en classe IWorkbenchAction .

Remarque: Si vous utilisez la classe iContributionItem puis déclaration et code defination seront remplacés follws:

IContributionItem show_view;

show_view = ContributionItemFactory.VIEWS_SHORTLIST.create(window);

et le repos sera le même.

+0

Je n'ai pas exploré cette façon d'ajouter un menu. Je l'ai fait seulement via plugin.xml. Je vais vérifier ça. Merci – user131476