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 un menu à une action de style "pulldown"


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 un menu à une action de style "pulldown"
    Bonjour,

    J'ai ajouté des boutons dans la toolbar de la vue debug :
    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
     
    <extension
             point="org.eclipse.ui.viewActions">
          <viewContribution
                id="org.eclipse.debug.ui.debugview.toolbar"
                targetID="org.eclipse.debug.ui.DebugView">
              <action
                   class="com.st.stxp70.sxDebug.views.RestoreISS"
                   enablesFor="1"
                   icon="icons/restore.gif"
                   id="com.st.stxp70.sxDebug.views.RestoreISS"
                   label="Restore"
                   state="false"
                   style="push"
                   toolbarPath="CyclecountOn"
                   tooltip="Restore Simulation State">
             </action>
             <action
                   class="com.st.stxp70.sxDebug.views.SaveISS"
                   enablesFor="1"
                   icon="icons/save.gif"
                   id="com.st.stxp70.sxDebug.views.SaveISS"
                   label="Save"
                   state="false"
                   style="push"
                   toolbarPath="CyclecountOn"
                   tooltip="Save Simulation State">
             </action>
    Tout marche bien !
    Par contre, j'ai une 3eme action où j'ai 3 "sous actions" si je peux dire ça comme ça .., et donc je me suis tournée naturellement vers une 3ème action mais de style "pulldown" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
              <action
                   class="com.st.stxp70.sxDebug.views.CyclecountISS"
                   enablesFor="1"
                   icon="icons/cycle.gif"
                   id="com.st.stxp70.sxDebug.views.CyclecountISS"
                   label="CycleCount"
                   state="false"
                   style="pulldown"
                   toolbarPath="CyclecountOn"
                   tooltip="Cycle count">
             </action>
    ça me crée un bouton mais avec une petite flèche noire style menu déroulant, sauf que je ne trouve pas comment ajouter des items à mon menu ???
    J'ai cherché dans tous les sens, créé des menus par code etc ... rien ne marche....

    Une idée ?
    D'avance merci

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Tu peux pas passer par des commandes plutôt?
    Autre solution, si tu es dans un RCP (avec une Application), tu peux aussi créer le menu programmatiquement...

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  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
    Hello !

    en passant par les commands, je n'arrive pas à placer mon bouton "menu" dans le bon emplacement.
    Je crée donc un menu que je mets (locationURI) à la fin de la toolbar Debug :
    toolbar:org.eclipse.debug.ui.DebugView?after=additions, mon bouton apparait mais pas là où je veux.

    Si j'essaie de le mettre après mon groupe d'actions (j'ai pas très envie de changer en command ce qui marche déjà) ma command n'apparait pas ... j'ai tout essayé

    OK
    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
    <extension
             point="org.eclipse.ui.menus">
          <menuContribution
                locationURI="toolbar:org.eclipse.debug.ui.DebugView?after=additions">
             <command
                   commandId="com.st.stxp70.sxDebug.commandCyclecount"
                   icon="icons/stlogo.gif"
                   label="pouet"
                   style="push">
                <visibleWhen
                      checkEnabled="true">
                </visibleWhen>
             </command>
          </menuContribution>
     
       </extension>
    KO
    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
    <extension
             point="org.eclipse.ui.menus">
          <menuContribution
                locationURI="toolbar:org.eclipse.debug.ui.DebugView?after=com.st.stxp70.sxDebug.menuCycleCountountOn">
             <command
                   commandId="com.st.stxp70.sxDebug.commandCyclecount"
                   icon="icons/stlogo.gif"
                   label="pouet"
                   style="push">
                <visibleWhen
                      checkEnabled="true">
                </visibleWhen>
             </command>
          </menuContribution>
     
       </extension>
    Pourtant je mets bien l'id du menu dans lequel je veux le placer ....

  4. #4
    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
    Bon j'ai laissé tomber l'emplacement de mon "bouton" pour le moment...
    J'arrive déjà pas à créer des éléments "sous menu" à ma commande, puisque je suis passée par des commands.

    Donc j'ai créé une command, son handler et là où je la colle :
    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
     
       <extension
             point="org.eclipse.ui.menus">
          <menuContribution
             locationURI="toolbar:org.eclipse.debug.ui.DebugView?after=additions"
    >
             <command
                   commandId="com.st.stxp70.sxDebug.commandCyclecount"
                   icon="icons/stlogo.gif"
                   label="pouet1"
                   style="pulldown">
                <visibleWhen
                      checkEnabled="true">
                </visibleWhen>
             </command>
     
          </menuContribution>
     
       </extension>
       <extension
             point="org.eclipse.ui.commands">
          <command
                id="com.st.stxp70.sxDebug.commandCyclecount"
                name="prout">
          </command>
       </extension>
       <extension
             point="org.eclipse.ui.handlers">
          <handler
                class="com.st.stxp70.sxDebug.action.handlerCyclecount"
                commandId="com.st.stxp70.sxDebug.commandCyclecount">
          </handler>
       </extension>
    J'obtiens donc un bouton ajouté à la toolbar de la vue Debug, avec un petit triangle signifiant qu'il y a un sous-menu.

    Mais maintenant j'ajoute les items du sous-menu comment ?
    Mon menu n'ayant pas d'identifiant....

    Merci.

  5. #5
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Tout va bien
    Je reprends ton exemple et j'ajoute quelques commandes à ton menu:
    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
       <extension
             point="org.eclipse.ui.menus">
          <menuContribution
             locationURI="toolbar:org.eclipse.debug.ui.DebugView?after=additions">
             <command
                   commandId="com.st.stxp70.sxDebug.commandCyclecount"
                   id="com.st.stxp70.sxDebug.commandCyclecount.toolbar"
                   icon="icons/stlogo.gif"
                   label="pouet1"
                   style="pulldown">
                <visibleWhen
                      checkEnabled="true">
                </visibleWhen>
             </command>
          </menuContribution>
          <menuContribution
             locationURI="menu:com.st.stxp70.sxDebug.commandCyclecount.toolbar">
             <command
                   commandId="com.st.stxp70.sxDebug.command1"
                   label="Menu Command1">
             </command>
             <command
                   commandId="com.st.stxp70.sxDebug.command2"
                   label="Menu Command2">
             </command>
          </menuContribution>
       </extension>
       <extension
             point="org.eclipse.ui.commands">
          <command
                id="com.st.stxp70.sxDebug.commandCyclecount"
                name="prout">
          </command>
          <command
                commandId="com.st.stxp70.sxDebug.command1"
                label="Menu Command1">
          </command>
          <command
                commandId="com.st.stxp70.sxDebug.command2"
                label="Menu Command2">
          </command>
       </extension>
       <extension
             point="org.eclipse.ui.handlers">
          <handler
                class="com.st.stxp70.sxDebug.action.handlerCyclecount"
                commandId="com.st.stxp70.sxDebug.commandCyclecount">
          </handler>
       </extension>
    En fait, du coup, il faut traiter ta commande comme un menu dans le locationURI et ensuite, ajouter des commandes de façon classique. J'ai rajouté un id à ta commande situé dans la toolbar pour pouvoir la cibler.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  6. #6
    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
    Yes ! ça marche !!!
    Toujours un soucis sur l'emplacement ... mais c'est moins grave
    Je vais transformer toutes mes actions en commandes !

    un GRAND merci Gueritarish !

  7. #7
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Pour ton problème d'emplacement, tu as un thread sur le sujet sur le forum Eclipse.
    En fait, tout va dépendre d'où tu veux placer tes éléments.
    Est-ce que tu pourrais indiquer (même vaguement et avec des noms factices au besoin) où tu souhaites avoir tes éléments?

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  8. #8
    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
    Merci je vais regarder !

    En fait j'ai des actions (qui étaient déjà existantes) placées dans la ViewContribution de la Vue Debug. CF image (attention dans cette image j'ai enlevé mon nouveau bouton, pour info il se situe là où pointe le toolbar:org.eclipse.debug.ui.DebugView?after=additions).

    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
       <extension
             point="org.eclipse.ui.viewActions">
          <viewContribution
                id="org.eclipse.debug.ui.debugview.toolbar"
                targetID="org.eclipse.debug.ui.DebugView"> 
             <action
                   class="com.st.stxp70.sxDebug.views.RestoreISS"
                   enablesFor="1"
                   icon="icons/restore.gif"
                   id="com.st.stxp70.sxDebug.views.RestoreISS"
                   label="Restore"
                   state="false"
                   style="push"
                   toolbarPath="CyclecountOn"
                   tooltip="Restore Simulation State">
             </action>
             <action
                   class="com.st.stxp70.sxDebug.views.SaveISS"
                   enablesFor="1"
                   icon="icons/save.gif"
                   id="com.st.stxp70.sxDebug.views.SaveISS"
                   label="Save"
                   state="false"
                   style="push"
                   toolbarPath="CyclecountOn"
                   tooltip="Save Simulation State">
             </action>
              <action
                   class="com.st.stxp70.sxDebug.action.ActionTraceLongDelegate"
                   disabledIcon="icons/traceLong_disable.gif"
                   enablesFor="1"
                   icon="icons/traceLong_enable.gif"
                   id="com.st.stxp70.sxDebug.actionTraceToLong"
                   label="Trace Long"
                   state="false"
                   style="push"
                   toolbarPath="stxp70Group"
                   tooltip="Set Simulator Trace Format to long">
             </action>
             <action
                   class="com.st.stxp70.sxDebug.action.ViewActionTraceDelegate"
                   disabledIcon="icons/traceOnOff_disable.gif"
                   enablesFor="1"
                   icon="icons/traceOnOff_enable.gif"
                   id="com.st.stxp70.sxDebug.actionTraceOnOff"
                   label="Trace"
                   state="false"
                   style="radio"
                   toolbarPath="stxp70Group"
                   tooltip="Activate Trace Simulator">
             </action>
                      <action
                   class="com.st.stxp70.sxDebug.views.OceConfiguration"
                   disabledIcon="icons/config-profile-disable.gif"
                   enablesFor="1"
                   icon="icons/config-profile.gif"
                   id="com.st.stxp70.sxDebug.OceConfiguration"
                   label="Oce Configuration"
                   state="false"
                   style="push"
                   toolbarPath="stxp70Group"
                   tooltip="OCE Configuration">
             </action>
             <action
                   class="com.st.stxp70.sxDebug.views.CoreReset"
                   disabledIcon="icons/reset-disable.gif"
                   enablesFor="1"
                   icon="icons/reset.gif"
                   id="com.st.stxp70.sxDebug.views.CoreReset"
                   label="Core Reset"
                   state="false"
                   style="push"
                   toolbarPath="stxp70Group"
                   tooltip="Execute a Core Reset">
             </action>         
             <menu
                   id="com.st.stxp70.sxDebug.toolbar.stxp70Menu"
                   label="STxP70 Actions">
                <groupMarker
                      name="stxp70Group">
                </groupMarker>
                <separator
                      name="stxp70Separator">
                </separator>
             </menu>
             <menu
                   id="com.st.stxp70.sxDebug.menuCycleCount"
                   label="Cyclecount Actions">
                <groupMarker
                      name="CyclecountOn">
                </groupMarker>
             </menu>
    Je voudrais mettre ma nouvelle commande qui marche bien à la suite du groupe B.
    J'ai essayé de mettre le locationURI de mon menuContribution à
    - toolbar:org.eclipse.debug.ui.DebugView?after=CyclecountOn
    - toolbar:org.eclipse.debug.ui.DebugView?after=com.st.stxp70.sxDebug.menuCycleCount ...

    Mais rien n'y fait !
    Alors je vais lire ce que tu m'as envoyé, et sinon tout remettre en commande déjà et mettre après le "toolbar:org.eclipse.debug.ui.DebugView?after=additions" !

    et hop !
    Merci
    Images attachées Images attachées  

  9. #9
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Dans le lien, ce qu'il faut retenir, c'est l'ordre dans lequel Eclipse s'occupe des éléments:
    1. programmatic contributions
    2. menu contributions
    3. legacy action contributions (like actionSets)
    Donc, je pense que c'est ton cas. En fait, tu déclares des actions et tu te bases sur celles-ci pour le placement. Mais elles seront prises en compte après tes contributions à la toolbar par des commandes. Ça doit être la raison pour laquelle Eclipse n'arrive pas à les placer.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  10. #10
    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
    Bah je passe tout en commandes et zou plus de soucis !
    Merci encore de ton aide !

    Chris

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

Discussions similaires

  1. Ajout dynamique d'une feuille de style
    Par Invité dans le forum ASP.NET
    Réponses: 5
    Dernier message: 13/06/2008, 12h15
  2. Ajouter deux paramètres à une action dans un lien.
    Par Alexandre T dans le forum Struts 1
    Réponses: 4
    Dernier message: 27/08/2007, 11h39
  3. Ajouter un menu à une dialog form
    Par firejocker dans le forum MFC
    Réponses: 2
    Dernier message: 22/11/2005, 18h36

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