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.