Example usage for com.google.gwt.view.client MultiSelectionModel setSelected

List of usage examples for com.google.gwt.view.client MultiSelectionModel setSelected

Introduction

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

Prototype

public void setSelected(T object, boolean selected) 

Source Link

Usage

From source file:de.uni_koeln.spinfo.maalr.webapp.ui.editor.client.entry.SuggestionEditor.java

License:Apache License

private void initialize(ListFilter filter, String listHeader) {
    this.listFilter = filter;
    initWidget(uiBinder.createAndBindUi(SuggestionEditor.this));
    export.addClickHandler(new ClickHandler() {

        @Override/* ww w.  ja va2  s.  c om*/
        public void onClick(ClickEvent event) {
            export();
        }

    });
    columns.setRightDropdown(true);
    deleteEntriesGroup.getElement().getStyle().setFloat(Float.RIGHT);
    deleteOldGroup.getElement().getStyle().setFloat(Float.RIGHT);
    dataProvider = new SimplePagingDataProvider(entryList.getTable(), pagination, listFilter, resultSummary);
    entryList.setDataProvider(dataProvider);
    listLegend.setText(listHeader);
    // Enable sorting columns 
    historyDataProvider = new HistoryDataProvider(historyList.getTable());
    historyList.setDataProvider(historyDataProvider);
    entryList.addSelectionChangedHandler(new Handler() {

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            historyDataProvider.setEntry(entryList.getSelectedEntry(), fullHistory.isToggled());
        }
    });
    entryList.setFilterOptions(listFilter);
    entryList.setLemmaDescription(AsyncLemmaDescriptionLoader.getDescription());
    historyList.setLemmaDescription(AsyncLemmaDescriptionLoader.getDescription());
    listFilter.setDataProvider(dataProvider);
    fullHistory.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            historyDataProvider.setEntry(entryList.getSelectedEntry(), !fullHistory.isToggled());
        }
    });
    deleteHistory.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            final LexEntry entry = entryList.getSelectedEntry();
            if (entry.getCurrent() == null) {
                Dialog.showInfo(constants.operationUnavailable(), constants.requireApprovedVers());
            } else {
                service.dropOutdatedHistory(entry, new AsyncCallback<LexEntry>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        Dialog.showError(constants.failedToDropEntryHistory(), caught);
                    }

                    @Override
                    public void onSuccess(LexEntry result) {
                        dataProvider.replace(entry, result);
                        historyDataProvider.setEntry(result, true);
                        entryList.redraw();
                    }

                });
            }
        }
    });
    selectAll.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            entryList.setMultiSelect(true);
            if (!toggleMultiSelect.isToggled()) {
                toggleMultiSelect.setStyleName("active", true);
            }
            MultiSelectionModel<LexEntry> selectionModel = (MultiSelectionModel<LexEntry>) entryList
                    .getSelectionModel();
            List<LexEntry> entries = dataProvider.getData();
            for (LexEntry entry : entries) {
                selectionModel.setSelected(entry, true);
            }
        }
    });
    deselectAll.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            MultiSelectionModel<LexEntry> selectionModel = (MultiSelectionModel<LexEntry>) entryList
                    .getSelectionModel();
            selectionModel.clear();
        }
    });
    toggleMultiSelect.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            boolean isMulti = !toggleMultiSelect.isToggled();
            entryList.setMultiSelect(isMulti);
        }
    });
    rejectAll.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            MultiSelectionModel<LexEntry> selected = (MultiSelectionModel<LexEntry>) entryList
                    .getSelectionModel();
            final Set<LexEntry> entries = selected.getSelectedSet();
            Command ok = new Command() {

                @Override
                public void execute() {
                    for (final LexEntry entry : entries) {
                        LemmaVersion lemma = entry.getMostRecent();
                        if (lemma.getVerification() == Verification.UNVERIFIED) {
                            if (lemma.getStatus() == Status.NEW_ENTRY) {
                                service.drop(entry, new AsyncCallback<LexEntry>() {

                                    @Override
                                    public void onFailure(Throwable caught) {
                                        Dialog.showError(constants.failedToRejectLemma(), caught);
                                    }

                                    @Override
                                    public void onSuccess(LexEntry result) {
                                        dataProvider.dropLastQuery();
                                        dataProvider.refreshQuery();
                                    }
                                });

                            } else {
                                service.reject(entry, lemma, new AsyncCallback<LexEntry>() {

                                    @Override
                                    public void onFailure(Throwable caught) {
                                        Dialog.showError(constants.failedToRejectLemma(), caught);
                                    }

                                    @Override
                                    public void onSuccess(LexEntry result) {
                                        dataProvider.dropLastQuery();
                                        dataProvider.refreshQuery();
                                    }
                                });
                            }
                        }
                    }
                }

            };
            if (entries.size() > 1) {
                Dialog.confirm(constants.rejectChanges(), messages.rejectChanges(entries.size()),
                        constants.confirmDeleteButton(), constants.cancelDeleteButton(), ok, null, true);
            } else {
                if (entries.size() == 0) {
                    Dialog.showInfo(constants.noEntriesSelected(), constants.pleaseSelectOne());
                } else {
                    ok.execute();
                }
            }
        }
    });
    listFilter.setPageSize(dataProvider.getPageSize());
    listFilter.setQuery(listFilter.getQuery(), true);
    //listFilter.execQuery(true);
    newEntry.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            AdvancedEditor.openEditor(new AsyncCallback<LexEntry>() {

                @Override
                public void onFailure(Throwable caught) {
                    Dialog.showError(constants.failedToCreateEntry(), caught);
                }

                @Override
                public void onSuccess(LexEntry result) {
                    //Window.alert("Entry has been saved.");
                }
            }, constants, messages);
            //entryDetails.setData(new LemmaVersion());
        }
    });
}

From source file:org.cee.webreader.client.content.SourceSelectionPresenter.java

License:Apache License

public SourceSelectionPresenter(final SourceSelectionView sourceSelectionView,
        final SiteListContentModel sitesOfWorkingSetModel, ErrorHandler errorHandler) {
    final MultiSelectionCellListPresenter<EntityKey> siteListPresenter = new MultiSelectionCellListPresenter<EntityKey>(
            sourceSelectionView.getCellListSites(), sitesOfWorkingSetModel, sitesOfWorkingSetModel);
    siteListPresenter.addErrorHandler(errorHandler);
    final MultiSelectionModel<EntityContent<EntityKey>> selectionModel = siteListPresenter.getSelectionModel();
    sourceSelectionView.getSelectAllButton().addClickHandler(new ClickHandler() {

        @Override/*  www .j  a v a  2 s .  com*/
        public void onClick(ClickEvent event) {
            for (EntityKey key : sitesOfWorkingSetModel.getKeys()) {
                selectionModel.setSelected(new EntityContent<EntityKey>(key, null), true);
            }
        }
    });
    sourceSelectionView.getSelectNoneButton().addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            selectionModel.clear();
        }
    });
    sitesOfWorkingSetModel.addListChangedHandler(new ListChangedHandler<EntityKey>() {

        @Override
        public void onContentListChanged(ListChangedEvent<EntityKey> event) {
            selectionModel.clear();
            List<EntityKey> keys = sitesOfWorkingSetModel.getKeys();
            if (keys.isEmpty()) {
                sourceSelectionView.setButtonsEnabled(false);
            } else {
                for (EntityKey key : keys) {
                    selectionModel.setSelected(new EntityContent<EntityKey>(key, null), true);
                }
                sourceSelectionView.setButtonsEnabled(true);
            }
        }
    });
}

From source file:org.gss_project.gss.web.client.GSSSelectionEventManager.java

License:Open Source License

/**
 * Selects the given item, optionally clearing any prior selection.
 * //from w  w  w. j  a v a2s. c o m
 * @param selectionModel the {@link MultiSelectionModel} to update
 * @param target the item to select
 * @param selected true to select, false to deselect
 * @param clearOthers true to clear all other selected items
 */
protected void selectOne(MultiSelectionModel<? super T> selectionModel, T target, boolean selected,
        boolean clearOthers) {
    if (clearOthers) {
        clearSelection(selectionModel);
    }
    selectionModel.setSelected(target, selected);
}

From source file:org.gss_project.gss.web.client.GSSSelectionEventManager.java

License:Open Source License

/**
 * Select or deselect a range of row indexes, optionally deselecting all other
 * values.//from   w  ww .  j  a v a 2  s .c  o  m
 * 
 * @param selectionModel the {@link MultiSelectionModel} to update
 * @param display the {@link HasData} source of the selection event
 * @param range the {@link Range} of rows to select or deselect
 * @param addToSelection true to select, false to deselect the range
 * @param clearOthers true to deselect rows not in the range
 */
protected void setRangeSelection(MultiSelectionModel<? super T> selectionModel, HasData<T> display, Range range,
        boolean addToSelection, boolean clearOthers) {
    // Get the list of values to select.
    List<T> toUpdate = new ArrayList<T>();
    int itemCount = display.getVisibleItemCount();
    int start = range.getStart();
    int end = start + range.getLength();
    for (int i = start; i < end; i++) {
        toUpdate.add(display.getVisibleItem(i - display.getVisibleRange().getStart()));
    }
    // Clear all other values.
    if (clearOthers) {
        clearSelection(selectionModel);
    }

    // Update the state of the values.
    for (T value : toUpdate) {
        selectionModel.setSelected(value, addToSelection);
    }
}

From source file:org.zanata.webtrans.client.presenter.SearchResultsPresenter.java

License:Open Source License

@Override
protected void onBind() {
    projectSearchCallback = buildProjectSearchCallback();
    selectionChangeHandler = buildSelectionChangeHandler();
    documentDataProviders = new HashMap<Long, ListDataProvider<TransUnitReplaceInfo>>();
    documentSelectionModels = new HashMap<Long, MultiSelectionModel<TransUnitReplaceInfo>>();
    allReplaceInfos = new HashMap<TransUnitId, TransUnitReplaceInfo>();
    docPaths = new HashMap<Long, String>();
    selectAllDocList = new HashMap<Long, HasValue<Boolean>>();
    setUiForNothingSelected();/*from ww w.j  av a 2 s . com*/
    display.setReplaceAllButtonVisible(userWorkspaceContext.hasEditTranslationAccess());

    display.addSearchFieldsSelect("search both", "both");
    display.addSearchFieldsSelect("search target", "target");
    display.addSearchFieldsSelect("search source", "source");

    registerHandler(display.getSearchButton().addClickHandler(event -> updateSearch()));

    registerHandler(display.getReplacementTextBox().addValueChangeHandler(event -> {
        HistoryToken token = history.getHistoryToken();
        if (!event.getValue().equals(token.getProjectSearchReplacement())) {
            token.setProjectSearchReplacement(event.getValue());
            history.newItem(token);
        }
    }));

    registerHandler(
            display.getSelectAllChk().addValueChangeHandler(event -> selectAllTextFlows(event.getValue())));

    registerHandler(display.getRequirePreviewChk().addValueChangeHandler(event -> {
        display.setRequirePreview(event.getValue());
        for (ListDataProvider<TransUnitReplaceInfo> provider : documentDataProviders.values()) {
            provider.refresh();
        }
        refreshReplaceAllButton();
    }));

    registerHandler(display.getReplaceAllButton().addClickHandler(event -> replaceSelected()));

    registerHandler(eventBus.addHandler(TransUnitUpdatedEvent.getType(), event -> {
        TransUnitUpdateInfo updateInfo = event.getUpdateInfo();
        TransUnitReplaceInfo replaceInfo = allReplaceInfos.get(updateInfo.getTransUnit().getId());
        if (replaceInfo == null) {
            Log.debug("no matching TU in document for TU update, id: "
                    + updateInfo.getTransUnit().getId().getId());
            return;
        }
        Log.debug("found matching TU for TU update, id: " + updateInfo.getTransUnit().getId().getId());

        if (replaceInfo.getReplaceState() == ReplacementState.Replaced
                && !(replaceInfo.getTransUnit().getVerNum().equals(updateInfo.getTransUnit().getVerNum()))) {
            // can't undo after additional update
            setReplaceState(replaceInfo, ReplacementState.NotReplaced);
            replaceInfo.setReplaceInfo(null);
            replaceInfo.setPreviewState(PreviewState.NotFetched);
            replaceInfo.setPreview(null);

            MultiSelectionModel<TransUnitReplaceInfo> selectionModel = documentSelectionModels
                    .get(updateInfo.getDocumentId().getId());
            if (selectionModel == null) {
                Log.error("missing selection model for document, id: " + updateInfo.getDocumentId().getId());
            } else {
                // clear selection to avoid accidental inclusion
                // in batch
                // operations
                selectionModel.setSelected(replaceInfo, false);
            }
        }
        replaceInfo.setTransUnit(updateInfo.getTransUnit());
        refreshInfoDisplay(replaceInfo);
    }));

    registerHandler(eventBus.addHandler(WorkspaceContextUpdateEvent.getType(), event -> {
        userWorkspaceContext.setProjectActive(event.isProjectActive());
        userWorkspaceContext.getWorkspaceContext().getWorkspaceId().getProjectIterationId()
                .setProjectType(event.getProjectType());

        display.setReplaceAllButtonVisible(userWorkspaceContext.hasEditTranslationAccess());

        for (TransUnitReplaceInfo info : allReplaceInfos.values()) {
            if (userWorkspaceContext.hasReadOnlyAccess()) {
                setReplaceState(info, ReplacementState.NotAllowed);
            } else if (info.getReplaceInfo() == null) {
                setReplaceState(info, ReplacementState.NotReplaced);
            } else {
                setReplaceState(info, ReplacementState.Replaced);
            }
            refreshInfoDisplay(info);
        }
    }));

    keyShortcutPresenter.register(KeyShortcut.Builder.builder().addKey(new Keys(Keys.SHIFT_ALT_KEYS, 'A'))
            .setContext(ShortcutContext.ProjectWideSearch)
            .setDescription(messages.selectAllTextFlowsKeyShortcut())
            .setHandler(
                    event -> display.getSelectAllChk().setValue(!display.getSelectAllChk().getValue(), true))
            .build());

    keyShortcutPresenter.register(KeyShortcut.Builder.builder().addKey(new Keys(Keys.ALT_KEY, 'P'))
            .setContext(ShortcutContext.ProjectWideSearch)
            .setDescription(messages.focusSearchPhraseKeyShortcut())
            .setHandler(event -> display.focusFilterTextBox()).build());

    keyShortcutPresenter.register(KeyShortcut.Builder.builder().addKey(new Keys(Keys.ALT_KEY, 'C'))
            .setContext(ShortcutContext.ProjectWideSearch)
            .setDescription(messages.focusReplacementPhraseKeyShortcut())
            .setHandler(event -> display.focusReplacementTextBox()).build());

    keyShortcutPresenter.register(KeyShortcut.Builder.builder().addKey(new Keys(Keys.ALT_KEY, 'R'))
            .setContext(ShortcutContext.ProjectWideSearch).setDescription(messages.replaceSelectedKeyShortcut())
            .setHandler(event -> replaceSelected()).build());

    keyShortcutPresenter.register(KeyShortcut.Builder.builder().addKey(new Keys(Keys.ALT_KEY, 'W'))
            .setContext(ShortcutContext.ProjectWideSearch).setDescription(messages.toggleRowActionButtons())
            .setHandler(event -> showRowActionButtons = !showRowActionButtons).build());

    // TODO register key shortcuts:
    // Alt+Z undo last operation

    // detect currently focused document (if any)
    // Alt+A select current doc
    // Alt+V view current doc in editor
    // Shift+Alt+V search current doc in editor
}

From source file:org.zanata.webtrans.client.presenter.SearchResultsPresenter.java

License:Open Source License

/**
 * Build a handler to select and de-select all text flows in a document
 *
 * @param docId/*ww  w.  ja  v  a2s.co  m*/
 * @param selectionModel
 * @return the new handler
 */
private ValueChangeHandler<Boolean> selectAllHandler(final Long docId,
        final MultiSelectionModel<TransUnitReplaceInfo> selectionModel) {
    return new ValueChangeHandler<Boolean>() {
        @Override
        public void onValueChange(ValueChangeEvent<Boolean> event) {
            if (event.getValue()) {
                ListDataProvider<TransUnitReplaceInfo> dataProvider = documentDataProviders.get(docId);
                if (dataProvider != null) {
                    for (TransUnitReplaceInfo info : dataProvider.getList()) {
                        selectionModel.setSelected(info, true);
                    }
                }
            } else {
                selectionModel.clear();
            }
        }
    };
}