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

Los asistentes se visualizan en la UI colocándolos en un diálogo contenedor.  Este detalle se maneja automáticamente cuando el usuario añade una extensión de asistente.  Si va a lanzar su propio asistente, debe visualizarlo envolviéndolo en una clase WizardDialog.

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();
   }

Si necesita incorporar un asistente en cualquier otro lugar de la interfaz de usuario del conector, la interfaz IWizardContainer define el protocolo necesario para alojar un asistente.

Copyright IBM Corporation y otros 2000, 2003.