Le point d'extension org.eclipse.ui.preferencePages vous permet de fournir des pages à la boîte de dialogue des préférences générales(Window->Preferences). La boîte de dialogue des préférences présente une liste hiérarchique des entrées des préférences utilisateur. Une fois sélectionnée, chaque entrée affiche une page de préférences correspondante.
L'outil readme utilise ce point d'extension pour ajouter la page de préférences Readme Example.
<extension point = "org.eclipse.ui.preferencePages"> <page id="org.eclipse.ui.examples.readmetool.Page1" class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage" name="%PreferencePage.name"> </page> </extension>
Ces marques définissent une page de préférences, nommée "Readme Example" qui est implémentée par la classe ReadmePreferencePage. La classe doit implémenter l'interface IWorkbenchPreferencePage.
Le plan de travail utilise les mécanismes de préférences d'exécution principale pour accéder à tous les noeuds de l'arborescence des préférences et les pages correspondantes. Cette liste peut être initialisée à partir des informations du service de préférences sans exécuter le code du plug-in.
Pourquoi la préférence "Readme Example" est-elle ajoutée au niveau supérieur de l'arborescence des préférences à gauche ? Car une contribution de la page des préférences va être ajoutée en tant que racine de l'arborescence à moins qu'un attribut category ne soit spécifié. (Le nom catégorie est un peu erroné. Il vaudrait sans doute mieux parler de chemin d'accès.) L'attribut category spécifie l'ID (ou une séquence d'ID à partir de la racine) de la page parent. Par exemple, les marques suivantes permettent de créer une seconde page de préférences de l'outil readme, "Readme Example Child Page" comme enfant de la page d'origine.
<extension point = "org.eclipse.ui.preferencePages"> <page id="org.eclipse.ui.examples.readmetool.Page1" class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage" name="%PreferencePage.name"> </page> <page id="org.eclipse.ui.examples.readmetool.Page2" class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage2" name="Readme Example Child Page" category="org.eclipse.ui.examples.readmetool.Page1> </page> </extension>
Lorsque l'utilisateur sélectionne l'entrée pour une page de préférences dans l'arborescence de gauche, le plan de travail crée et affiche une page de préférences à l'aide de la classe spécifiée dans la définition d'extension. Cette action correspond à l'activation du plug-in (s'il n'a pas déjà été activé par une autre opération utilisateur).