Plugin.xml, accès à la vue Navigator
Bonjour,
Je suis en train de développer un plugin qui permet de générer des classes selon un template spécifique.
Voici le code de mon plugin.xml:
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 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
| <?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<!--Création de l'événement principal, du menu "Génération des classes" et des sous menu -->
<extension point="org.eclipse.ui.commands">
<command
name="Générer toutes les couches..."
id="GenerateBuilderProject.commands.GenerateBuilder">
</command>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
commandId="GenerateBuilderProject.commands.GenerateBuilder"
class="generatetiers.actions.SampleAction">
</handler>
</extension>
<extension point="org.eclipse.ui.commands">
<command
name="Générer la couche contrôle..."
id="GenerateBuilderProject.commands.GenerateBuilder2">
</command>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
commandId="GenerateBuilderProject.commands.GenerateBuilder2"
class="generatetiers.actions.SampleAction">
</handler>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
commandId="GenerateBuilderProject.commands.GenerateBuilder3"
class="generatetiers.actions.SampleAction">
</handler>
</extension>
<!--Ajout du menu "Génération de classes" dans le pop-up pour la vue project explorer -->
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions" >
<menu label="Génération de classes">
<command
commandId="GenerateBuilderProject.commands.GenerateBuilder2"
id="GenerateBuilder.menus.GenerateBuilder2">
<visibleWhen>
<with variable="activeMenuSelection">
<iterate
ifEmpty="false">
<adapt type="org.eclipse.core.resources.IResource">
<test property="org.eclipse.core.resources.name" value="*.java" />
</adapt>
</iterate>
</with>
</visibleWhen>
</command>
<command
commandId="GenerateBuilderProject.commands.GenerateBuilder"
id="GenerateBuilder.menus.GenerateBuilder">
<visibleWhen>
<with variable="activeMenuSelection">
<iterate
ifEmpty="false">
<adapt type="org.eclipse.core.resources.IResource">
<test property="org.eclipse.core.resources.name" value="*.java" />
</adapt>
</iterate>
</with>
</visibleWhen>
</command>
</menu>
</menuContribution>
</extension>
<!--Ajout du menu "Génération de classes" dans le pop-up pour la vue Package explorer-->
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.jdt.ui.PackageExplorer">
<menu label="Génération de classes">
<command
commandId="GenerateBuilderProject.commands.GenerateBuilder2"
id="GenerateBuilder.menus.GenerateBuilder2">
<visibleWhen>
<with variable="activeMenuSelection">
<iterate
ifEmpty="false">
<adapt type="org.eclipse.core.resources.IResource">
<test property="org.eclipse.core.resources.name" value="*.java" />
</adapt>
</iterate>
</with>
</visibleWhen>
</command>
<command
commandId="GenerateBuilderProject.commands.GenerateBuilder"
id="GenerateBuilder.menus.GenerateBuilder">
<visibleWhen>
<with variable="activeMenuSelection">
<iterate
ifEmpty="false">
<adapt type="org.eclipse.core.resources.IResource">
<test property="org.eclipse.core.resources.name" value="*.java" />
</adapt>
</iterate>
</with>
</visibleWhen>
</command>
</menu>
</menuContribution>
</extension>
<!--Ajout du menu "Génération de classes dans le menu Eclipse" -->
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu">
<menu label="Génération de classes"
id="menuAction">
<command
commandId="GenerateBuilderProject.commands.GenerateBuilder"
id="GenerateBuilder.menus.GenerateBuilder">
<visibleWhen checkEnabled="false">
<with variable="selection">
<iterate
ifEmpty="false">
<adapt type="org.eclipse.core.resources.IResource">
<test property="org.eclipse.core.resources.name" value="*.java" />
</adapt>
</iterate>
</with>
</visibleWhen>
</command>
<command
commandId="GenerateBuilderProject.commands.GenerateBuilder2"
id="GenerateBuilder.menus.GenerateBuilder2">
<visibleWhen checkEnabled="false">
<with variable="selection">
<iterate
ifEmpty="false">
<adapt type="org.eclipse.core.resources.IResource">
<test property="org.eclipse.core.resources.name" value="*.java" />
</adapt>
</iterate>
</with>
</visibleWhen>
</command>
</menu>
</menuContribution>
</extension>
<!--Ajout du menu génération de classes dans la page des préférences -->
<extension
point="org.eclipse.ui.preferencePages">
<page
class="generationclasses.preferences.SamplePreferencePage"
id="generationclasses.preferences.SamplePreferencePage"
name="Génération de classes">
</page>
</extension>
<extension
point="org.eclipse.core.runtime.preferences">
<initializer
class="generationclasses.preferences.PreferenceInitializer">
</initializer>
</extension>
<!--Ajout du menu génération de classes dans la page des properties du projet -->
<extension
point="org.eclipse.ui.propertyPages">
<page
class="generationclasses.properties.SamplePropertyPage"
id="generationclasses.properties.samplePropertyPage"
name="Génération de classes"
objectClass="org.eclipse.core.resources.IProject"
>
<enabledWhen>
<instanceof
value="org.eclipse.core.resources.IProject">
</instanceof>
</enabledWhen>
</page>
</extension>
</plugin> |
Le problème est que le menu "Génération de classe" est bien accessible vie la pop-up et le menu Eclipse pour les classes Java, mais il est accessible seulement pour les deux vues "ProjectExplorer" et "PackageExplorer", donc j'aimerais l'ajouter pour la vue "Navigator". J'ai essayé pas mal d'extensions mais ça n'a pas fonctionné.
Avez-vous une piste pour ça ?
Merci d'avance pour votre aide.