Finestre di dialogo per applicazioni

Quando una finestra di dialogo è troppo semplice per il proprio plug-in, è possibile crearne una personalizzata utilizzando la classe Dialog. In precedenza, è stato descritto il modo in cui lo strumento readme contribuisce a un'azione di "apertura browser del readme" in una serie di azioni.  Tale serie di azioni viene visualizzata nella barra degli strumenti del workbench e nel menu Finestra > Editor del file Readme.  

A questo punto è possibile esaminare l'implementazione di questa azione in WindowActionDelegate dello strumento readme.

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

Il delegato dell'azione di finestra per la serie di azioni utilizza la selezione corrente della visualizzazione del navigator delle risorse (il file .readme) per richiamare un elenco delle sezioni contenute nel file readme. Questo elenco e la shell della finestra del workbench vengono passati a SectionsDialog

Quando l'utente seleziona l'azione, viene aperta SectionsDialog.

SectionsDialog viene implementata nel plug-in del readme tool creando sottoclassi della classe Dialog nel pacchetto org.eclipse.jface.dialogs.

La classe Dialog fornisce il supporto fondamentale per la creazione di una finestra shell della finestra di dialogo, per la creazione dei pulsanti comuni e per l'avvio della finestra di dialogo. Le sottoclassi sono responsabili della gestione del contenuto della finestra di dialogo stessa:

Le finestra di dialogo possono essere semplici o complesse, a seconda delle necessità. Quando si implementa una finestra di dialogo, la maggior parte del codice della finestra riguarda la creazione dei controlli SWT che rappresentano la relativa area del contenuto e la gestione di tutti gli eventi necessari durante la visualizzazione della finestra di dialogo. Quando l'utente preme un pulsante, la finestra di dialogo può eseguire una query dello stato dei vari controlli (o dei visualizzatori) che compongono la finestra stessa per determinare l'azione da intraprendere.