Example usage for com.google.gwt.view.client DefaultSelectionEventManager.CheckboxEventTranslator DefaultSelectionEventManager.CheckboxEventTranslator

List of usage examples for com.google.gwt.view.client DefaultSelectionEventManager.CheckboxEventTranslator DefaultSelectionEventManager.CheckboxEventTranslator

Introduction

In this page you can find the example usage for com.google.gwt.view.client DefaultSelectionEventManager.CheckboxEventTranslator DefaultSelectionEventManager.CheckboxEventTranslator.

Prototype

DefaultSelectionEventManager.CheckboxEventTranslator

Source Link

Usage

From source file:org.jboss.as.console.client.administration.role.form.RolesFormItem.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Widget asWidget() {
    // table/*from  ww w . ja v  a  2 s  .c om*/
    DefaultCellTable<Role> table = new DefaultCellTable<Role>(pageSize, keyProvider);
    table.setSelectionModel(selectionModel, DefaultSelectionEventManager
            .createCustomManager(new DefaultSelectionEventManager.CheckboxEventTranslator<Role>() {
                @Override
                public SelectAction translateSelectionEvent(CellPreviewEvent<Role> event) {
                    SelectAction action = super.translateSelectionEvent(event);
                    if (action.equals(SelectAction.IGNORE)) {
                        Role role = event.getValue();
                        boolean selected = selectionModel.isSelected(role);
                        return selected ? SelectAction.DESELECT : SelectAction.SELECT;
                    }
                    return action;
                }
            }));
    dataProvider.addDataDisplay(table);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(final SelectionChangeEvent event) {
            value.clear();
            value.addAll(selectionModel.getSelectedSet());
            setModified(true);
        }
    });

    // columns
    Column<Role, Boolean> checkColumn = new Column<Role, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(Role role) {
            // Get the value from the selection model.
            return selectionModel.isSelected(role);
        }
    };
    TextColumn<Role> nameColumn = new TextColumn<Role>() {
        @Override
        public String getValue(Role role) {
            return role.getName();
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    table.setColumnWidth(checkColumn, 40, PX);
    table.addColumn(nameColumn, Console.CONSTANTS.common_label_name());

    // pager
    DefaultPager pager = new DefaultPager();
    pager.setWidth("auto");
    pager.setDisplay(table);

    // panels
    VerticalPanel content = new VerticalPanel();
    content.setWidth("95%");
    content.add(table);
    content.add(pager);
    wrapper = new FormItemPanelWrapper(content, this);
    return wrapper;
}