Example usage for com.google.gwt.user.client.ui ScrollPanel getMaximumVerticalScrollPosition

List of usage examples for com.google.gwt.user.client.ui ScrollPanel getMaximumVerticalScrollPosition

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui ScrollPanel getMaximumVerticalScrollPosition.

Prototype

@Override
    public int getMaximumVerticalScrollPosition() 

Source Link

Usage

From source file:de.uni_koeln.spinfo.maalr.webapp.ui.admin.client.user.list.UserListDataProvider.java

License:Apache License

public UserListDataProvider(final PagingDataGrid<LightUserInfo> table) {
    this.service = GWT.create(UserService.class);
    this.table = table;
    // Callback responsible for updating the list
    callback = new AsyncCallback<List<LightUserInfo>>() {

        @Override/* w  ww . ja  v a  2  s  . c om*/
        public void onFailure(Throwable caught) {
            Dialog.showError("Failed to update user list", caught);
        }

        @Override
        public void onSuccess(List<LightUserInfo> result) {
            update(result);
            current += result.size();
            // Check if results are found but the scrollbar
            // is not yet visible. In this case, continue
            // fetching data
            if (result.size() > 0) {
                ScrollPanel panel = table.getScrollPanel();
                if (panel.getMaximumVerticalScrollPosition() == 0) {
                    doUpdate();
                }
            }
        }

    };
    addDataDisplay(table);
    // Enable sorting columns 
    table.addColumnSortHandler(new Handler() {

        @Override
        public void onColumnSort(ColumnSortEvent event) {
            Column<?, ?> column = event.getColumn();
            // Update sort properties and start a new query
            sortAscending = event.getColumnSortList().get(0).isAscending();
            sortColumn = column.getDataStoreName();
            reset();
        }
    });
}

From source file:org.nsesa.editor.gwt.amendment.client.ui.document.marker.AmendmentMarkerController.java

License:EUPL

@Override
protected void onTimerRun() {
    if (sourceFileController != null) {
        view.clearMarkers();/*from   w w w .ja  v a 2 s.  co m*/
        final ScrollPanel scrollPanel = sourceFileController.getContentController().getView().getScrollPanel();
        final int documentHeight = scrollPanel.getMaximumVerticalScrollPosition();
        if (amendmentManager != null) {
            for (final AmendmentController amendmentController : amendmentManager.getAmendmentControllers()) {
                if (amendmentController.getDocumentController() == sourceFileController.getDocumentController()
                        && amendmentController.getView().asWidget().isAttached()) {
                    final int amendmentTop = amendmentController.getView().asWidget().getAbsoluteTop()
                            - scrollPanel.asWidget().getAbsoluteTop() + scrollPanel.getVerticalScrollPosition();
                    final double division = (double) amendmentTop / (double) (documentHeight);
                    LOG.finest("Amendment is: " + amendmentTop + ", and division is at " + division);
                    final FocusWidget focusWidget = view.addMarker(division,
                            colorCodes.get(amendmentController.getModel().getAmendmentContainerStatus()));
                    focusWidget.addClickHandler(new ClickHandler() {
                        @Override
                        public void onClick(ClickEvent event) {
                            // TODO: this is a very poor solution to find a amendable widget to scroll to ...
                            if (!amendmentController.getOverlayWidget().asWidget().isVisible()) {
                                final OverlayWidget amendedOverlayWidget = amendmentController
                                        .getOverlayWidget();
                                if (amendedOverlayWidget != null) {
                                    amendedOverlayWidget.getOverlayElement().getPreviousSiblingElement();

                                    OverlayWidget previousNonIntroducedOverlayWidget = amendedOverlayWidget
                                            .getPreviousSibling(new OverlayWidgetSelector() {
                                                @Override
                                                public boolean select(OverlayWidget toSelect) {
                                                    return !toSelect.isIntroducedByAnAmendment();
                                                }
                                            });

                                    while (previousNonIntroducedOverlayWidget != null
                                            && !previousNonIntroducedOverlayWidget.asWidget().isVisible()) {
                                        previousNonIntroducedOverlayWidget = previousNonIntroducedOverlayWidget
                                                .getPreviousSibling(new OverlayWidgetSelector() {
                                                    @Override
                                                    public boolean select(OverlayWidget toSelect) {
                                                        return !toSelect.isIntroducedByAnAmendment();
                                                    }
                                                });
                                    }
                                    if (previousNonIntroducedOverlayWidget != null)
                                        sourceFileController
                                                .scrollTo(previousNonIntroducedOverlayWidget.asWidget());
                                    else {
                                        sourceFileController.scrollTo(
                                                amendedOverlayWidget.getParentOverlayWidget().asWidget());
                                    }
                                }
                            } else {
                                sourceFileController.scrollTo(amendmentController.getView().asWidget());
                            }
                        }
                    });
                }
            }
        }
    }
}