Assistentendialoge

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

Assistenten werden in der Benutzerschnittstelle angezeigt, indem sie in einen übergeordneten Dialog gestellt werden.   Dieses Detail wird automatisch ausgeführt, wenn Sie eine Ergänzug für eine Assistentenerweiterung bereitstellen.   Sobald Sie Ihren eigenen Assistenten starten, müssen Sie ihn selber anzeigen, indem Sie ihn in ein ObjektWizardDialog einbinden.

Beispielsweise könnte die Klasse ReadmeCreationWizard unabhängig gestartet werden, indem ein Assistentendialog erstellt und der Klasse ReadmeCreationWizard zugeordnet wird. Das folgende Code-Snippet 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();
   }

Falls Sie einen Assistenten an einer anderen Stelle in der Benutzerschnittstelle Ihres Plug-ins einbetten müssen, definiert die Schnittstelle IWizardContainer das erforderliche Protokoll für das Hosting eines Assistenten.

Copyright IBM Corporation und Andere 2000, 2003.