Right, but from a error-prevention point of view, if I provided a user
with a link to "next page" and he clicks on it and sees the same page a
second time, that looks like a bug to him (and to me too).
From the point of view of your use-case (the underlying data is
constantly changing) it make sense so I can see your point of view. But
from my point of view where the underlying data is static it is always
an error to provide a link to "next page" if no such page exists.
To me this question is equivilent to Autoboxing. When Sun introduced
autoboxing there was a question on whether to cast "null" Integer to 0
int or to throw an exception. They chose the latter (mostly because of
lots of user feedback pointing them in that direction) because unlike C
(and the errno mechanism) we don't want to count on developers
explicitly checking for errors. What if they forget?
Gili
Igor Vaynberg wrote:
The pageable component decides what the actual page number is
Navigator.setCurrentPage(int page) {
pageable.setCurrentPage(page);
}
PaegableDataView.setCurrentPage(int page) {
if (page<0) page=0;
if (page>=pagecount) page=pagecount-1;
currentpage=page;
}
This handles the out of bounds quietly instead of always throwing an
exception.
-Igor
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Christian Essl
Sent: Saturday, August 20, 2005 12:13 PM
To: wicket-user@lists.sourceforge.net
Subject: Re: [Wicket-user] Re: ColumnedDataProvider
startIndex problems
I am a bit of track now. Please help me getting back. My
question is who finds the real last page? The one who calls
setCurrentPage() (the
navigator) or the one who implements setCurrentPage() (the
pageable component).
To me it currently makes no sense to speak about
IndexOutOfBoundExceptions or template methods, before this is
not clear - to me.
Please help.
Christian
On Sat, 20 Aug 2005 13:40:54 -0400, Gili
<[EMAIL PROTECTED]> wrote:
I too prefer finding the *real* last page and going
there. At least,
that makes sense for my use-case.
Gili
Johan Compagner wrote:
hmm i don't know about this.
Because the DataView is the one that gives the total
pagecount. The
navigator just uses it.
And if the navigator sets a page that is suddenly out of
range then 2
things can be done:
Math.min(wantedPageCount,maxPageCount)
or if(wantedPageCount > maxPageCount) wantedPage = 0
because the view you get in the browser is very strange.
You see nothing in the list, You don't see any selection in the
navigator (because the 'currentpage' isn't listed anymore)
I prefer to go the the last page. Because it wanted to
show data that
was further on.
johan
Christian Essl wrote:
I do not know about ListView, but I think DataView and
PagableDataView could be merged quite easaly.
It already has the data-set size and the rows-count per
page. All we
would need is to add a currentPage property and than we
just render
from the startIndex+offsetOfPage.
On bounding: I think we should strictly adhear to the
navigator for
the current page property. If DataView is instructed to
show ie page
7 and there is nothing anymore on page 7 than it should just show
nothing. The navigator should deal with that, it is the one who
shows the current page-label. Especially DataView should
not do any
more bounding than Math.max(0,settedPage). That is
because you can
realy get some nasty bugs if a property value is set, than
internally changed in the setMethod and than not
afterwards reread.
Alternatively we should at least throw an IndexOutOfBoundsEx.
I think I'll (try to) implement Igor's Grid example as a
Component
after the IPageable is stable and DataView/PagabelDataView
implements it. I guess before this it is just redundant work and
there is the example which does with just one copy-paste
the job very well.
Christian
On Fri, 19 Aug 2005 09:28:27 -0700, Igor Vaynberg
<[EMAIL PROTECTED]> wrote:
I really like the idea of having a listview that shows
everything
by default, and when you attach a pager to it it becomes
pageable.
So something like irangepageable { getrowsperpage()
setrowsperpage() getmaxrows() }But that's just me.
Btw whats getmaxrows() is that getrowcount()?
I don't see why the listview cannot have
setrowsperpage() anyways
which defaults to showing everything until used.
-Igor
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Johan Compagner
Sent: Friday, August 19, 2005 2:29 AM
To: wicket-user@lists.sourceforge.net
Subject: Re: [Wicket-user] Re: ColumnedDataProvider startIndex
problems
Alternatively we should make an PageableOrderedRepeatingView.
I want to wait for the new navigation to be done so we
don't need to
have the regular - pageable pairs.
I am currently inclined to keep this difference.
Because now i have
IPageable
{
getCurrentPage();
setCurrentPage(int);
getPageCount();
}
and i think i will make this one:
IRangePageable extends IPageable
{
getRowsPerPage();
getMaxRows();
}
instead of
IRangePageable extends IPageable
{
setRowsPerPage(int);
getMaxRows();
}
i think setting the number of rows a page should display is a
property of the View that displays them Not something of the
Navigation/Navigator that is attached to it..
But if others are more in for pushing the rows per page
instead of
pulling then i could change my mind.
and ListView doesn't have to be a RangePageable it
could also be
used to display a panel and that it is only a Pageable
So giving a
listview by default the RangePageable interface is also wrong.
ListView could be directly an IPageable and PageableListView an
IRangePageable.
looks that logical?
johan
johan
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software
Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development
Lifecycle
Practices Agile & Plan-Driven Development * Managing Projects &
Teams * Testing & QA Security * Process Improvement &
Measurement
* http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software
Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development
Lifecycle
Practices Agile & Plan-Driven Development * Managing Projects &
Teams * Testing & QA Security * Process Improvement &
Measurement *
http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle
Practices Agile & Plan-Driven Development * Managing
Projects & Teams
* Testing & QA Security * Process Improvement & Measurement *
http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
--
Christian Essl
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos -
Hier anmelden: http://mail.yahoo.de
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development
Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams *
Testing & QA
Security * Process Improvement & Measurement *
http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
--
http://www.desktopbeautifier.com/
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user