@Override public void setPageStart(int index) { if (getDisplay() != null) { Range range = getDisplay().getVisibleRange(); int pageSize = range.getLength(); index = Math.max(0, index); if (index != range.getStart()) { getDisplay().setVisibleRange(index, pageSize); } } } };
/** * Return true if this ranges's start end length are equal to those of * the given object. */ @Override public boolean equals(Object o) { if (!(o instanceof Range)) { return false; } Range r = (Range) o; return start == r.getStart() && length == r.getLength(); }
@Override public void onRangeChange(RangeChangeEvent event) { Range range = cellTable.getVisibleRange(); int start = range.getStart(); int length = range.getLength(); List<ForumMessage> toSet = new ArrayList<ForumMessage>(length); for (int i = start; i < start + length && i < AllMessages.size(); i++) toSet.add((ForumMessage) AllMessages.get(i)); cellTable.setRowData(start, toSet); }
/** * Get the page size. * * @return the page size, or -1 if the display is not set * @see #setPageSize(int) */ public int getPageSize() { return display == null ? -1 : display.getVisibleRange().getLength(); }
/** * Return the range size. * * @return the size of the range as an int * * @see #getVisibleRange() * @see #setPageSize(int) */ public final int getPageSize() { return getVisibleRange().getLength(); }
@Override public AbstractPager create(HasRows display) { return new PageSizePager(display.getVisibleRange().getLength()); } }
/** * Returns true if there is enough data to display a given number of previous * pages. * * @param pages the number of previous pages to query * @return true if there are {@code pages} previous pages */ protected boolean hasPreviousPages(int pages) { if (display == null) { return false; } Range range = display.getVisibleRange(); return (pages - 1) * range.getLength() < range.getStart(); }
/** * Move the starting row back by 'pageSize' rows. */ protected void previousPage() { if (display != null) { Range range = display.getVisibleRange(); setPageStart(range.getStart() - range.getLength()); } }
void showFewer() { Range range = listView.getVisibleRange(); int defaultPageSize = listView.getDefaultPageSize(); int maxSize = Math.max(defaultPageSize, range.getLength() - defaultPageSize); listView.setVisibleRange(range.getStart(), maxSize); }
/** * Advance the starting row by 'pageSize' rows. */ protected void nextPage() { if (display != null) { Range range = display.getVisibleRange(); setPageStart(range.getStart() + range.getLength()); } }
@Override public void onRowCountChange(RowCountChangeEvent event) { int rowCount = event.getNewRowCount(); boolean isExact = event.isNewRowCountExact(); int pageSize = getVisibleRange().getLength(); showOrHide(nodeView.showMoreElem, isExact && rowCount > pageSize); } });
public void onClick(ClickEvent event) { // Display should be non-null, but we check defensively. HasRows display = getDisplay(); if (display != null) { Range range = display.getVisibleRange(); int pageSize = Math.max(range.getLength() - increment, increment); display.setVisibleRange(range.getStart(), pageSize); } } });
/** * Returns true if there is enough data to display a given number of * additional pages. * * @param pages the number of pages to query * @return true if there are {@code pages} next pages */ protected boolean hasNextPages(int pages) { if (display == null) { return false; } Range range = display.getVisibleRange(); return range.getStart() + pages * range.getLength() < display.getRowCount(); }
/** * Set the page start index. * * @param index the index * @see #getPageStart() */ protected void setPageStart(int index) { if (display != null) { Range range = display.getVisibleRange(); int pageSize = range.getLength(); if (isRangeLimited && display.isRowCountExact()) { index = Math.min(index, display.getRowCount() - pageSize); } index = Math.max(0, index); if (index != range.getStart()) { display.setVisibleRange(index, pageSize); } } }
void showMore() { Range range = listView.getVisibleRange(); int pageSize = range.getLength() + listView.getDefaultPageSize(); listView.setVisibleRange(range.getStart(), pageSize); }
public void onClick(ClickEvent event) { // Display should be non-null, but we check defensively. HasRows display = getDisplay(); if (display != null) { Range range = display.getVisibleRange(); int pageSize = Math.min(range.getLength() + increment, display.getRowCount() + (display.isRowCountExact() ? 0 : increment)); display.setVisibleRange(range.getStart(), pageSize); } } });
/** * Returns true if there is enough data such that a call to * {@link #nextPage()} will succeed in moving the starting point of the table * forward. * * @return true if there is a next page */ protected boolean hasNextPage() { if (display == null || display.getRowCount() == 0) { return false; } else if (!display.isRowCountExact()) { return true; } Range range = display.getVisibleRange(); return range.getStart() + range.getLength() < display.getRowCount(); }
/** * Get the text to display in the pager that reflects the state of the pager. * * @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); }
@Override protected void onRangeOrRowCountChanged() { // Assumes a page start index of 0. HasRows display = getDisplay(); int pageSize = display.getVisibleRange().getLength(); boolean hasLess = pageSize > increment; boolean hasMore = !display.isRowCountExact() || pageSize < display.getRowCount(); showLessButton.setVisible(hasLess); showMoreButton.setVisible(hasMore); layout.setText(0, 1, (hasLess && hasMore) ? " | " : ""); }