Contribuindo com uma Página de Preferências

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.

Página de Preferências do Workbench

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).

Copyright IBM Corp. e outros 2000,2002.