Revision: 8935
Author: jlaba...@google.com
Date: Tue Oct 5 05:40:44 2010
Log: Changes the default row count of HasDataPresenter from
Integer.MIN_VALUE to a more reasonable 0. We use the boolean
isRowCountExact to determine if we actually have 0 rows, or just think we
do.
Review at http://gwt-code-reviews.appspot.com/950802
Review by: r...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=8935
Modified:
/trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java
/trunk/user/test/com/google/gwt/user/cellview/client/HasDataPresenterTest.java
=======================================
---
/trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java
Wed Sep 22 12:58:01 2010
+++
/trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java
Tue Oct 5 05:40:44 2010
@@ -269,7 +269,7 @@
*/
private boolean pageStartChangedSinceRender;
- private int rowCount = Integer.MIN_VALUE;
+ private int rowCount = 0;
private boolean rowCountIsExact;
@@ -950,7 +950,7 @@
private void updateLoadingState() {
int cacheSize = rowData.size();
int curPageSize = isRowCountExact() ? getCurrentPageSize() : pageSize;
- if (rowCount == 0) {
+ if (rowCount == 0 && rowCountIsExact) {
view.setLoadingState(LoadingState.EMPTY);
} else if (cacheSize >= curPageSize) {
view.setLoadingState(LoadingState.LOADED);
=======================================
---
/trunk/user/test/com/google/gwt/user/cellview/client/HasDataPresenterTest.java
Wed Sep 22 12:58:01 2010
+++
/trunk/user/test/com/google/gwt/user/cellview/client/HasDataPresenterTest.java
Tue Oct 5 05:40:44 2010
@@ -350,6 +350,18 @@
view.assertOnUpdateSelectionFired(false);
view.assertSelectedRows();
}
+
+ public void testDefaults() {
+ HasData<String> listView = new MockHasData<String>();
+ MockView<String> view = new MockView<String>();
+ HasDataPresenter<String> presenter = new
HasDataPresenter<String>(listView,
+ view, 10, null);
+
+ assertEquals(0, presenter.getRowCount());
+ assertFalse(presenter.isRowCountExact());
+ assertEquals(0, presenter.getCurrentPageSize());
+ assertEquals(new Range(0, 10), presenter.getVisibleRange());
+ }
public void testGetCurrentPageSize() {
HasData<String> listView = new MockHasData<String>();
@@ -884,10 +896,17 @@
assertTrue(presenter.isRowCountExact());
view.assertLoadingState(LoadingState.LOADING);
- // Set size to 0.
+ // Set size to 0, but not exact. The state is loading until we know
there is
+ // no data.
presenter.setRowCount(0, false);
assertEquals(0, presenter.getRowCount());
assertFalse(presenter.isRowCountExact());
+ view.assertLoadingState(LoadingState.LOADING);
+
+ // Set size to 0 and exact. Now we know the list is empty.
+ presenter.setRowCount(0, true);
+ assertEquals(0, presenter.getRowCount());
+ assertTrue(presenter.isRowCountExact());
view.assertLoadingState(LoadingState.EMPTY);
}
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors