Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Eclipse > Eclipse Platform
Eclipse Platform Développement de plugins Eclipse et d'applications Eclipse RCP (Rich Client Platform). Avant de poster -> Tutoriels sur le développement de plugins Eclipse
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/01/2013, 13h16   #1
kkt8
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 274
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 274
Points : 98
Points : 98
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 :
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 :
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
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 14h46   #2
Gueritarish
Modérateur
 
Avatar de Gueritarish
 
Homme Marc
Développeur Java
Inscription : mai 2007
Messages : 1 567
Détails du profil
Informations personnelles :
Nom : Homme Marc
Âge : 28
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 567
Points : 3 430
Points : 3 430
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.

Le 5 et 6 juin à Toulouse, la première EclipseCon France !
Gueritarish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2013, 11h19   #3
kkt8
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 274
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 274
Points : 98
Points : 98
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 :
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 :
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 ....
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2013, 16h09   #4
kkt8
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 274
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 274
Points : 98
Points : 98
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 :
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.
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2013, 16h58   #5
Gueritarish
Modérateur
 
Avatar de Gueritarish
 
Homme Marc
Développeur Java
Inscription : mai 2007
Messages : 1 567
Détails du profil
Informations personnelles :
Nom : Homme Marc
Âge : 28
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 567
Points : 3 430
Points : 3 430
Salut,

Tout va bien
Je reprends ton exemple et j'ajoute quelques commandes à ton menu:
Code :
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.

Le 5 et 6 juin à Toulouse, la première EclipseCon France !
Gueritarish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2013, 08h51   #6
kkt8
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 274
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 274
Points : 98
Points : 98
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 !
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2013, 09h57   #7
Gueritarish
Modérateur
 
Avatar de Gueritarish
 
Homme Marc
Développeur Java
Inscription : mai 2007
Messages : 1 567
Détails du profil
Informations personnelles :
Nom : Homme Marc
Âge : 28
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 567
Points : 3 430
Points : 3 430
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.

Le 5 et 6 juin à Toulouse, la première EclipseCon France !
Gueritarish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2013, 11h06   #8
kkt8
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 274
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 274
Points : 98
Points : 98
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 :
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
Type de fichier : png DebugViewToolbar.png (13,2 Ko, 1 affichages)
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2013, 13h27   #9
Gueritarish
Modérateur
 
Avatar de Gueritarish
 
Homme Marc
Développeur Java
Inscription : mai 2007
Messages : 1 567
Détails du profil
Informations personnelles :
Nom : Homme Marc
Âge : 28
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 567
Points : 3 430
Points : 3 430
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.

Le 5 et 6 juin à Toulouse, la première EclipseCon France !
Gueritarish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2013, 16h43   #10
kkt8
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 274
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 274
Points : 98
Points : 98
Bah je passe tout en commandes et zou plus de soucis !
Merci encore de ton aide !

Chris
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h32.


 
 
 
 
Partenaires

Hébergement Web