Class PaginatedVirtualFlow<T,C extends Cell<T>>

All Implemented Interfaces:
VirtualScrollPane.Wrappable, Styleable, EventTarget, Skinnable

public class PaginatedVirtualFlow<T,C extends Cell<T>> extends VirtualFlow<T,C>
Extension of VirtualFlow to offer pagination features.

In addition to all inherited features this adds:

- The current displayed page, currentPageProperty()

- The max number of pages, maxPageProperty()

- The number of cells per page, cellsPerPageProperty(). Note that this is also settable via CSS

Note that pages start from index 1.

This flow also has its own skin, which is basically the same as VirtualFlow but adapted to resize the control depending on the cellsPerPageProperty().

Little tips and warnings:

Note that this is a naive implementation. Some things/components, like the FlowState class, have been adapted to work with this, but if you are not careful you could easily break or mess things up.

For example: the correct way to scroll in this flow is to change the current page property, but nothing prevents you from using methods such as VirtualFlow.setVPos(double) and VirtualFlow.setHPos(double). To be more precise you can and must use them, but not both at the same time. What I mean is: if the orientation is VERTICAL and your cells have variable width then you probably want to adjust the hPos. Same thing applies for HORIZONTAL orientation but for vPos.

This flow is intended to use implementations of PaginatedHelper as utilities for the orientation. Again, nothing prevents you from setting a VirtualFlow.orientationHelperFactoryProperty() that only implements OrientationHelper, don't do that! In such case note also that goToPage(int) won't work and will end with an exception.