Description : ce point d'extension est utilisé pour ajouter une page de propriétés supplémentaires aux objets d'un type donné. Une fois défini, ces pages de propriétés s'affichent dans la boîte de dialogue des propriétés pour l'objet du type correspondant.
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 normalement visible lorsque l'option de menu Propriétés est sélectionnée dans le menu en incrustation propre à 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
>
L'exemple ci-dessous illustre la définition d'une 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 complet qualifié de la classe qui implémente 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-ins 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-ins) peuvent avoir des pages de propriétés et d'autres plug-ins peuvent leur enregistrer des pages de propriétés également.