Añadir una página de preferencias

El punto de extensión org.eclipse.ui.preferencePages permite contribuir con páginas al diálogo de preferencias generales (Ventana->Preferencias). El diálogo de preferencias presenta una lista jerárquica de las entradas de preferencias del usuario. Cuando se selecciona, cada entrada visualiza su correspondiente página de preferencias.

La herramienta readme utiliza este punto de extensión para añadir la página de preferencias Ejemplo de readme.

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

Estos códigos XML definen una página de preferencias llamada "Ejemplo de readme" que está implementada por la clase ReadmePreferencePage. Esta clase debe implementar la interfaz IWorkbenchPreferencePage.

El entorno de trabajo utiliza los mecanismos de preferencias del núcleo del entorno de ejecución para acceder a todos los nodos del árbol de preferencias y a sus correspondientes páginas. Esta lista se puede inicializar a partir de la información del servicio de preferencias sin que haga falta ejecutar código de conector.

Página Preferencias de entorno de trabajo

La preferencia "Ejemplo de readme" se añade al nivel superior del árbol de preferencias situado a la izquierda.  ¿Por qué?Porque se añadirá una contribución de página de preferencias como directorio raíz del árbol, a menos que se especifique el atributo category.(El nombre categoría, atributo category, puede prestarse a confusión. Tal vez sería más adecuado hablar de vía de acceso, atributo path).El atributo category especifica el ID (o una secuencia de identificadores a partir del directorio raíz) de la página padre.Por ejemplo, los siguientes códigos XML crearían una segunda página de preferencias de la herramienta readme, "Página hija del ejemplo de readme", como hija de la página original.

   <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="Página hija del ejemplo de readme"
         category="org.eclipse.ui.examples.readmetool.Page1>
         </page>
   </extension>

Una vez que el usuario selecciona la entrada de una página de preferencias en el árbol situado a la izquierda, el entorno de trabajo creará y visualizará una página de preferencias utilizando la clase (atributo class) especificada en la definición de la extensión.  Esta acción es la que activa el conector (si todavía no estuviera activado debido a otra operación realizada por el usuario).