sexta-feira, 27 de novembro de 2015

SWT Command

- A maneira mais simples de definir o handler do comando através da propriedade defaultHandlerId. Dessa maneira não é necessário estender org.eclipse.ui.handlers
- Caso se queira que o comando tenha label dinâmico é necessário implementar a interface org.eclipse.ui.commands.IElementUpdater:
    @SuppressWarnings("rawtypes")
    publicvoid updateElement(UIElement element, Map parameters) {
        String text = condicao ? "Texto caso a condição seja satisfeita" : "Texto caso a condição não seja satisfeita";
        
        element.setText(text);
        element.setTooltip(text);
    }

- E quando o texto precisar ser atualizado:

    private void refreshUI(ExecutionEvent event) {
        IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
        ICommandService service = (ICommandService) window.getService(ICommandService.class);
        service.refreshElements("com.o2filmes.storytouch.editor.togglescenenumbers", null);
    }

Nenhum comentário: