Hakusivun toimitus

Kun käyttäjä valitsee resurssin ja käyttää hakukomentoa, hakulisäosa avaa valintaikkunan, jossa on sivuja erilaisia sisältöhakuja varten.Näitä sivuja voi lisätä org.eclipse.search.searchPages-laajennuspisteen avulla.

Hakusivun toimitukseen käytetään yksinkertaista merkintää.Seuraava esimerkki liittyy Java-hakusivulla JDT-lisäosan toimitukseen:

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

Hakusivun toteuttava luokka eli class-määrite on määritettävä.Luokan tulee toteuttaa ISearchPage-rajapinta, ja yleensä se on DialogPage-luokan laajennus.Hakuvalintaikkunassa haun kuvaukseen käytetyt otsikon (label-määrite) ja kuvakkeen (icon-määrite) tiedot voidaan myös määrittää.Muut parametrit määrittävät sivun koon ja sivun sijainnin hakuvalintaikkunassa.

Extensions-määritteen mukaiset laajennukset määrittävät resurssit, joita hakusivu voi käsitellä.Extensions-määrite tulee muotoilla pilkuin eroteltuna tiedostotunnisteiden luettelona.Tiedoston tunnisteen perässä tulee aina olla kaksoispiste ja numeerinen painotusarvo, jossa 0 on pienin painotus.Painotusarvo on suhteellinen arvo, jonka avulla hakurakenne löytää tietylle resurssille parhaiten sopivan hakusivun.

Jos hakusivu voi hakea kaikista mahdollisista resursseista, arvoksi tulee määrittää tähti (*).

Hakusivun toteutus

ISearchPage-luokan yhteyskäytäntö on yksinkertainen.Hakusivun tulee toteuttaa performAction()-metodi, jota kutsutaan, kun käyttäjä painaa Hae-painiketta.Haun toteutus määräytyy lisäosan toiminnon perusteella, mutta yleensä hakutulosten katseluohjelma avataan tässä metodissa käyttämällä NewSearchUI-luokan metodia activateSearchResultView().

Hakutulosten näyttö hakutulosten katseluohjelmassa on lisäosan vastuulla.