Am Erweiterungspunkt org.eclipse.ui.preferencePages können Sie den Benutzervorgabendialog der Workbench (Fenster > Benutzervorgaben) durch Seiten ergänzen. Der Benutzervorgabendialog stellt eine hierarchische Liste der Einträge für die Benutzervorgaben dar. Jeder Eintrag zeigt bei seiner Auswahl eine entsprechende Benutzervorgabenseite an.
Das Tool für Readme-Dateien verwendet diesen Erweiterungspunkt, um die Benutzervorgabenseite "Beispiel für Readme-Datei" hinzuzufügen.
<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>
Diese Befehle definieren eine Benutzervorgabenseite namens "Beispiel für Readme-Datei", die durch die Klasse ReadmePreferencePage implementiert wird. Die Klasse muss die Schnittstelle IWorkbenchPreferencePage implementieren.
Die Workbench verwendet eine Klasse PreferenceManager, um eine Liste aller Knoten in der Baumstruktur der Benutzervorgaben und ihrer entsprechenden Seiten zu verwalten. Diese Liste kann aus Informationen in der Plug-in-Registrierung initialisiert werden, ohne dass ein Plug-in-Code ausgeführt werden muss. Die Ergänzung, die durch Ihr Plug-in für den Benutzervorgabendialog (Eintrag "Beispiel für Readme-Datei" auf der linken Seite) bereitgestellt wird, wird angezeigt, bevor der Code ausgeführt wird.
Die Benutzervorgabe "Beispiel für Readme-Datei" wird auf der obersten Ebene der Baumstruktur für die Benutzervorgaben, die auf der linken Seite angezeigt wird, hinzugefügt. Dies liegt daran, dass eine Ergänzung durch eine Benutzervorgabenseite als Stammebene der Baumstruktur hinzugefügt wird, wenn das Attribut category nicht angegeben wurde. (Der Name category ist etwas irreführend). Ein besserer Name wäre vielleicht path (=Pfad).) Das Attribut category gibt die ID (oder eine Folge von IDs aus dem Stamm) der übergeordneten Seite an. Die folgende Befehlsdefinition würde beispielsweise eine zweite Benutzervorgabenseite für das Tool für Readme-Dateien (namens "Readme Example Child Page") als untergeordnete Seite der Originalseite erstellen.
<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>
Sobald der Benutzer den Eintrag für eine Benutzervorgabenseite in der Baumstruktur auf der linken Seite auswählt, erstellt die Workbench mit Hilfe der Klasse, die in der Erweiterungsdefinition angegeben ist, eine Benutzervorgabenseite und zeigt diese an. Diese Aktion aktiviert das Plug-in (sofern es nicht bereits durch eine andere Benutzeraktion aktiviert war).