El punto de extensión org.eclipse.ui.preferencePages le permite contribuir páginas al diálogo de preferencias (Ventana->Preferencias) del entorno de trabajo. 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 un gestor de preferencias, objeto PreferenceManager, para conservar una lista de todos los nodos del árbol de preferencias y sus correspondientes páginas. Esta lista se puede inicializar a partir de la información del registro de conectores sin que haga falta ejecutar código de conector. La contribución del conector al diálogo de preferencias (la entrada "Ejemplo de readme" situada a la izquierda) se muestra antes de que se ejecute ninguna parte del código.
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).