# Preference Pages

###### Identifier:

org.eclipse.ui.preferencePages

###### Description:

The workbench provides one common dialog box for preferences. The purpose of this extension point is to allow plug-ins to add pages to the preference dialog box. When preference dialog box is opened (initiated from the menu bar), pages contributed in this way will be added to the dialog box.

The preference dialog box provides for hierarchical grouping of the pages. For this reason, a page can optionally specify a `category` attribute. This attribute represents a path composed of parent page IDs separated by '/'. If this attribute is omitted or if any of the parent nodes in the path cannot be found, the page will be added at the root level.

###### Configuration Markup:

<!ELEMENT extension (page*)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT page (keywordReference*)>

<!ATTLIST page

id CDATA #REQUIRED

name CDATA #REQUIRED

class CDATA #REQUIRED

category IDREF #IMPLIED

>

- id - a unique name that will be used to identify this page.
- name - a translatable name that will be used in the UI for this page.
- class - a name of the fully qualified class that implements `org.eclipse.ui.IWorkbenchPreferencePage`.
- category - a path indicating the location of the page in the preference tree. The path may either be a parent node ID or a sequence of IDs separated by '/', representing the full path from the root node.

<!ELEMENT keywordReference EMPTY>

<!ATTLIST keywordReference

id IDREF #REQUIRED

>

A reference by a preference page to a keyword. See the keywords extension point.

- id - The id of the keyword being referred to.

###### Examples:

The following is an example for the preference extension point:

       <extension
           point="org.eclipse.ui.preferencePages">
          <page
             id="com.xyz.prefpage1"
             name="XYZ"
             class="com.xyz.prefpages.PrefPage1">
             <keywordReference id="xyz.Keyword"/>
          </page>
          <page
             id="com.xyz.prefpage2"
             name="Keyboard Settings"
             class="com.xyz.prefpages.PrefPage2"
             category="com.xyz.prefpage1">
          </page>
       </extension>

###### API Information:

The value of the attribute class must represent a fully qualified name of the class that implements `org.eclipse.ui.IWorkbenchPreferencePage`.

###### Supplied Implementation:

The workbench adds several pages for setting the preferences of the platform. Pages registered through this extension will be added after them according to their category information.

Copyright (c) 2002, 2005 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html