Definições do Diálogo

O pacote org.eclipse.jface.dialogs fornece uma classe de utilitário, DialogSettings, para armazenamento e recuperação de valores-chave. É possível utilizar essa classe para salvar e recuperar tipos de dados primitivos e valores de cadeia que você associa aos nomes-chave. As definições são carregadas e salvas utilizando um arquivo XML.

AbstractUIPlugin fornece suporte para definições de diálogo amplas de plug-in armazenadas em um arquivo XML no diretório de plug-in. Se um arquivo de configurações de caixa de diálogo não for localizado no diretório de plug-in, um DialogSettings vazio será criado para você. Quando o plug-in for encerrado, qualquer definição que você incluiu será salva em um arquivo XML e recuperada da próxima vez que o plug-in for inicializado.

É possível acessar as definições da caixa de diálogo em qualquer lugar no código de plug-in. O fragmento a seguir mostra como você poderia obter as definições do diálogo para a ferramenta leia-me.

   IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings();

Os valores são armazenados e recuperados utilizando os métodos de obtenção e de colocação. Os métodos de obtenção são nomeados depois do tipo do primitivo que está sendo acessado. É possível armazenar e recuperar os valores booleano, longos, duplos, flutuantes, internos, de matriz e de cadeia. O fragmento a seguir mostra como poderíamos utilizar as definições do diálogo para inicializar valores de controle em um diálogo.

protected Control createDialogArea(Composite parent) {
      IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings();
      checkbox = new Button(parent,SWT.CHECK);
      checkbox.setText("Gerar exemplos de títulos de seção");
      // inicializar a caixa de opção de acordo com as definições do diálogo
 checkbox.setSelection(settings.getBoolean("GenSections"));   }

O valor da definição pode ser armazenado posteriormente quando o botão OK for pressionado.

protected void okPressed() {
      IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings();

    // armazenar o valor da caixa de opção para gerar seções
 settings.put("GenSections", checkbox.getSelection()); super.okPressed();   }