Os assistentes utilizam-se para orientar o utilizador ao longo de um conjunto de tarefas em sequência. O plug-in pode contribuir com assistentes em pontos de extensão predeterminados na área de trabalho. Também pode criar e lançar assistentes próprios.
Ao contribuir para um ponto de extensão de assistente na área de trabalho, as acções que iniciam o assistente já estão configuradas pela área de trabalho. Só é necessário facultar o assistente que será utilizado.
Se precisar de lançar outros assistentes que ainda não estejam definidos em pontos de extensão de assistente na área de trabalho, será necessário lançá-los por si só. Poderá lançar assistentes próprios adicionando uma acção a uma vista, um editor, um menu emergente ou um conjunto de acções.
Um assistente compõe-se de várias partes subjacentes diferentes.
O diálogo assistente (WizardDialog) é o diálogo de nível superior num assistente. Define os botões padrão do assistente e gere um conjunto de páginas que o mesmo proporciona.
Ao contribuir para uma extensão de assistente na área de trabalho, não é necessário criar um diálogo assistente. A área de trabalho cria um por si e o assistente é definido nela.
O diálogo assistente realiza a activação e desactivação dos botões Seguinte, Retroceder e Terminar com base nas informações que obtém junto do assistente e da actual página do assistente.
O assistente (IWizard) controla a aparência e o comportamento globais do assistente como, por exemplo, texto da barra de títulos, imagem e disponibilidade de um botão Ajuda. Os assistentes utilizam frequentemente um DialogSettings correspondente para obter (e armazenar) as predefinições de controlos nas páginas do assistente.
A classe Wizard implementa muitos dos detalhes para comportamento padrão do assistente. Geralmente estende-se esta classe para implementar comportamento específico do assistente. As principais responsabilidades do assistente são:
A página assistente (IWizardPage) define os controlos utilizados para mostrar o conteúdo da página assistente, reage a eventos nas suas áreas de conteúdo e determina quando é que a página está completa.
A página assistente geralmente estende a classe WizardPage. As principais responsabilidades da página assistente são: