Utilizando os Diálogos do Assistente

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.)

Quando estiver lançando seu próprio assistente, será necessário colocar o assistente em um WizardDialog. Esse detalhe não será tratado pelo workbench para você como ele é tratado quando você contribui com uma extensão de assistente.

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();

}