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 Platform Discussion :

Ajouter une bouton à la toolbar debug


Sujet :

Eclipse Platform

  1. #1
    Membre habitué Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Points : 193
    Points
    193
    Par défaut Ajouter une bouton à la toolbar debug
    Bonjour,

    Je développe des plugins que j'installe à un Eclipse CDT pour faire du dévelopemment d'appli C
    Je voudrais ajouter un bouton à la barre debug.
    Pour cela je me suis inspire du bouton "Resume" ! J'ai fait tout pareil en changeant seulement les id et les noms mais pour le moment mon bouton devrait avoir le même comportement que le bouton Resume.
    Sauf que non !
    Non seulement, il est par défaut "enabled" alors qu'aucun debug n'est lance mais en plus je le vois aussi dans les autres perspectives !

    J'en perds mon latin !!!

    Voici le code :
    Du plugin.xml:
    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
     
    // L'actionSets
    <extension
             point="org.eclipse.ui.actionSets">
          <actionSet
                id="blabla.debug.reset.actionset"
                label="Reset"
                visible="true">
             <action
                   class="blabla.debug.actions.ResetCommandActionDelegate"
                   definitionId="blabla.debug.commands.Reset"
                   disabledIcon="icons/unselected_restart.gif"
                   hoverIcon="icons/selected_restart.gif"
                   icon="icons/selected_restart.gif"
                   id="blabla.debug.action.reset"
                   label="Reset"
                   menubarPath="org.eclipse.ui.run/stepGroup"
                   toolbarPath="org.eclipse.debug.ui.main.toolbar/additions"
                   tooltip="Reset the chip to restart the process">
             </action>
          </actionSet>
       </extension>
    // La command
    <command
                categoryId="org.eclipse.debug.ui.category.run"
                defaultHandler="blabla.debug.commands.ResetHandler"
                description="Reset the chip to restart the process"
                id="blabla.debug.commands.Reset"
                name="Reset">
          </command>
    Des sources associées:
    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
     
    package blabla.debug.commands;
     
    import org.eclipse.debug.core.commands.IRestartHandler;
    import org.eclipse.debug.core.commands.IResumeHandler;
    import org.eclipse.debug.ui.actions.DebugCommandHandler;
     
     
     
    public class ResetHandler extends DebugCommandHandler {
     
    	 @Override
    		protected Class<IResumeHandler> getCommandType() {
    	        return IResumeHandler.class;
    	    }
     
    }
    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
    43
    44
    45
    46
    47
     
    package blabla.debug.actions;
     
    import org.eclipse.debug.ui.actions.DebugCommandAction;
    import org.eclipse.jface.action.IAction;
    import org.eclipse.jface.viewers.ISelection;
    import org.eclipse.swt.widgets.Event;
    import org.eclipse.ui.IActionDelegate2;
    import org.eclipse.ui.IWorkbenchWindow;
    import org.eclipse.ui.IWorkbenchWindowActionDelegate;
     
    public class ResetCommandActionDelegate implements IWorkbenchWindowActionDelegate, IActionDelegate2 {
     
     
    	private DebugCommandActionfDebugAction = new ResetCommandAction();
     
        @Override
    	public void dispose() {
            fDebugAction.dispose();
        }
     
        @Override
    	public void init(IWorkbenchWindow window) {
            fDebugAction.init(window);
        }
     
        @Override
    	public void run(IAction action) {
            fDebugAction.run();
        }
     
        @Override
    	public void selectionChanged(IAction action, ISelection selection) {
            // do nothing
        }
     
        @Override
    	public void init(IAction action) {
            fDebugAction.setActionProxy(action);
     
        }
     
        @Override
    	public void runWithEvent(IAction action, Event event) {
            run(action);
        }
    }
    Le code de la classe ResetCommandAction:
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    package blabla.debug.actions;
     
    import org.eclipse.debug.core.commands.IRestartHandler;
    import org.eclipse.debug.core.commands.IResumeHandler;
    import org.eclipse.debug.internal.ui.DebugPluginImages;
    import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
    import org.eclipse.debug.internal.ui.actions.ActionMessages;
    import org.eclipse.debug.ui.actions.DebugCommandAction;
    import org.eclipse.jface.resource.ImageDescriptor;
    import org.eclipse.ui.plugin.AbstractUIPlugin;
     
    import blabla.debug.MCUDebugPlugin;
     
    public class ResetCommandAction extends DebugCommandAction {
     
     
    	public ResetCommandAction() {
    		setActionDefinitionId("org.eclipse.debug.ui.commands.Resume"); //$NON-NLS-1$
    	}
     
        @Override
    	public String getText() {
            return ActionMessages.ResumeAction_0;
        }
     
        @Override
    	public String getHelpContextId() {
            return "org.eclipse.debug.ui.resume_action_context"; //$NON-NLS-1$
        }
     
        @Override
    	public String getId() {
            return "org.eclipse.debug.ui.debugview.toolbar.resume"; //$NON-NLS-1$
        }
     
        @Override
    	public String getToolTipText() {
            return ActionMessages.ResumeAction_3;
        }
     
        @Override
    	public ImageDescriptor getDisabledImageDescriptor() {
            return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_RESUME);
        }
     
        @Override
    	public ImageDescriptor getHoverImageDescriptor() {
            return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_RESUME);
        }
     
        @Override
    	public ImageDescriptor getImageDescriptor() {
            return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_RESUME);
        }
     
    	@Override
    	protected Class<IResumeHandler> getCommandType() {
    		return IResumeHandler.class;
    	}
     
    }
    Voilà si vous voyez quelque chose de louche ou si vous avez un tuyau ... je suis preneuse !
    Merci

    Chris

  2. #2
    Membre habitué Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Points : 193
    Points
    193
    Par défaut
    j'avance un peu ...

    Je ne passe pas dans l'init de la class ResetCommandActionDelegate à l'ouverture de la perspective, alors que je passe dans celui du ResumeCommandActionDelegate.

    Mon action n'est donc pas enregistrée ... comme si elle n'existait pas

    ça m'aide pas beaucoup mais peut-être que vous oui ...

  3. #3
    Membre habitué Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Points : 193
    Points
    193
    Par défaut
    Jonah Graham (cdt-dev) m'a beaucoup aide !!! jusqu'à me porter sur kepler un exemple qui existe sur mars (org.eclipse.cdt.examples.dsf.gdb)
    Quelle gentillesse !!!
    Donc si ça peut aider quelqu'un :
    ---------------------
    I have backported the example plug-in to Kepler/CDT 8.3.

    You can get the branch from
    https://github.com/jonahkichwacoders...kepler_cdt_8_3

    To use the branch, I recommend:
    1) In a new workspace (I used Eclipse Committers Mars.1 as my dev
    environment)
    2) Import only the dsf-gdb/org.eclipse.cdt.examples.dsf.gdb project
    3) Set the target platform to cdt-8.3-kepler.target
    4) Launch target Eclipse
    5) Create and debug a project

    By default, you won't get the extended GDB launch options (i.e. the new button enabled). To get that, edit the launch configuration and set the launcher to use (click "Select other..." and choose the "Example GDB Extended Launch Delegate Launcher"). See attached screenshot.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter un bouton à la ToolBar Eclipse
    Par PokeGlanD dans le forum Eclipse Platform
    Réponses: 9
    Dernier message: 01/12/2011, 15h50
  2. Ajouter une bouton qui va appeler une macro
    Par funkykid dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/05/2008, 11h12
  3. [Office 2003] Ajouter une bouton pointant vers un programme externe
    Par KalHadj-Nikov dans le forum Microsoft Office
    Réponses: 5
    Dernier message: 04/10/2006, 16h10
  4. Ajouter une toolbar a coté de celle par défaut
    Par romeo9423 dans le forum MFC
    Réponses: 1
    Dernier message: 30/08/2005, 22h05

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