Páginas de propiedades

Identificador: org.eclipse.ui.propertyPages

Descripción: este punto de extensión se utiliza para añadir páginas de propiedades adicionales para los objetos de un tipo determinado. Una vez definidas, las páginas de propiedades aparecerán en el diálogo Propiedades de los objetos de ese tipo.

Una página de propiedades constituye una forma intuitiva de interaccionar con las propiedades de un objeto. A diferencia de la vista Propiedades, que restringe el espacio disponible para editar las propiedades de un objeto, una página de propiedades puede beneficiarse de la libertad de definir controles más extensos y complejos que tengan etiquetas, iconos, etcétera. Las propiedades que por lógica van juntas pueden asimismo agruparse en una página, en vez de estar diseminadas en la hoja de propiedades. Sin embargo, en la mayoría de las aplicaciones, será apropiado exponer algunas propiedades de un objeto por medio de la hoja de propiedades y otras propiedades por medio de las páginas de propiedades.

Las páginas de propiedades se muestran en un recuadro de diálogo que normalmente está visible cuando se selecciona el elemento de menú "Propiedades" en un menú emergente de un objeto. Además de la clase del objeto, se puede suministrar opcionalmente el filtro de nombres para registrar las páginas de propiedades únicamente para algunos tipos de objetos concretos.

Si estos mecanismos de filtrado son inadecuados, una página de propiedades puede utilizar el mecanismo filter. En este caso, los atributos del objeto destino se describen en una serie de pares de clave-valor. Los atributos aplicables a la selección son específicos del tipo y sobrepasan el dominio del propio entorno de trabajo, por lo que este delegará el filtrado a este nivel a la selección real.

Códigos XML de configuración:

   <!ELEMENT extension (page*)>

   <!ATTLIST extension
     point CDATA #REQUIRED
     id    CDATA #IMPLIED
     name  CDATA #IMPLIED
   >

   <!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)
   >

   <!ELEMENT filter EMPTY>

   Este elemento se utiliza para evaluar el estado de atributo de cada objeto de la selección actual. Si cada objeto de la selección tiene el estado de atributo especificado, la expresión se evalúa como true. Cada objeto de la selección debe implementar o adaptarse a la interfaz org.eclipse.ui.IActionFilter.

   <!ATTLIST filter
     name  CDATA #REQUIRED
     value CDATA #REQUIRED
   >
Ejemplos: a continuación figura un ejemplo de definición de página de propiedades:

   <extension point="org.eclipse.ui.propertyPages"> 
        <page 
            id="com.xyz.projectPage" 
            name="Propiedades Java XYZ"
            objectClass="org.eclipse.core.resources.IFile" 
            class="com.xyz.ppages.JavaPropertyPage" 
            nameFilter="*.java"> 
            <filter name="readOnly" value="true"/> 
        </page> 
    </extension> 

Información sobre las API: el valor del atributo class debe especificar un nombre totalmente calificado de una clase que implemente org.eclipse.ui.IWorkbenchPropertyPage.

Implementación suministrada: algunos objetos proporcionados por el entorno de trabajo pueden tener páginas de propiedades registradas. Los conectores pueden añadir más páginas de propiedades para estos objetos. Las páginas de propiedades no están limitadas a los recursos del entorno de trabajo: todos los objetos que se muestran en el entorno de trabajo (incluso los objetos específicos del dominio creados por los conectores) pueden tener páginas de propiedades, y los otros conectores pueden registrar páginas de propiedades para ellos.

Copyright (c) 2002 IBM Corporation y otros. Reservados todos los derechos. Este programa y sus materiales adjuntos están disponibles bajo los términos de la licencia pública común (Common Public License) v1.0 que acompaña a esta distribución, y está disponible en http://www.eclipse.org/legal/cpl-v10.html