A ajuda sensível a contextos é descrita mediante associação do ID de contexto declarado no código da UI a uma descrição e uma lista de ligações a tópicos relacionados na ajuda online. Estas associações processam-se dentro de um ficheiro XML. Poderá criar os ficheiros XML que contenham associações de ajuda de contexto que entender para cada plug-in. A descrição e as ligações para cada ID de contexto processam-se dentro de elementos <contexto> no ficheiro XML. Cada elemento de contexto pode ter um elemento <descrição> opcional que se usa para descrever o objecto da UI e os elementos <tópico> que liguem à documentação online que se quiser.
Desde a versão 3.1, os elementos de contexto podem sobrepor opcionalmente o título predefinido utilizado para apresentar as informações da ajuda de contexto na vista Ajuda.
<contexts> <context id="panic_button" title="Panic Button Title"> <description>This is the panic button.</description> <topic href="tasks/pushing_the_panic_button.htm" label="Pushing the panic button"/> <topic href="reference/panic_button.htm" label="Panic Button Reference"/> </context> ... </contexts>
Uma vez os contextos descritos no ficheiro XML (ou ficheiros), está tudo pronto para remeter para os ficheiros de contexto no manifesto do plug-in. Repare que o ID de contexto não está totalmente qualificado supra. Tal é permitido, desde que o ficheiro de contexto seja contributo dentro do manifesto do plug-in que definiu o ID de contexto. Por outras palavras, o ID de contexto é resolvido no ID do plug-in que contribuiu com o ficheiro XML.
Um plug-in contribui com ficheiros de contexto através do ponto de extensão org.eclipse.help.contexts.
<extension point="org.eclipse.help.contexts"> <contexts name="myContextHelp.xml" /> </extension>
Poderá referenciar ficheiros de contexto oriundos de outros plug-ins incluindo o atributo plugin. Isto permite agrupar toda a documentação, incluindo ajuda sensível a contextos, num único plug-in, e remeter para o mesmo a partir do plug-in do código da UI ou outro plug-in relacionado.
<extension point="org.eclipse.help.contexts"> <contexts name="myContextHelp.xml" plugin="com.example.helpExample" /> </extension>
Como pode ver, dispõe de grande flexibilidade na organização dos contextos em um ou mais ficheiros contidos em um ou mais plug-ins. A consideração principal é que os IDs de contexto nos ficheiros sejam correctamente resolvidos. Se não qualificar totalmente um ID de contexto, terá de contribuir com os ficheiros XML de contexto no plug-in que declarou os IDs de contexto. Se utilizar IDs de contexto totalmente qualificados no ficheiro XML de contexto, terá completa flexibilidade na localização dos ficheiros XML e nos plug-ins que contribuem com os contextos.
Outro nível de flexibilidade é a capacidade de contribuir com ajuda sensível a contextos para o mesmo ID de contexto a partir de plug-ins diferentes. Isto é útil, por exemplo, se houver diversos conjuntos de plug-ins de documentação que possam ou não estar instalados na configuração de um utilizador. Tal permite que cada plug-in de documentação declare os respectivos contextos independentemente. O utilizador final verá o conteúdo da ajuda sensível a contextos intercalado para todos os plug-ins que contribuíram com contextos para o ID do widget.
Repare que deve ser utilizado o ID de contexto totalmente qualificado para o widget, visto que nenhum dos plug-ins de documentação declarou o ID de contexto. Quando vários plug-ins contribuem com ajuda sensível a contextos para o mesmo ID de contexto, o conteúdo definido no plug-in que declarou o contexto (o plug-in da UI) é mostrado primeiro. São anexadas descrições e ligações adicionais sem ordem garantida.
Conteúdo dinâmico
O conteúdo dinâmico está disponível para a ajuda de contexto sob a forma de filtros em ligações de tópicos de ajuda de contexto. Por exemplo, poderá desejar que uma ligação de tópicos seja apenas apresentada na ajuda de contexto quando estiver a ser executado um sistema operativo específico.