List of usage examples for com.google.gwt.user.client.ui ScrollPanel getMaximumVerticalScrollPosition
@Override
public int getMaximumVerticalScrollPosition()
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()); } } }); } } } } }