Benutzervorgabenseite ergänzen

Am Erweiterungspunkt org.eclipse.ui.preferencePages können Sie den Benutzervorgabendialog der Workbench Fenster->Benutzervorgaben) um neue Seiten erweitern. 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 die Benutzervorgabenmechanismen der Kernlaufzeit, um auf alle Knoten in der Baumstruktur der Benutzervorgaben und ihrer entsprechenden Seiten zuzugreifen. Diese Liste kann über Informationen aus dem Benutzervorgaben-Service initialisiert werden. Eine Ausführung von Plug-in-Code ist hierfür nicht notwendig.

Benutzervorgabenseite der Workbench

Die Benutzervorgabe "Readme Example" wird auf der obersten Ebene der Baumstruktur für die Benutzervorgaben, die auf der linken Seite angezeigt wird, aus folgendem Grund hinzugefügt:  Eine Ergänzung wird durch eine Benutzervorgabenseite als Stammebene der Baumstruktur hinzugefügt, 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).