Rechercher : dans
Par :

Ajout d'un menu contextuel sous eclipse

Dernière réponse le 24 mai 2007 à 09:18:23 Fayros, le 3 mai 2007 à 16:00:58 
 Signaler ce message aux modérateurs

Bonjour. Je cherche à rajouter un menu contextuel dans une vue que j'ai créée.

Pour cela, je me suis servi de l'assistant qui m'a rajouté ceci :

<extension
    	point="org.eclipse.ui.popupMenus">
		<objectContribution
    		objectClass="org.eclipse.core.resources.IFile"
		    id="popup.contribution1">
    		<menu
        		label="New Submenu"
	        	path="additions"
	    	    id="popup.menu1">
    	    	<separator
    		        name="group1">
	        	</separator>
	        </menu>
    	    <action
        		label="New Action"
            	class="popup.actions.NewAction"
	            menubarPath="popup.menu1/group1"
    	        enablesFor="1"
        	    id="popup.newAction">
	        </action>
		</objectContribution>
	</extension>


et la classe NewAction

package popup.actions;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;

public class NewAction implements IObjectActionDelegate {

	/**
	 * Constructor for Action1.
	 */
	public NewAction() {
		super();
	}

	/**
	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
	 */
	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
	}

	/**
	 * @see IActionDelegate#run(IAction)
	 */
	public void run(IAction action) {
		Shell shell = new Shell();
		MessageDialog.openInformation(
			shell,
			"Test_popup Plug-in",
			"New Action was executed.");
	}

	/**
	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
	 */
	public void selectionChanged(IAction action, ISelection selection) {
	}

}


Mais je ne sais pas comment le faire apparaître dans ma vue (d'ailleurs, cela n'apparait nulle part).

Si quelqu'un sait comment faire, je l'en remercie :)

(Au passage : je suis sous Eclipse version 3.2.0)
Configuration: Linux Mandriva
Firefox 1.5.0.10

Meilleures réponses pour « Ajout d'un menu contextuel sous eclipse » dans :
Windows 7: Options cachées du menu contextuel Voir Comme pour Vista, des options cachées du menu contextuel sont disponibles par les touches "Maj + clic-droit", sous Windows 7 Exemple, sur le Bureau, "clic-droit": Sur le bureau "Maj + clic-droit": Dans l'explorateur, lorsque on...
Ajouter un raccourci dans le menu contextuel du poste de travail VoirQui n'a jamais rêvé de pouvoir avoir accès en un seul clic à certaines commandes enfouies dans les menus déroulants du système ? Problématique Imaginons que nous voulions aller dans la fenêtre de gestion de l'ordinateur. 2...
Editer le menu contextuel de Nautilus (navigateur de fichiers) VoirIl est facile d'ajouter des éléments dans le menu clic-droit de Nautilus (l'explorateur de fichiers d'Ubuntu). Il existe deux méthodes: avec nautilus-action avec nautilus-scripts Chacun a ses avantages: Les plus de nautilus...
Remettre l'action Ouvrir par défaut VoirDans certains cas ou mauvaises manips de votre part , vous pouvez avoir votre action (par défaut "Ouvrir") du menu contextuel qui a changé et se voit attribuer l'action "Rechercher" par exemple. Je vous propose donc de faire cette...
Télécharger Menu Editor VoirMenu Editor est une extension de Firefox qui permet de définir les éléments du menu contextuel : Activer/Désactiver des entrées dans le menu ; Positionner les éléments dans le menu. Regardez ici pour plus d'informations : Personnaliser les...

1

 Fayros, le 24 mai 2007 à 09:18:23
  • +1

Pour ceux que ça intéresserait :

Faire fonctionner un menu contextuel dans une vue :

dans le plugin.xml, rajouter ceci :

	<extension
    	point="org.eclipse.ui.popupMenus">
		<viewerContribution
        	id="<id du popup>"
	        targetID="<id de la vue ciblée>">
    		<menu
        		label="New Submenu"
	        	path="additions"
	    	    id="popup.menu1">
    	    	<separator
    		        name="group1">
	        	</separator>
	        </menu>
    	    <action
        		label="New Action"
            	class="<Action à exécuter>"
	            menubarPath="popup.menu1/group1"
    	        enablesFor="1"
        	    id="popup.newAction">
	        </action>
       </viewerContribution>
	</extension>


Et dans la vue elle-même :

   private void hookContextMenu() {
		MenuManager menuMgr = new MenuManager("#PopupMenu");
		menuMgr.setRemoveAllWhenShown(true);
		Menu menu = menuMgr.createContextMenu(<Your Viewer>.getControl());
		<Your Viewer>.getControl().setMenu(menu);
		getSite().registerContextMenu(menuMgr, <Your Viewer>);
	}

Répondre à Fayros
Collection CommentÇaMarche.net