Dynaaminen kohdeohje

Sen lisäksi, että widget-objektit ja kontekstitunnukset liitetään staattisesti, on mahdollista lisätä nämä tiedot dynaamisesti, jolloin tuloksena on entistä dynaamisempi kohdeohjetoiminto. Ohjejärjestelmä käyttää kontekstitunnuksia, joiden avulla se paikantaa org.eclipse.help.IContext-objektin. Uusi ohjenäkymä jäljittää työympäristön osien (näkymien ja muokkausohjelmien) aktivointia ja tarkistaa, sopivatko ne org.eclipse.help.IContextProvider-rajapintaan. Jos ne sopivat, näkymä paikallistaa IContext-objektin kontekstin toimittajan avulla ja noutaa edellytetyt tiedot siitä. Tämän objektin voi tallentaa välimuistiin tai luoda lennossa.

Työympäristön osien, joiden on tarkoitus luoda kontekstiobjekti dynaamisesti, on sovittava IContextProvider.class-objektiin avaimena:

public Object getAdapter(Class key) {
	if (key.equals(IContextProvider.class)) {
		return new MyContextProvider();
	}
	return super.getAdapter(key);
}

Kontekstin tarjoajan rajapinta edellyttää kolmen metodin toteutusta:

public class MyContextProvider implements IContextProvider {
	int getContextChangeMask() {
		return NONE;
	}
	IContext getContext(Object target) {
		return myContext;
	}
	String getSearchExpression(Object target) {
		return null;
	}
}

Jos kontekstin muutospeite palauttaa arvon NONE, kontekstiobjekti on lisättävä, kun työympäristöosa aktivoidaan. Jos arvo SELECTION palautuu, on lisättävä kontekstiobjekti, joka ottaa huomioon osan nykyisen valinnan. Joka kerran kun osan valinnan toimittaja aloittaa valinnan muutostapahtuman, kontekstin toimittajaa pyydetään lisäämään kontekstiobjekti.

Valinnaisesti voit lisätä dynaamisen ohjeen hakulausekkeen. Muussa tapauksessa osan nimen ja perspektiivin nimen yhdistelmä tuottaa useimmiten hyvän tuloksen.

Huomautus: Voit suodattaa kohdeohjeen aiheita kontekstin toimittajien lisäksi (tai niiden vaihtoehtona) XML-huomautusten avulla.