O ponto de extensão org.eclipse.ui.preferencePages permite que você contribua com as páginas no diálogo de preferências do workbench (Janela->Preferências). O diálogo de preferências apresenta uma lista hierárquica de entradas de preferência de usuário. Cada entrada exibe uma página de preferência correspondente quando selecionada.
A ferramenta leiame utiliza esse ponto de extensão para incluir a página de preferências de Exemplo Leiame.
<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>
Essa marcação define uma página de preferência chamada "Exemplo de Leiame" que é implementada pela classe ReadmePreferencePage. A classe deve implementar a interface IWorkbenchPreferencePage.
O workbench utiliza um PreferenceManager para manter uma lista de todos os nós na árvore de preferência e suas páginas correspondentes. Essa lista pode ser inicializada a partir de informações no registro de plug-in sem executar qualquer código de plug-in. Sua contribuição de plug-in para o diálogo de preferência (a entrada "Exemplo de Leiame" à esquerda) é exibida antes de executar qualquer código.
A preferência "Exemplo de Leiame" é incluída no nível superior da árvore de preferência à esquerda. Por quê? Porque uma contribuição de página de preferência será incluída como uma raiz da árvore, a não ser que um atributo categoria seja especificado. (O nome categoria é algo ambíguo. Talvez um nome melhor seja caminho.) O atributo categoria especifica o id (ou uma seqüência de ids da raiz) da página pai. Por exemplo, a marcação a seguir criaria uma segunda página de preferência da ferramenta leiame, "Página Filho de Exemplo de Leia me," como um filho da página original.
<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="Página Filho de Exemplo de Leia-me" category="org.eclipse.ui.examples.readmetool.Page1> </page> </extension>
Assim que o usuário selecionar a entrada para uma página de preferência na árvore à esquerda, o workbench criará e exibirá uma página de preferência utilizando a classe especificada na definição da extensão. Essa ação é o que ativa o plug-in (se já não estava ativado devido a outra operação do usuário).