Bonjour tout le monde,

J'ai vu qu'il était possible de récupérer la liste des extensions que l'on définit dans le plugin.xml :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
IExtensionRegistry registry = Platform.getExtensionRegistry();
IExtensionPoint point = registry.getExtensionPoint("org.eclipse.ui.views");
	if (point == null) return;
	IExtension[] extensions = point.getExtensions();
	for (int i = 0; i < extensions.length; i++)
		readExtension(extensions[i]);  //get the information about each extension
Seulement, j'ai besoin actuellement de connaitre l'ID de l'extension "en cours de lancement".

Je m'explique: Je travail actuellement sur les "Tabbed Properties View", le principe est donc de créer en premier lieu une extension propertyContributor, qui reconnaitra des catégories (ici "sample")

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
  <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
      <propertyContributor contributorId="mview.views.SampleView"/>
         <propertyCategory category="sample"/>
   </extension>
Il faut ensuite définir des onglets(tabs) et des sections:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
   <extension point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
      <propertyTabs contributorId="mview.views.SampleView">
         <propertyTab
            category="sample"
               id="mview.SampleTab"
            label="Button"/>
         <propertyTab
            afterTab="mview.SampleTab"
            category="sample"
               id="mview.AdvancedTab"
            label="Advanced"/>
      </propertyTabs>
   </extension>
et

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
   <extension point="org.eclipse.ui.views.properties.tabbed.propertySections">
      <propertySections contributorId="mview.views.SampleView">
         <propertySection
               class="mview.views.LabelSection"
               id="mview.LabelSection1"
               tab="mview.SampleTab">
            <input type="mview.views.ButtonElement"/>
         </propertySection>
         <propertySection
               afterSection="mview.LabelSection1"
               class="mview.views.LabelSection"
               id="mview.LabelSection2"
               tab="mview.SampleTab">
            <input type="mview.views.ButtonElement"/>
         </propertySection>
      </propertySections>
   </extension> 
         ...
Est-il donc possible dans la classe LabelSection de récupérer l'ID de l'extension qui l'a appelée? ici, ce serait soit mview.LabelSection1 soit mview.LabelSection2.