Eclipse RCP - abrir uma dialog window a partir de um botão

Pessoal, estou precisando abrir uma caixa de dialogo a partir de um botão dentro de uma view.

Acontece que para abrir um dialogo eu preciso passar para o construtor do dialogo o shell ativo, nos exemplos que vi este shell é capturado utilizando o HandlerUtil, porém o HandlerUtil trabalha com a ExecutionEvent dos comandos, e quando estamos desenvolvendo um botão o que temos disponivel é a SelectionEvent, desta forma não estou conseguindo recuperar o shell ativo para poder criar uma dialog.

Segue Exemplo de como se cria uma Dialog a partir de um comando:

[code]
public class OpenDialog extends AbstractHandler {

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
	Shell shell = HandlerUtil.getActiveWorkbenchWindow(event).getShell();

	// File standard dialog
	FileDialog fileDialog = new FileDialog(shell);
	// Set the text
	fileDialog.setText("Select File");
	// Set filter on .txt files
	fileDialog.setFilterExtensions(new String[] { "*.txt" });
	// Put in a readable name for the filter
	fileDialog.setFilterNames(new String[] { "Textfiles(*.txt)" });
	// Open Dialog and save result of selection
	String selected = fileDialog.open();
	System.out.println(selected);
	return null;
}

}[/code]
Alguém sabe como consigo ter acesso ao shell ativo tendo em mãos uma SelectionEvent no lugar de uma ExecutionEvent?

Uma alternativa seria criar um comando que chama a dialog e a partir da programação do botão forcar que este comando seja executado, isso é possivel?

Obrigado,
Eder Colin

Senhores,

Verifiquei que simplismente passando um “new Shell()” para o construtor da dialog funciona.

Ainda não tive tempo de estudar a estrutura do RCP como deveria, alguém sabe me dizer se isso tem algum problema?

Obrigado,
Eder Colin