Yes I see now, this is exactly like autoboxing. -Igor
> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Gili > Sent: Saturday, August 20, 2005 12:33 PM > To: wicket-user@lists.sourceforge.net > Subject: Re: [Wicket-user] Re: ColumnedDataProvider > startIndex problems > > > 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 > > > ------------------------------------------------------- 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