IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Java Discussion :

Ajout d'un menu contextuel sous Eclipse


Sujet :

Eclipse Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut Ajout d'un menu contextuel sous Eclipse
    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 :

    Code xml : 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
    18
    19
    20
    21
    22
    23
    	<extension
        	point="org.eclipse.ui.popupMenus">
    		<objectContribution
        		objectClass="org.eclipse.core.resources.IFile"
         		nameFilter="plugin.xml"
    		    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

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    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)

  2. #2
    Membre éclairé Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Par défaut
    Ce que tu as fait ici est une action sur clic sur un fichier nommé plugin.xml (nameFilter="plugin.xml") : clic droit sur ce fichier, selection de New Submenu et New Action => affichage d'une fenetre de dialogue.

    Que veux-tu dire par :
    Mais je ne sais pas comment le faire apparaître dans ma vue (d'ailleurs, cela n'apparait nulle part).

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut
    Ah oui, oula, je n'avais pas vu que j'avais laissé ça.

    Ce que je veux, c'est que mon menu fonctionne dnas une vue particulière que j'ai créée.

    ( Classe : ...script.SampleViewCreateScript.java )

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut
    Voilà, maintenant je sais comment faire pour rajouter une pop-up dans une vue :

    Dans le fichier plugin.xml, il faut rajouter ceci :

    Code xml : 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
    18
    19
    20
    21
    22
    <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 (et à appeler dans CreatePartControl) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    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 à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/02/2010, 17h15
  2. Ajout dans le menu contextuel : positionnement
    Par snyouf dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 10/04/2008, 15h10
  3. Menu contextuel sous ART 2000
    Par Invité dans le forum Runtime
    Réponses: 1
    Dernier message: 24/01/2008, 13h38
  4. position menu contextuel sous ie et firefox
    Par lodan dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 21/05/2007, 22h43
  5. Réponses: 8
    Dernier message: 16/03/2006, 07h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo