List of usage examples for com.google.gwt.user.client.ui ScrollPanel addScrollHandler
@Override
public HandlerRegistration addScrollHandler(ScrollHandler handler)
From source file:cc.alcina.framework.gwt.client.cell.ShowMorePager.java
License:Apache License
public void attachTo(HasRows display, ScrollPanel scrollable) { setDisplay(display);/*w w w . j av a 2s . 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:com.vaadin.addon.calendar.gwt.client.ui.schedule.WeekGrid.java
private void setVerticalScroll(boolean isVerticalScrollEnabled) { if (isVerticalScrollEnabled && !(isVerticalScrollable())) { verticalScrollEnabled = true;/* w w w . ja va2 s. com*/ horizontalScrollEnabled = false; wrapper.remove(content); final ScrollPanel scrollPanel = new ScrollPanel(); scrollPanel.setStylePrimaryName("v-calendar-week-wrapper"); scrollPanel.setWidget(content); scrollPanel.addScrollHandler(new ScrollHandler() { public void onScroll(ScrollEvent event) { if (calendar.getScrollListener() != null) { calendar.getScrollListener().scroll(scrollPanel.getScrollPosition()); } } }); 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:com.vaadin.client.ui.calendar.schedule.WeekGrid.java
License:Apache License
private void setVerticalScroll(boolean isVerticalScrollEnabled) { if (isVerticalScrollEnabled && !(isVerticalScrollable())) { verticalScrollEnabled = true;//from w ww . j a v a2 s . 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:org.activityinfo.ui.client.widget.CellTable.java
License:Open Source License
private void addScrollHandlers() { final ScrollPanel scrollAncestor = getScrollAncestor(); if (scrollAncestor != null) { scrollAncestor.addScrollHandler(new com.google.gwt.event.dom.client.ScrollHandler() { @Override//www . j a va2 s . c om public void onScroll(com.google.gwt.event.dom.client.ScrollEvent event) { eventBus.fireEvent(new ScrollEvent(scrollAncestor)); } }); } else { // attach scroll handler to window (if scrollAncestor can't be identified) Window.addWindowScrollHandler(new Window.ScrollHandler() { @Override public void onWindowScroll(Window.ScrollEvent event) { eventBus.fireEvent(new ScrollEvent(scrollAncestor)); } }); } }
From source file:org.eclipse.draw2d.FigureCanvas.java
License:Open Source License
/** * Adds listeners for scrolling./* www . j av a2s . com*/ */ private void hook() { getLightweightSystem().getUpdateManager().addUpdateListener(new UpdateListener() { public void notifyPainting(Rectangle damage, java.util.Map dirtyRegions) { } public void notifyValidating() { if (!isDisposed()) layoutViewport(); } }); getHorizontalBar().addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { scrollToX(getHorizontalBar().getSelection() - hBarOffset); } }); getVerticalBar().addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { scrollToY(getVerticalBar().getSelection() - vBarOffset); } }); if (getSimplePanel() != null) { final ScrollPanel sp = (ScrollPanel) getSimplePanel().getParent(); if (sp != null) { sp.addScrollHandler(new ScrollHandler() { @Override public void onScroll(ScrollEvent event) { scroll(sp); } }); } } }
From source file:org.rstudio.core.client.widget.VirtualizedDataGrid.java
License:Open Source License
public HandlerRegistration addScrollHandler(ScrollHandler handler) { ScrollPanel panel = getScrollPanel(); return panel.addScrollHandler(handler); }