Das vorherige Beispiel hat einen Assistenten für einen angegebenen Erweiterungspunkt zur Verfügung gestellt. Ein weiterer und vielleicht häufiger eintretender Fall ist die Absicht, den Assistenten eines eigenen Plug-ins von einer Aktion aus zu starten, die Sie definiert haben. (Die unterschiedlichen Methoden, mit denen Sie die Workbench durch Aktionen ergänzen können, sind unter Ergänzungen für Workbench-Menüs erläutert.)
Wenn Sie einen eigenen Assistenten starten wollen, müssen Sie ihn in einer Klasse WizardDialog codieren. Dieses Detail wird, anders bei einer Ergänzung durch eine Assistentenerweiterung, nicht durch die Workbench für Sie verarbeitet.
Beispielsweise könnte die Klasse ReadmeCreationWizard unabhängig gestartet werden, indem ein Assistentendialog erstellt und der Klasse ReadmeCreationWizard zugeordnet wird. Der folgende Code-Ausschnitt veranschaulicht, wie dies über ein Delegieren der Aktion erfolgen kann. (Bei der Methode wird davon ausgegangen, dass die Workbench und die Auswahl bekannt sind.)
public void run(IAction action) {
// Assistenten erstellen
ReadmeCreationWizard wizard = new ReadmeCreationWizard();
wizard.init(getWorkbench(), selection);
// Assistentendialog erstellen
WizardDialog dialog = new WizardDialog
(getWorkbench().getActiveWorkbenchWindow().getShell(),wizard);
// Assistentendialog öffnen
dialog.open();
}