Utilización de diálogos de asistente

En el ejemplo anterior se suministraba un asistente para un punto de extensión especificado. Otro caso, tal vez más común, es que quiera lanzar el asistente de su propio conector a partir de alguna acción que haya definido. (En Contribuciones de menú del entorno de trabajo se muestran las maneras mediante las que puede contribuir con acciones al entorno de trabajo).

Si va a lanzar su propio asistente, debe envolverlo en una clase WizardDialog. Esto no lo hará automáticamente el entorno de trabajo, como ocurre cuando usted contribuye con una extensión de asistente.

Por ejemplo, la clase ReadmeCreationWizard podría lanzarse independientemente creando un diálogo de asistente y asociándolo a ReadmeCreationWizard. El siguiente fragmento de código muestra cómo hacerlo desde un delegado de acción. (El método presupone que se conoce el entorno de trabajo y la selección).

   public void run(IAction action) {
      // Crear el asistente
      ReadmeCreationWizard wizard = new ReadmeCreationWizard();
      wizard.init(getWorkbench(), selection);

      // Crear el diálogo del asistente
      WizardDialog dialog = new WizardDialog
         (getWorkbench().getActiveWorkbenchWindow().getShell(),wizard);
      // Abrir el diálogo del asistente
      dialog.open();
   }

Copyright IBM Corp. y otros 2000, 2002.