Aggiunta di una pagina di preferenza

Il punto di estensione org.eclipse.ui.preferencePages consente all'utente di fornire pagine alla finestra di dialogo delle preferenze del workbench (Finestra > Preferenze). La finestra di dialogo delle preferenze presenta un elenco gerarchico delle voci di preferenze dell'utente. Quando selezionata, ogni voce visualizza una corrispondente pagina di preferenze.

Il readme tool 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 un PreferenceManager per gestire un elenco di tutti i nodi della struttura delle preferenze e delle rispettive pagine corrispondenti. Questo elenco può essere inizializzato mediante informazioni presenti nel registro di plug-in, senza dover eseguire alcun codice del plug-in.  Il contributo del plug-in dell'utente alla finestra di dialogo delle preferenze (la voce "Readme Example" a sinistra) viene visualizzato prima dell'esecuzione di qualsiasi codice.

Pagina
delle preferenze del workbench

La preferenza "Readme Example" viene aggiunta al livello più alto della struttura delle preferenze situata a sinistra.  Perché? Perché 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 di readme tool, "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 creerà e visualizzerà una pagina delle preferenze utilizzando la classe specificata nella definizione dell'estensione.  Questa azione è quella che determina l'attivazione del plug-in (se non era già stato attivato in seguito ad un'altra operazione dell'utente).

Copyright
IBM Corp. e altri 2000,2002.