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 como a ferramenta leia-me contribuiu com uma ação "Abrir Navegador do Leia-me" em um conjunto de ações.  Esse conjunto de ações é mostrado na barra de ferramentas do workbench e no menu Janela->Editor de Arquivo Leia-me.  

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

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 visualização do navegador de recurso (o arquivo .readme) para obter uma lista de seções no arquivo readme. Esta lista e o shell da janela do workbench são transmitidos para o SectionsDialog

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

O SectionsDialog é implementado no plug-in da ferramenta leia-me 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:

SectionsDialog não implementa um método okButtonPressed. Ele herda a implementação "fazer nada" do Diálogo. Isso não é típico. Seu diálogo normalmente executa algum processamento em resposta de um dos botões da caixa de diálogo que estejam pressionados.

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.