List of usage examples for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel
public SingleSelectionModel(ProvidesKey<T> keyProvider)
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)); }