Utilizzo delle finestre di dialogo della procedura guidata

L'esempio precedente ha fornito una procedura guidata per un punto di estensione specificato. Un altro caso, forse più comune, è rappresentato dall'avvio della procedura guidata del proprio plug-in da un'azione definita dall'utente. In Contributi ai menu del workbench, è stato descritto come fornire azioni al workbench.

Durante l'avvio della propria procedura guidata, è necessario eseguire il wrap di quest'ultima in una WizardDialog. Questo dettaglio non verrà eseguito dal workbench, a differenza di ciò che avviene quando l'utente fornisce un'estensione di procedura guidata.

Ad esempio, ReadmeCreationWizard potrebbe essere avviato indipendentemente mediante la creazione di una finestra di dialogo di procedura guidata e associando quest'ultima a ReadmeCreationWizard. Il seguente frammento di codice mostra come questa operazione può essere effettuata da un delegato di azione. Il metodo presuppone che si conosca il workbench e la selezione.

public void run(IAction action) {
    // Creare la procedura guidata
    ReadmeCreationWizard wizard = new ReadmeCreationWizard();
    wizard.init(getWorkbench(), selection);

    // Creare la finestra della procedura guidata
    WizardDialog dialog = new WizardDialog
        (getWorkbench().getActiveWorkbenchWindow().getShell(),wizard);

    // Aprire la finestra della procedura guidata
    dialog.open();

}