Il punto di estensione org.eclipse.ui.preferencePages consente all'utente di fornire pagine alla finestra di dialogo delle preferenze generali (Finestra > Preferenze). La finestra di dialogo delle preferenze presenta un elenco gerarchico delle voci relative alle preferenze dell'utente. Quando viene selezionata, ogni voce visualizza una corrispondente pagina delle preferenze.
Lo strumento readme utilizza questo punto di estensione per aggiungere la pagina delle preferenze Readme Example.
<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>
Questo codice definisce una pagina delle preferenze denominata "Readme Example" che viene implementata dalla classe ReadmePreferencePage. La classe deve implementare l'interfaccia IWorkbenchPreferencePage.
Il workbench utilizza i meccanismi di preferenza del runtime centrale per accedere a tutti i nodi della struttura delle preferenze e delle pagine corrispondenti. Questo elenco può essere inizializzato mediante le informazioni contenute nel servizio delle preferenze senza eseguire alcun codice del plugin.
La preferenza "Readme Example" viene aggiunta al livello più alto della struttura delle preferenze disponibile a sinistra. Questo un contributo di pagina delle preferenze verrà aggiunto come elemento principale della struttura, a meno che non venga specificato un attributo di categoria. (Il nome categoria è forse fuorviante. Un termine più adatto potrebbe essere percorso.) L'attributo categoria specifica l'id (o una sequenza di id dalla directory principale) della pagina principale. Ad esempio, il codice seguente creerà una seconda pagina delle preferenze dello strumento readme, "Readme Example Child Page", come elemento secondario della pagina originale.
<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="Readme Example Child Page" category="org.eclipse.ui.examples.readmetool.Page1> </page> </extension>
Quando l'utente seleziona la voce di una pagina delle preferenze nella struttura di sinistra, il workbench crea e visualizza una pagina delle preferenze utilizzando la classe specificata nella definizione dell'estensione. Questa azione determina l'attivazione del plugin, se non già attivato in seguito a un'altra operazione dell'utente.