Example usage for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel

List of usage examples for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel

Introduction

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

Prototype

public SingleSelectionModel(ProvidesKey<T> keyProvider) 

Source Link

Document

Constructs a SingleSelectionModel with the given key provider.

Usage

From source file:org.roda.wui.client.common.lists.utils.AsyncTableCell.java

public AsyncTableCell(final Class<T> classToReturn, final Filter filter, final boolean justActive,
        final Facets facets, final String summary, final boolean selectable, final int initialPageSize,
        final int pageSizeIncrement, final O object, List<String> fieldsToReturn) {
    super();/*w  ww . j a  va 2  s .  c o m*/

    this.classToReturn = classToReturn;
    this.initialPageSize = initialPageSize;
    this.pageSizeIncrement = pageSizeIncrement;
    this.object = object;

    final String notNullSummary = StringUtils.isNotBlank(summary) ? summary : "summary" + Random.nextInt(1000);

    this.filter = filter;
    this.justActive = justActive;
    this.facets = facets;
    this.selectable = selectable;

    this.fieldsToReturn = fieldsToReturn;

    display = new AccessibleCellTable<>(getInitialPageSize(),
            (MyCellTableResources) GWT.create(MyCellTableResources.class), getKeyProvider(), summary);
    display.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
    display.setLoadingIndicator(new HTML(HtmlSnippetUtils.LOADING));

    configure(display);

    this.dataProvider = new MyAsyncDataProvider<T>(display, fieldsToReturn, new IndexResultDataProvider<T>() {

        @Override
        public void getData(Sublist sublist, Sorter sorter, List<String> fieldsToReturn,
                final AsyncCallback<IndexResult<T>> callback) {
            AsyncTableCell.this.getData(AsyncTableCell.this.getFilter(), sublist, sorter, fieldsToReturn,
                    new AsyncCallback<IndexResult<T>>() {

                        @Override
                        public void onFailure(Throwable caught) {
                            callback.onFailure(caught);

                        }

                        @Override
                        public void onSuccess(IndexResult<T> result) {
                            setResult(result);
                            callback.onSuccess(result);
                        }
                    });
        }

        @Override
        public Sorter getSorter(ColumnSortList columnSortList) {
            return AsyncTableCell.this.getSorter(columnSortList);
        }
    }) {

        @Override
        protected void fireChangeEvent(IndexResult<T> result) {
            ValueChangeEvent.fire(AsyncTableCell.this, result);
        }
    };

    dataProvider.addDataDisplay(display);

    resultsPager = new AccessibleSimplePager(AccessibleSimplePager.TextLocation.LEFT,
            (SimplePager.Resources) GWT.create(SimplePager.Resources.class), false, initialPageSize, false,
            false, (SimplePager.ImageButtonsConstants) GWT.create(SimplePager.ImageButtonsConstants.class));
    resultsPager.setDisplay(display);

    pageSizePager = new RodaPageSizePager(getPageSizePagerIncrement());
    pageSizePager.setDisplay(display);

    csvDownloadButton = new Button(messages.tableDownloadCSV());
    csvDownloadButton.addStyleName("btn btn-link csvDownloadButton");

    actionsButton = new Button(messages.tableAction());
    actionsButton.addStyleName("btn btn-link actionsButton");
    actionsButton.setVisible(actionable != null);

    createSelectAllPanel();

    add(selectAllPanel);
    add(display);
    add(resultsPager);
    add(pageSizePager);
    add(csvDownloadButton);
    add(actionsButton);

    csvDownloadButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            RestUtils.requestCSVExport(getClassToReturn(), getFilter(), dataProvider.getSorter(),
                    dataProvider.getSublist(), getFacets(), getJustActive(), false, notNullSummary + ".csv");
        }
    });

    actionsButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            showActions();
        }
    });

    selectionModel = new SingleSelectionModel<>(getKeyProvider());

    Handler<T> selectionEventManager = getSelectionEventManager();
    if (selectionEventManager != null) {
        display.setSelectionModel(selectionModel, selectionEventManager);
    } else {
        display.setSelectionModel(selectionModel);
    }

    columnSortHandler = new AsyncHandler(display);
    display.addColumnSortHandler(columnSortHandler);

    addStyleName("my-asyncdatagrid");
    resultsPager.addStyleName("my-asyncdatagrid-pager-results");
    pageSizePager.addStyleName("my-asyncdatagrid-pager-pagesize");
    display.addStyleName("my-asyncdatagrid-display");

    addValueChangeHandler(new ValueChangeHandler<IndexResult<T>>() {
        @Override
        public void onValueChange(ValueChangeEvent<IndexResult<T>> event) {
            selected = new HashSet<>();
            hideSelectAllPanel();
        }
    });

    updateEmptyTableWidget();
}

From source file:simplejcqrs.gae.client.CwCellList.java

License:Apache License

/**
 * Initialize this example./*from  w w w.  j  a v a  2  s  .c  o m*/
 */
public Widget onInitialize() {
    Images images = GWT.create(Images.class);

    // Create a CellList.
    ContactCell contactCell = new ContactCell(images.contact());

    // Set a key provider that provides a unique key for each contact. If key is
    // used to identify contacts when fields (such as the name and address)
    // change.
    cellList = new CellList<ContactInfo>(contactCell, ContactInfo.KEY_PROVIDER);
    cellList.setPageSize(30);
    cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE);
    cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION);

    // Add a selection model so we can select cells.
    final SingleSelectionModel<ContactInfo> selectionModel = new SingleSelectionModel<ContactInfo>(
            ContactInfo.KEY_PROVIDER);
    cellList.setSelectionModel(selectionModel);

    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        public void onSelectionChange(SelectionChangeEvent event) {
            contactForm.setContact(selectionModel.getSelectedObject());
        }
    });

    // Create the UiBinder.
    Binder uiBinder = GWT.create(Binder.class);
    Widget widget = uiBinder.createAndBindUi(this);

    // Add the CellList to the data provider in the database.
    ContactDatabase.get().addDataDisplay(cellList);

    pagerPanel.setDisplay(cellList);
    rangeLabelPager.setDisplay(cellList);

    reloadButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            ContactDatabase.get().loadContacts();
        }
    });

    final CreateDialog createDialog = new CreateDialog();
    createButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            createDialog.showNew();

        }
    });
    ContactDatabase.get().loadContacts();
    return widget;
}

From source file:uk.ac.ebi.fg.annotare2.web.gwt.user.client.view.SubmissionListViewImpl.java

License:Apache License

public SubmissionListViewImpl() {
    isCurator = false;/*from   ww  w .  j  a v  a2s.co  m*/

    dataGrid = new CustomDataGrid<SubmissionRow>(Integer.MAX_VALUE, false);

    dataGrid.addColumn(new TextColumn<SubmissionRow>() {
        @Override
        public String getValue(SubmissionRow object) {
            return formatDate(object.getCreated());
        }
    }, new TextHeader("Created on"));

    /* TODO: uncomment when we have array submissions
    dataGrid.addColumn(new TextColumn<SubmissionRow>() {
    @Override
    public String getValue(SubmissionRow object) {
        return object.getType().getTitle();
    }
    }, new TextHeader("Type"));
    */

    dataGrid.addColumn(new TextColumn<SubmissionRow>() {
        @Override
        public String getValue(SubmissionRow object) {
            return object.getAccession();
        }
    }, new TextHeader("Accession"));

    dataGrid.addColumn(new TextColumn<SubmissionRow>() {
        @Override
        public String getValue(SubmissionRow object) {
            if (object.getType().isImported() && null == object.getTitle()) {
                return "UNPROCESSED IMPORTED SUBMISSION";
            }
            return object.getTitle();
        }
    }, new TextHeader("Title"));

    dataGrid.addColumn(new TextColumn<SubmissionRow>() {
        @Override
        public String getValue(SubmissionRow object) {
            return object.getStatus().getTitle();
        }
    }, new TextHeader("Status"));

    Column<SubmissionRow, ImageResource> editIconColumn = new Column<SubmissionRow, ImageResource>(
            new ClickableImageResourceCell()) {

        @Override
        public ImageResource getValue(SubmissionRow object) {
            return resourceBundle.editIcon();
        }
    };

    editIconColumn.setFieldUpdater(new FieldUpdater<SubmissionRow, ImageResource>() {
        public void update(int index, SubmissionRow row, ImageResource value) {
            SubmissionType type = row.getType();
            if (type.isImported()) {
                presenter.onImportSubmission(row.getId());
            } else {
                presenter.onEditSubmission(row.getId());
            }
        }
    });

    dataGrid.addColumn(editIconColumn);

    dataGrid.setColumnWidth(0, 11, Style.Unit.EM);
    dataGrid.setColumnWidth(1, 11, Style.Unit.EM);
    dataGrid.setColumnWidth(3, 14, Style.Unit.EM);
    dataGrid.setColumnWidth(4, 5, Style.Unit.EM);

    final SingleSelectionModel<SubmissionRow> selectionModel = new SingleSelectionModel<SubmissionRow>(
            new ProvidesKey<SubmissionRow>() {
                public Object getKey(SubmissionRow item) {
                    return item.getId();
                }
            });

    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        public void onSelectionChange(SelectionChangeEvent event) {
            SubmissionRow row = selectionModel.getSelectedObject();
            if (null != row) {
                presenter.onSubmissionSelected(row.getId());
            }
        }
    });

    //todo create column black list dynamically
    dataGrid.setSelectionModel(selectionModel,
            DefaultSelectionEventManager.<SubmissionRow>createBlacklistManager(4));

    dataGrid.addStyleName("no-cell-borders");

    dataProvider = new ListDataProvider<SubmissionRow>();
    dataProvider.addDataDisplay(dataGrid);

    Binder uiBinder = GWT.create(Binder.class);
    initWidget(uiBinder.createAndBindUi(this));
}