Diálogos de aplicación

Cuando un diálogo estándar es demasiado simple para un conector, puede construir su propio diálogo utilizando la clase Dialog. Anteriormente, se ha descrito cómo la herramienta readme contribuyó con la acción "Abrir navegador de Readme" de un conjunto de acciones.  Este conjunto de acciones se muestra en la barra de herramientas del entorno de trabajo y en el menú Ventana->Editor de archivos Readme.  

Ahora se tratará la implementación de esta acción en WindowActionDelegate de la herramienta readme.

public void run(IAction action) {
      SectionsDialog dialog = new SectionsDialog(window.getShell(),
         ReadmeModelFactory.getInstance().getSections(selection));
      dialog.open();
   }

La delegación de acciones de ventana para el conjunto de acciones utiliza la selección actual de la vista del navegador de recursos (el archivo .readme) para obtener una lista de las secciones del archivo readme. Esta lista y la shell de la ventana del entorno de trabajo se pasan a SectionsDialog

Cuando el usuario selecciona la acción, se abre SectionsDialog.

SectionsDialog se implementa en el conector de la herramienta readme creando una subclase de la clase Dialog del paquete org.eclipse.jface.dialogs.

La clase Dialog proporciona soporte básico para construir una ventana de shell de diálogos; para ello, se crean los botones de diálogo comunes y se lanza el diálogo. Las subclases son las responsables de manejar el contenido del propio diálogo:

SectionsDialog no implementa ningún método okButtonPressed. Hereda la implementación "do-nothing" (no hacer nada) de Diálogo. Esto no suele suceder. Generalmente, el diálogo efectúa algunos procesos como respuesta a uno de los botones de diálogo que se han pulsado.

Los diálogos pueden ser tan simples o complejos como sea preciso. Cuando se implementa un diálogo, la mayor parte del código está relacionado con la creación de los controles de SWT que representan su área de contenido y con el manejo de cualquier evento necesario mientras el diálogo está activo. En cuanto el usuario pulsa un botón, el diálogo puede consultar el estado de los distintos controles (o visores) que componen el diálogo para determinar qué se ha de hacer.