O exemplo anterior forneceu um assistente de um ponto de extensão especificado. Outro caso, talvez mais comum, é desejar lançar seu próprio assistente de plug-in de alguma ação que você definiu. (Em Contribuições do menu do workbench, discutimos as maneiras de contribuir com ações para o workbench.)
Os assistentes são exibidos na UI colocando-os em um diálogo de contenção. Esse detalhe é tratado quando você contribui com uma extensão do assistente. Ao ativar seu próprio assistente, você mesmo deve exibi-lo agrupando-o em um WizardDialog.
Por exemplo, o ReadmeCreationWizard poderia ser lançado independentemente criando um diálogo de assistente e associando-o ao ReadmeCreationWizard. O seguinte trecho de código mostra como isso poderia ser feito desde alguma ação delegada. (O método assume que conhecemos o workbench e a seleção.)
public void run(IAction action) { // Criar o assistente ReadmeCreationWizard wizard = new ReadmeCreationWizard(); wizard.init(getWorkbench(), selection); // Criar o diálogo do assistente WizardDialog dialog = new WizardDialog (getWorkbench().getActiveWorkbenchWindow().getShell(),wizard); // Abrir o diálogo do assistente dialog.open(); }
Se você precisar incorporar um assistente em qualquer outra parte da interface com o usuário do plug-in, a interface IWizardContainer definirá o protocolo necessário para hospedar um assistente.