Description : ce point d'extension est utilisé pour ajouter des pages de propriétés supplémentaires pour les objets d'un type donné. Une fois définies, ces pages apparaissent dans la boîte de dialogue Propriétés des objets de ce type.
Une page de propriétés est un moyen convivial permettant d'interagir avec les propriétés d'un objet. Contrairement à la vue Propriétés qui limite l'espace disponible pour l'édition d'une propriété d'objet, une page de propriétés peut profiter de la liberté pour définir des contrôles plus grands et plus complexes avec des libellés, des icônes, etc. Les propriétés qui logiquement vont ensemble peuvent être regroupées dans une page, plutôt que d'être éparpillées dans la feuille de propriétés. Cependant, dans la plupart des applications, il est plus approprié d'exposer certaines propriétés d'un objet via la feuille de propriétés et d'autres via les pages de propriétés.
Les pages de propriétés s'affichent dans une boîte de dialogue généralement visible lorsque l'option de menu Propriétés est sélection dans le menu en incrustation d'un objet. En plus de la classe d'objets, le filtre de nom peut être également fourni pour enregistrer les pages de propriétés uniquement pour des types d'objet spécifiques.
Si les mécanismes de filtrage sont inappropriés, une page de propriétés peut utiliser le mécanisme filter. Dans ce cas, les attributs de l'objet cible sont décrits dans une série de paires clé-valeur. Les attributs s'appliquant à la sélection sont spécifiques au type et au-delà du domaine du plan du travail lui-même ; ainsi à ce niveau, le plan de travail délègue le filtrage à la sélection réelle.
Marques de configuration :
<!ELEMENT page (filter)*>
<!ATTLIST page
id
CDATA #REQUIRED
name
CDATA #REQUIRED
icon
CDATA #IMPLIED
objectClass CDATA
#REQUIRED
class
CDATA #REQUIRED
nameFilter CDATA
#IMPLIED
adaptable (true|false)
#IMPLIED
>
Voici l'exemple d'une extension de page de propriétés :
<extension point="org.eclipse.ui.propertyPages">
<page
id="com.xyz.projectPage"
name="XYZ Java
Properties"
objectClass="org.eclipse.core.resources.IFile"
class="com.xyz.ppages.JavaPropertyPage"
nameFilter="*.java">
<filter name="readOnly" value="true"/>
</page>
</extension>
Informations d'API : l'attribut class doit spécifier le nom qualifié complet d'une classe implémentant org.eclipse.ui.IWorkbenchPropertyPage.
Implémentation fournie : certains objets fournis par le plan de travail peuvent avoir des pages de propriétés enregistrées. Les plug-in sont autorisés à ajouter d'autres pages de propriétés pour ces objets. Les pages de propriétés ne se limitent pas aux ressources du plan de travail : tous les objets apparaissant dans le plan de travail (même ceux spécifiques au domaine et qui ont été créés par les plug-in) peuvent avoir des pages de propriétés et d'autres plug-in peuvent leur enregistrer des pages de propriétés également.