Contribuindo com uma Página de Pesquisa

Quando o usuário seleciona um recurso e escolhe o comando de pesquisa, o plug-in de pesquisa ativa um diálogo que contém páginas para diferentes tipos de pesquisas de conteúdo.  Essas páginas são contribuídas utilizando o ponto de extensão org.eclipse.search.searchPages.

A marcação para contribuir com uma página de pesquisa é direta.  O exemplo a seguir é a contribuição do plug-in JDT da página de pesquisa Java:

<extension point="org.eclipse.search.searchPages">
   <page id="org.eclipse.jdt.ui.JavaSearchPage"
         icon="icons/full/obj16/jsearch_obj.gif"
         label="%JavaSearchPage.label"
         sizeHint="460,160"
	 extensions="java:90, jav:90"
	 showScopeSection="true"
	 class="org.eclipse.jdt.internal.ui.search.JavaSearchPage">
   </page>
</extension>

A classe que implementa a página de pesquisa deve ser especificada.  Essa classe deve implementar a interface ISearchPage e normalmente estender DialogPage.  O label e icon que podem ser utilizados para descrever a pesquisa em seu diálogo também são especificados.  Parâmetros adicionais controlam o tamanho da página e sua localização no diálogo de pesquisa.

O atributo extensions especifica os recursos nos quais a página de pesquisa pode operar.  Ele é formatado como uma lista de extensões de arquivos separados por vírgulas.  Cada extensão de arquivo deve ser seguida por um valor de peso numérico, em que 0 é o menor peso, separado por uma vírgula.  O valor do peso é um valor relativo utilizado para permitir que a infra-estrutura de pesquisa localize a página de pesquisa mais apropriada para determinado recurso.

Se uma página de pesquisa puder pesquisar todos os recursos possíveis, "*" deverá ser utilizado.

Implementando a Página de Pesquisa

O protocolo para ISearchPage é simples.  Sua página de pesquisa deve implementar performAction() que será chamado quando o botão Pesquisar for pressionado.  Evidentemente que sua implementação específica de pesquisa depende da função de seu plug-in, mas é típico abrir um visualizador de resultados nesse método utilizando o método activateSearchResultView() de SearchUI .

Seu plug-in é responsável por mostrar seus resultados na exibição resultado da pesquisa.  As correspondências são adicionadas à exibição utilizando o protocolo ISearchResultView.  Para cada correspondência da pesquisa, são especificados uma descrição da correspondência e um marcador no recurso.  Consulte Marcadores de recurso para obter informações sobre marcadores e como eles funcionam.

Copyright IBM Corporation e outros 2000, 2003.