Example usage for com.google.gwt.view.client HasRows getVisibleRange

List of usage examples for com.google.gwt.view.client HasRows getVisibleRange

Introduction

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

Prototype

Range getVisibleRange();

Source Link

Document

Get the range of visible rows.

Usage

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  .  j  a v a2 s  . com
    // 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:cc.kune.gspace.client.i18n.RangeLabelPager.java

License:Apache License

@Override
protected void onRangeOrRowCountChanged() {
    final HasRows display = getDisplay();
    final Range range = display.getVisibleRange();
    final int start = range.getStart();
    final int end = start + range.getLength();
    label.setText(start + " - " + end + " : " + display.getRowCount(), HasDirection.Direction.LTR);
}

From source file:cc.kune.gspace.client.i18n.ShowMorePagerPanel.java

License:Apache License

/**
 * Construct a new {@link ShowMorePagerPanel}.
 *//*  w  w  w  .j  a va 2  s .c o m*/
public ShowMorePagerPanel() {
    initWidget(scrollable);

    // Do not let the scrollable take tab focus.
    scrollable.getElement().setTabIndex(-1);

    // Handle scroll events.
    scrollable.addScrollHandler(new ScrollHandler() {
        @Override
        public void onScroll(final ScrollEvent event) {
            // If scrolling up, ignore the event.
            final int oldScrollPos = lastScrollPos;
            lastScrollPos = scrollable.getScrollPosition();
            if (oldScrollPos >= lastScrollPos) {
                return;
            }

            final HasRows display = getDisplay();
            if (display == null) {
                return;
            }
            final int maxScrollTop = scrollable.getWidget().getOffsetHeight() - scrollable.getOffsetHeight();
            if (lastScrollPos >= maxScrollTop) {
                // We are near the end, so increase the page size.
                final int newPageSize = Math.min(display.getVisibleRange().getLength() + incrementSize,
                        display.getRowCount());
                display.setVisibleRange(0, newPageSize);
            }
        }
    });
}

From source file:cimav.visorglass.client.widgets.components.ScrollingPager.java

License:Apache License

public ScrollingPager() {
    initWidget(scrollable);// ww w. jav a2 s.com
    scrollable.setPixelSize(250, 350);
    scrollable.getElement().getStyle().setBorderWidth(1, Style.Unit.PX);
    scrollable.getElement().getStyle().setBorderColor("red");
    scrollable.getElement().setTabIndex(-1);

    // Handle scroll events.
    scrollable.addScrollHandler(new ScrollHandler() {
        @Override
        public void onScroll(ScrollEvent p_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 maxScrollTop = scrollable.getWidget().getOffsetHeight() - scrollable.getOffsetHeight();
            if (lastScrollPos >= maxScrollTop) {
                // We are near the end, so increase the page size.
                int newPageSize = Math.min(display.getVisibleRange().getLength() + incrementSize,
                        display.getRowCount());
                display.setVisibleRange(0, newPageSize);
            }
        }
    });
}

From source file:com.arcbees.gquery.tooltip.client.contactcell.ShowMorePagerPanel.java

License:Apache License

/**
 * Construct a new {@link ShowMorePagerPanel}.
 */// ww  w.  j a  v a 2s.  co  m
public ShowMorePagerPanel() {
    init();

    // Handle scroll events.
    scrollable.addDomHandler(new ScrollHandler() {
        public void onScroll(ScrollEvent event) {
            // If scrolling up, ignore the event.
            int oldScrollPos = lastScrollPos;
            lastScrollPos = scrollable.getElement().getScrollTop();
            if (oldScrollPos >= lastScrollPos) {
                return;
            }

            HasRows display = getDisplay();
            if (display == null) {
                return;
            }
            int maxScrollTop = scrollable.getWidget().getOffsetHeight() - scrollable.getOffsetHeight();
            if (lastScrollPos >= maxScrollTop) {
                // We are near the end, so increase the page size.
                int newPageSize = Math.min(display.getVisibleRange().getLength() + incrementSize,
                        display.getRowCount());
                //all children will be replaced, ensure to destroy existing tooltip in order to avoid ghost
                // tooltips
                GQuery.$(".tooltipable", (Widget) display).as(Tooltip.Tooltip).destroy();
                display.setVisibleRange(0, newPageSize);
            }
        }
    }, ScrollEvent.getType());
}

From source file:com.chinarewards.gwt.license.client.widget.DefaultPager.java

/**
 * Get the text to display in the pager that reflects the state of the
 * pager./* w ww.j  a v a2s.  c o  m*/
 * 
 * @return the text
 */
@Override
protected String createText() {
    // Default text is 1 based.
    final NumberFormat formatter = NumberFormat.getFormat("#,###");
    final HasRows display = getDisplay();
    Range range = display.getVisibleRange();
    int pageStart = range.getStart() + 1;
    final int pageSize = range.getLength();
    int dataSize = display.getRowCount();
    int endIndex = Math.min(dataSize, pageStart + pageSize - 1);
    endIndex = Math.max(pageStart, endIndex);
    boolean exact = display.isRowCountExact();

    // create listbox
    int currentPage = 0;
    int totalPage = 0;
    final ListBox pages = new ListBox();
    if (dataSize != 0) {
        currentPage = (pageStart - 1) / pageSize + 1;
        totalPage = (dataSize - 1) / pageSize + 1;

        for (int i = 1; i <= totalPage; i++) {
            pages.addItem(i + "", i + "");
        }
        pages.setSelectedIndex(currentPage - 1);
        pages.addChangeHandler(new ChangeHandler() {
            @Override
            public void onChange(ChangeEvent event) {
                String text = pages.getValue(pages.getSelectedIndex());
                int pageNum = (int) formatter.parse(text);
                int index = (pageNum - 1) * pageSize;
                display.setVisibleRange(index, pageSize);
            }
        });
    }

    // create label : total pages
    //getAdditionPanel().clear();
    //getAdditionPanel().add(new Label(" " + totalPage + " ,"));
    //getAdditionPanel().add(pages);
    //getAdditionPanel().add(new Label(""));

    // return formatter.format(pageStart) + "-" + formatter.format(endIndex)
    // + (exact ? " of " : " of over ") + formatter.format(dataSize);
    return "? " + currentPage + " ," + "" + totalPage + "," + dataSize + "?";
}

From source file:com.chinarewards.gwt.license.client.widget.EltNewPager.java

/**
 * Get the text to display in the pager that reflects the state of the
 * pager./*from  ww  w .  j a  v a  2s.c  om*/
 * 
 * @return the text
 */
protected String createText() {
    // Default text is 1 based.
    final NumberFormat formatter = NumberFormat.getFormat("#,###");
    final HasRows display = getDisplay();
    Range range = display.getVisibleRange();
    int pageStart = range.getStart() + 1;
    final int pageSize = range.getLength();
    int dataSize = display.getRowCount();
    int endIndex = Math.min(dataSize, pageStart + pageSize - 1);
    endIndex = Math.max(pageStart, endIndex);
    // boolean exact = display.isRowCountExact();

    // create listbox
    int currentPage = 0;
    int totalPage = 0;
    final ListBox pages = new ListBox();
    if (dataSize != 0) {
        currentPage = (pageStart - 1) / pageSize + 1;
        totalPage = (dataSize - 1) / pageSize + 1;

        for (int i = 1; i <= totalPage; i++) {
            pages.addItem(i + "", i + "");
        }
        pages.setSelectedIndex(currentPage - 1);
        pages.addChangeHandler(new ChangeHandler() {
            @Override
            public void onChange(ChangeEvent event) {
                String text = pages.getValue(pages.getSelectedIndex());
                int pageNum = (int) formatter.parse(text);
                int index = (pageNum - 1) * pageSize;
                display.setVisibleRange(index, pageSize);
            }
        });
    }

    setButtonStyle(currentPage, totalPage);
    return "";
    // return "? " + currentPage + " ,"+""+totalPage+","+dataSize+"?";
}

From source file:com.client.celltable.SimplePager.java

License:Apache License

/**
 * Get the text to display in the pager that reflects the state of the
 * pager./*ww w  .ja v  a  2  s . c  o  m*/
 * 
 * @return the text
 */
protected String createText() {
    // Default text is 1 based.
    NumberFormat formatter = NumberFormat.getFormat("#,###");
    HasRows display = getDisplay();
    Range range = display.getVisibleRange();
    int pageStart = range.getStart() + 1;
    int pageSize = range.getLength();
    int dataSize = display.getRowCount();
    int endIndex = Math.min(dataSize, pageStart + pageSize - 1);
    endIndex = Math.max(pageStart, endIndex);
    boolean exact = display.isRowCountExact();
    return formatter.format(pageStart) + "-" + formatter.format(endIndex) + (exact ? " of " : " of over ")
            + formatter.format(dataSize);
}

From source file:com.client.celltable.SimplePager.java

License:Apache License

private int pageNumber() {
    NumberFormat formatter = NumberFormat.getFormat("#,###");
    HasRows display = getDisplay();
    Range range = display.getVisibleRange();
    int pageStart = range.getStart() + 1;
    return pageStart;
}

From source file:com.freedomotic.clients.client.widgets.RangeLabelPager.java

License:Apache License

@Override
protected void onRangeOrRowCountChanged() {
    HasRows display = getDisplay();
    Range range = display.getVisibleRange();
    int start = range.getStart();
    int end = start + range.getLength();
    label.setText(start + " - " + end + " : " + display.getRowCount(), HasDirection.Direction.LTR);
}