the page the highlighted row is on, 0 when there is no paging
how many pages there are; at least one, so an empty table still has a page 0
moves the highlight a row at a time, skipping disabled rows and stopping at the ends
moves to a page and highlights its first selectable row
Sorts by a column, ascending the first time and toggling on a repeat of the same key. The highlight returns to the first selectable row, since the row it pointed at moved.
A columned table with a highlighted row, a sort order and paging - the roster or inventory grid that wants headers and a stable sort, where
ListViewis a flat one-column list.Renderer-free, like
TabbedList: it holds the columns, the rows, the sort, the highlight and the current page, and a game draws the cells. The page is derived from the highlighted row rather than tracked beside it, so the two can never disagree;setPageis the only thing that moves the highlight on its own, and it lands on the first selectable row of that page.Example