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

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.

Copyright IBM Corporation e outros 2000, 2003.