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 explicó cómo la herramienta readme contribuyó con la acción "Open Readme Browser" de un conjunto de acciones.  Este conjunto de acciones se muestra en la barra de herramientas del entorno de trabajo y en el menú Window->Readme File Editor.  

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 la secciones del archivo readme. Esta lista y el shell de la ventana de entorno de trabajo se pasan a SectionsDialog

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

SectionsDialog se implementa en el conector de la herramienta readme estableciendo la clase Dialog como subclase en el 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 contendido del diálogo mismo:

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.