List of usage examples for com.google.gwt.user.client.ui ScrollPanel getVerticalScrollPosition
@Override
public int getVerticalScrollPosition()
From source file:cc.alcina.framework.gwt.client.cell.ShowMorePager.java
License:Apache License
public void attachTo(HasRows display, ScrollPanel scrollable) { setDisplay(display);//from w ww. ja va 2 s. c om // Handle scroll events. scrollable.addScrollHandler(new ScrollHandler() { @Override public void onScroll(ScrollEvent event) { // If scrolling up, ignore the event. int oldScrollPos = lastScrollPos; lastScrollPos = scrollable.getVerticalScrollPosition(); if (oldScrollPos >= lastScrollPos) { return; } HasRows display = getDisplay(); if (display == null) { return; } int scrollPanelContentsHeight = scrollable.getWidget().getOffsetHeight(); int scrollPanelHeight = scrollable.getOffsetHeight(); int maxScrollTop = scrollPanelContentsHeight - scrollPanelHeight - 20; // hack but not sure how to deal with said autoscrolls if (Math.abs(lastScrollPos - oldScrollPos) > 500) { // handle autoscroll to end return; } if (lastScrollPos >= maxScrollTop) { // We are near the end, so increase the page size. int newPageSize = Math.min(display.getVisibleRange().getLength() + incrementSize, display.getRowCount()); if (newPageSize != 0) { Range newRange = new Range(0, newPageSize); if (display.getVisibleRange().getStart() == newRange.getStart() && display.getVisibleRange().getLength() >= newRange.getLength()) { // don't show a smaller visible range (which would // force a search) return; } display.setVisibleRange(0, newPageSize); } } } }); }
From source file:cl.uai.client.page.MarkingPage.java
License:Open Source License
/** * Highlight a particular mark within the page * /*from w w w.ja v a 2 s. c om*/ * @param markId the mark's id */ public void highlightRubricMark(int markId) { if (!(marks.get(markId) instanceof RubricMark)) { return; } RubricMark mark = (RubricMark) marks.get(markId); ScrollPanel scrollPanel = EMarkingWeb.markingInterface.getMarkingPagesInterface().getScrollPanel(); int top = scrollPanel.getVerticalScrollPosition() + (mark.getAbsoluteTop() - scrollPanel.getAbsoluteTop()); scrollPanel.setVerticalScrollPosition(top); }
From source file:cl.uai.client.rubric.RubricPanel.java
License:Open Source License
/** * Highlights a criterion within the rubric panel * /*from ww w . j a va2 s . co m*/ * @param criterionid id of the criterion to highlight */ public void highlightRubricCriterion(int criterionid) { // Find the row in the hash map FlowPanel hpanel = rubricRows.get(criterionid); if (hpanel == null) return; // Remove style in case it already has it hpanel.removeStyleName(Resources.INSTANCE.css().rubricmarkhover()); hpanel.addStyleName(Resources.INSTANCE.css().rubricmarkhover()); Criterion criterion = MarkingInterface.submissionData.getRubricfillings().get(criterionid); // If the marked criteria is shown, scroll to it if (isCriterionVisible(criterion)) { ScrollPanel scrollPanel = (ScrollPanel) this.getParent(); int top = scrollPanel.getVerticalScrollPosition() + (hpanel.getAbsoluteTop() - scrollPanel.getAbsoluteTop()); scrollPanel.setVerticalScrollPosition(top); } }
From source file:com.alkacon.geranium.client.util.ScrollToBottomHandler.java
License:Open Source License
/** * @see com.google.gwt.event.dom.client.ScrollHandler#onScroll(com.google.gwt.event.dom.client.ScrollEvent) */// w ww . j av a2 s . com public void onScroll(ScrollEvent event) { if (!m_enabled) { return; } final ScrollPanel scrollPanel = (ScrollPanel) event.getSource(); final int scrollPos = scrollPanel.getVerticalScrollPosition(); Widget child = scrollPanel.getWidget(); int childHeight = child.getOffsetHeight(); int ownHeight = scrollPanel.getOffsetHeight(); boolean isBottom = (scrollPos + ownHeight) >= (childHeight - m_scrollThreshold); if (isBottom) { m_callback.run(); m_enabled = false; scrollPanel.setVerticalScrollPosition(scrollPos); Scheduler.get().scheduleDeferred(new ScheduledCommand() { /** * @see com.google.gwt.core.client.Scheduler.ScheduledCommand#execute() */ public void execute() { scrollPanel.setVerticalScrollPosition(scrollPos); m_enabled = true; } }); } }
From source file:com.ponysdk.ui.terminal.addon.floatablepanel.PCFloatablePanel.java
License:Apache License
private boolean setAndGetVerticalScrollChanged(ScrollPanel scrollPanel) { final boolean changed = scrollPanel.getVerticalScrollPosition() != lastVerticalScrollPosition; lastVerticalScrollPosition = scrollPanel.getVerticalScrollPosition(); return changed; }
From source file:com.vaadin.client.ui.calendar.schedule.WeekGrid.java
License:Apache License
private void setVerticalScroll(boolean isVerticalScrollEnabled) { if (isVerticalScrollEnabled && !(isVerticalScrollable())) { verticalScrollEnabled = true;//w w w . ja v a 2s. c o m horizontalScrollEnabled = false; wrapper.remove(content); final ScrollPanel scrollPanel = new ScrollPanel(); scrollPanel.setStylePrimaryName("v-calendar-week-wrapper"); scrollPanel.setWidget(content); scrollPanel.addScrollHandler(new ScrollHandler() { @Override public void onScroll(ScrollEvent event) { if (calendar.getScrollListener() != null) { calendar.getScrollListener().scroll(scrollPanel.getVerticalScrollPosition()); } } }); setWidget(scrollPanel); wrapper = scrollPanel; } else if (!isVerticalScrollEnabled && (isVerticalScrollable())) { verticalScrollEnabled = false; horizontalScrollEnabled = false; wrapper.remove(content); SimplePanel simplePanel = new SimplePanel(); simplePanel.setStylePrimaryName("v-calendar-week-wrapper"); simplePanel.setWidget(content); setWidget(simplePanel); wrapper = simplePanel; } }
From source file:de.uni_koeln.spinfo.maalr.webapp.ui.common.client.PagingDataGrid.java
License:Apache License
public PagingDataGrid(int pageSize) { super(pageSize - 1, (Resources) GWT.create(TableRes.class)); this.incrementSize = pageSize; getScrollPanel().addScrollHandler(new ScrollHandler() { private int lastScrollPos = 0; @Override//from w ww .j av a 2 s. c om public void onScroll(ScrollEvent event) { // If scrolling up, ignore the event. getScrollPanel().getElement().focus(); int oldScrollPos = lastScrollPos; ScrollPanel scrollable = getScrollPanel(); lastScrollPos = scrollable.getVerticalScrollPosition(); if (oldScrollPos >= lastScrollPos) { return; } int maxScrollTop = scrollable.getWidget().getOffsetHeight() - scrollable.getOffsetHeight(); if (lastScrollPos >= maxScrollTop) { handlerManager.fireEvent(new LazyLoadEvent(PagingDataGrid.this)); // // We are near the end, so increase the page size. // int newPageSize = Math.min(display.getVisibleRange() // .getLength() + getIncrementSize(), display.getRowCount()); // display.setVisibleRange(0, newPageSize); } } }); }
From source file:org.eclipse.draw2d.FigureCanvas.java
License:Open Source License
private void scroll(ScrollPanel sp) { int hsp = sp.getHorizontalScrollPosition(); int vsp = sp.getVerticalScrollPosition(); int hminimum = getViewport().getHorizontalRangeModel().getMinimum(); int vminimum = getViewport().getVerticalRangeModel().getMinimum(); scrollTo(hminimum + hsp, vminimum + vsp); }
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();/*w w w.j a v a2 s . c o 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()); } } }); } } } } }
From source file:org.opencms.ade.galleries.client.ui.CmsResultsBackwardsScrollHandler.java
License:Open Source License
/** * @see com.google.gwt.event.dom.client.ScrollHandler#onScroll(com.google.gwt.event.dom.client.ScrollEvent) *///from w w w .java 2 s . com public void onScroll(ScrollEvent event) { if (m_searchBean == null) { return; } if (m_resultBeans == null) { return; } if (!m_enabled) { return; } final ScrollPanel scrollPanel = (ScrollPanel) event.getSource(); final int scrollPos = scrollPanel.getVerticalScrollPosition(); if ((scrollPos <= SCROLL_THRESHOLD) && hasMore()) { m_enabled = false; Scheduler.get().scheduleDeferred(new ScheduledCommand() { /** * @see com.google.gwt.core.client.Scheduler.ScheduledCommand#execute() */ public void execute() { m_enabled = true; m_resultsTab.getList().setVerticalScrollPosition(50); } }); loadPreviousPage(); } }