Diálogos de Aplicativo

Quando um diálogo padrão for muito simples para seu plug-in, é possível construir seu próprio diálogo utilizando a classe Diálogo. Antes, nós vimos a ferramenta leiame contribuída com uma ação "Abrir Navegador do Leiame" em um conjunto de ações.  Esse conjunto de ações é mostrado na barra de ferramentas do workbench e no menu Janela->Editor do Arquivo Leiame.  

Agora estamos prontos para ver a implementação desta ação no WindowActionDelegate da ferramenta leiame.

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

A ação da janela delegada para o conjunto de ações utiliza a seleção atual na exibição do navegador de recurso (o arquivo .readme) para obter uma lista de seções no arquivo leiame. Essa lista e o shell da janela do workbench são passados para o SectionsDialog

Quando o usuário seleciona a ação, o SectionsDialog é aberto.

O SectionsDialog é implementado no plug-in da ferramenta leiame ordenando em classes filhas da classe Diálogo no pacote org.eclipse.jface.dialogs.

A classe Diálogo fornece suporte básico para a construção da janela de shell do diálogo, criando os botões comuns do diálogo e lançando o diálogo. As classes filhas são responsáveis por identificar o conteúdo do próprio diálogo:

As caixas de diálogo podem ser tão simples ou tão complicada, conforme necessário. Quando implementar um diálogo, a maioria dos códigos do diálogo é relacionada à criação dos controles SWT que representam sua área de conteúdo e identificam qualquer evento necessário enquanto o diálogo estiver para cima. Assim que um botão for pressionado pelo usuário, o diálogo pode consultar o estado de vários controles (ou visualizadores) que fazem com que o diálogo determine o que fazer.