Udvidelsespunktet org.eclipse.ui.preferencePages
gør det muligt for dig at levere sider til dialogboksen med generelle indstillinger
(Vindue > Indstillinger). Indstillingsdialogboksen præsenterer en hierarkisk liste over brugerindstillingsindgange.
Hver indgang viser en tilsvarende indstillingsside, når den vælges.
Readme-værktøjet bruger dette udvidelsespunkt til at tilføje Readme-eksemplets indstillingsside.
<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>
Denne kode definerer en indstillingsside med navn "Readme-eksempel", som implementeres af klassen ReadmePreferencePage. Klassen skal implementere grænsefladen IWorkbenchPreferencePage.
Arbejdsbænken bruger kerne-runtime's indstillingsmekanismer til at få adgang til alle noderne i indstillingstræstrukturen og deres tilsvarende sider. Denne liste kan initialiseres fra oplysninger i indstillingsserviceprogrammet uden at nogen plugin-kode udføres.
Indstillingen "Readme-eksempel" tilføjes til det øverste niveau af indstillingstræstrukturen til venstre. Hvorfor?Fordi leveringen af en indstillingsside tilføjes til træstrukturen som en rod, medmindre der er angivet en category-attribut. (Navnet category er lidt misvisende. Et bedre navn er muligvis sti.) Attributten category angiver id'en (eller en id-sekvens fra roden) til den overordnede side. Følgende kode opretter f.eks. en yderligere indstillingsside til readme-værktøjet, "Readme-eksempel - underordnet side", som er underordnet i forhold til den oprindelige side.
<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-eksempel - underordnet side" category="org.eclipse.ui.examples.readmetool.Page1> </page> </extension>
Når brugeren vælger indgangen for en indstillingsside i træstrukturen til venstre, opretter og viser arbejdsbænken en indstillingsside vha. den klasse, der er angivet i definitionen af udvidelsen. Denne funktion er det, som aktiverer plugin'en (hvis den ikke allerede er aktiveret pga. en anden brugerhandling).