Pages de propriétés

org.eclipse.ui.propertyPages

Ce point d'extension sert à ajouter des pages de propriétés d'un type donné. Une fois définies, ces pages de propriétés apparaissent dans la boîte de dialogue Propriétés des objets de ce type.

Une page de propriétés constitue un moyen convivial 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 offrir la liberté de 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électionnée 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 ces mécanismes de filtrage ne sont pas appropriés, une page de propriété peut utiliser le mécanisme des filtres. Dans ce cas, les attributs de l'objet cible sont décrits dans une série de paires clé-valeur. Les attributs qui s'appliquent à la sélection sont spécifiques au type et surpassent le domaine du plan de travail ; aussi ce dernier délègue-t-il le filtrage à ce niveau à la sélection réelle.

<!ELEMENT extension (page*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT page (filter* , keywordReference*)>

<!ATTLIST page

id          CDATA #REQUIRED

name        CDATA #REQUIRED

icon        CDATA #IMPLIED

objectClass CDATA #REQUIRED

class       CDATA #REQUIRED

nameFilter  CDATA #IMPLIED

adaptable   (true | false)

category    CDATA #IMPLIED>


<!ELEMENT filter EMPTY>

<!ATTLIST filter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Cet élément est employé pour évaluer l'état d'attribut de chaque objet dans la sélection en cours. Une correspondance n'est obtenue que si chaque objet de la sélection possède l'état d'attribut spécifié. Chaque objet de la sélection doit implémenter l'interface org.eclipse.ui.IActionFilter ou s'y adapter.



<!ELEMENT keywordReference EMPTY>

<!ATTLIST keywordReference

id CDATA #IMPLIED>

Référence par une page de propriétés à un mot-clé. Voir le point d'extension des mots-clé.



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=

"Propriétés Java XYZ"

objectClass=

"org.eclipse.core.resources.IFile"

class=

"com.xyz.ppages.JavaPropertyPage"

nameFilter=

"*.java"

>

<filter name=

"readOnly"

value=

"true"

/>

</page>

</extension>

L'attribut class doit correspondre au nom qualifié complet d'une classe implémentant org.eclipse.ui.IWorkbenchPropertyPage.

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 également leur enregistrer des pages de propriétés.