Revision: 9282
Author: [email protected]
Date: Wed Nov 24 05:29:07 2010
Log: Cherry picking EditTextCell and JavaDoc fixes into release branch.

http://code.google.com/p/google-web-toolkit/source/detail?r=9282

Modified:
 /releases/2.1/user/src/com/google/gwt/cell/client/EditTextCell.java
/releases/2.1/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImpl.java
 /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBrowser.java
 /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellList.java
 /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTable.java
/releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java /releases/2.1/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java
 /releases/2.1/user/src/com/google/gwt/view/client/CellPreviewEvent.java
/releases/2.1/user/src/com/google/gwt/view/client/DefaultSelectionEventManager.java /releases/2.1/user/test/com/google/gwt/user/cellview/client/CellListTest.java /releases/2.1/user/test/com/google/gwt/user/cellview/client/HasDataPresenterTest.java

=======================================
--- /releases/2.1/user/src/com/google/gwt/cell/client/EditTextCell.java Fri Oct 15 12:37:33 2010 +++ /releases/2.1/user/src/com/google/gwt/cell/client/EditTextCell.java Wed Nov 24 05:29:07 2010
@@ -277,7 +277,9 @@
     String value = updateViewData(parent, viewData, false);
     clearInput(getInputElement(parent));
     setValue(parent, value, viewData);
-    valueUpdater.update(value);
+    if (valueUpdater != null) {
+      valueUpdater.update(value);
+    }
   }

   private void editEvent(Element parent, Object key, ViewData viewData,
=======================================
--- /releases/2.1/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java Wed Nov 24 02:08:09 2010 +++ /releases/2.1/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java Wed Nov 24 05:29:07 2010
@@ -593,8 +593,8 @@

   /**
* Set the {...@link SelectionModel} that defines which items are selected and - * the {...@link CellPreviewEvent.Handler} that controls how user selection is
-   * handled.
+   * the {...@link com.google.gwt.view.client.CellPreviewEvent.Handler} that
+   * controls how user selection is handled.
    *
* @param selectionModel the {...@link SelectionModel} that defines selection
    * @param selectionEventManager the handler that controls user selection
=======================================
--- /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImpl.java Wed Nov 10 04:31:36 2010 +++ /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImpl.java Wed Nov 24 05:29:07 2010
@@ -67,7 +67,7 @@
    * widget should not steal focus from it.
    *
    * @param elem the element
-   * @return
+   * @return true if the element is focusable, false if not
    */
   public boolean isFocusable(Element elem) {
     return focusableTypes.contains(elem.getTagName().toLowerCase())
=======================================
--- /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBrowser.java Wed Nov 24 02:08:09 2010 +++ /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBrowser.java Wed Nov 24 05:29:07 2010
@@ -393,7 +393,7 @@
       if (level < treeNodes.size() - 1) {
         TreeNodeImpl<?> treeNode = treeNodes.get(level + 1);
         treeNode.display.getPresenter().setKeyboardSelectedRow(
-            treeNode.display.getKeyboardSelectedRow(), true);
+            treeNode.display.getKeyboardSelectedRow(), true, true);
       }
     }

@@ -524,7 +524,7 @@
       checkChildBounds(index);
       if (open) {
         // Open the child node.
-        display.getPresenter().setKeyboardSelectedRow(index, false);
+        display.getPresenter().setKeyboardSelectedRow(index, false, true);
         return updateChildState(display, fireEvents);
       } else {
         // Close the child node if it is currently open.
=======================================
--- /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellList.java Wed Nov 24 02:08:09 2010 +++ /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellList.java Wed Nov 24 05:29:07 2010
@@ -400,15 +400,14 @@
       }

       // Focus on the cell.
-      if (isClick
- && getPresenter().getKeyboardSelectedRowInView() != indexOnPage) {
+      if (isClick) {
         /*
* If the selected element is natively focusable, then we do not want to
          * steal focus away from it.
          */
boolean isFocusable = CellBasedWidgetImpl.get().isFocusable(target);
         isFocused = isFocused || isFocusable;
-        getPresenter().setKeyboardSelectedRow(indexOnPage, !isFocusable);
+ getPresenter().setKeyboardSelectedRow(indexOnPage, !isFocusable, false);
       }

       // Fire the event to the cell if the list has not been refreshed.
@@ -449,7 +448,7 @@
       }

       SafeHtmlBuilder cellBuilder = new SafeHtmlBuilder();
-      cell.render(value, null, cellBuilder);
+      cell.render(value, getValueKey(value), cellBuilder);

       if (i == keyboardSelectedRow) {
         // This is the focused item.
@@ -496,7 +495,7 @@
       setStyleName(elem, style.cellListKeyboardSelectedItem(), selected);
     }
     setFocusable(elem, selected);
-    if (selected && stealFocus) {
+    if (selected && stealFocus && !cellIsEditing) {
       elem.focus();
       onFocus();
     }
=======================================
--- /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTable.java Wed Nov 24 02:08:09 2010 +++ /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTable.java Wed Nov 24 05:29:07 2010
@@ -971,7 +971,7 @@
boolean isFocusable = CellBasedWidgetImpl.get().isFocusable(target);
         isFocused = isFocused || isFocusable;
         keyboardSelectedColumn = col;
-        getPresenter().setKeyboardSelectedRow(row, !isFocusable);
+        getPresenter().setKeyboardSelectedRow(row, !isFocusable, true);
       }

// Update selection. Selection occurs before firing the event to the cell
@@ -1164,7 +1164,7 @@
     }

     // Move focus to the cell.
-    if (selected && stealFocus) {
+    if (selected && stealFocus && !cellIsEditing) {
       TableCellElement td = tr.getCells().getItem(keyboardSelectedColumn);
final com.google.gwt.user.client.Element cellParent = getCellParent(td).cast(); CellBasedWidgetImpl.get().resetFocus(new Scheduler.ScheduledCommand() {
@@ -1404,7 +1404,7 @@
       } else {
         // Reselect the row to move the selected column.
         keyboardSelectedColumn = nextColumn;
-        getPresenter().setKeyboardSelectedRow(oldRow, true);
+        getPresenter().setKeyboardSelectedRow(oldRow, true, true);
         event.preventDefault();
         return true;
       }
@@ -1421,7 +1421,7 @@
       } else {
         // Reselect the row to move the selected column.
         keyboardSelectedColumn = prevColumn;
-        getPresenter().setKeyboardSelectedRow(oldRow, true);
+        getPresenter().setKeyboardSelectedRow(oldRow, true, true);
         event.preventDefault();
         return true;
       }
=======================================
--- /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java Wed Nov 24 02:08:09 2010 +++ /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java Wed Nov 24 05:29:07 2010
@@ -1241,7 +1241,7 @@
       if (accessKey != 0) {
         focusImpl.setAccessKey(cellElem, accessKey);
       }
-      if (stealFocus) {
+      if (stealFocus && !tree.cellIsEditing) {
         cellElem.focus();
       }
     }
=======================================
--- /releases/2.1/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java Wed Nov 24 02:08:09 2010 +++ /releases/2.1/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java Wed Nov 24 05:29:07 2010
@@ -642,7 +642,7 @@
    */
   public void keyboardEnd() {
     if (!keyboardPagingPolicy.isLimitedToRange()) {
-      setKeyboardSelectedRow(getRowCount() - 1, true);
+      setKeyboardSelectedRow(getRowCount() - 1, true, false);
     }
   }

@@ -651,7 +651,7 @@
    */
   public void keyboardHome() {
     if (!keyboardPagingPolicy.isLimitedToRange()) {
-      setKeyboardSelectedRow(-getPageStart(), true);
+      setKeyboardSelectedRow(-getPageStart(), true, false);
     }
   }

@@ -660,7 +660,7 @@
    */
   public void keyboardNext() {
     if (hasKeyboardNext()) {
-      setKeyboardSelectedRow(getKeyboardSelectedRow() + 1, true);
+      setKeyboardSelectedRow(getKeyboardSelectedRow() + 1, true, false);
     }
   }

@@ -670,9 +670,10 @@
   public void keyboardNextPage() {
     if (KeyboardPagingPolicy.CHANGE_PAGE == keyboardPagingPolicy) {
       // 0th index of next page.
-      setKeyboardSelectedRow(getPageSize(), true);
+      setKeyboardSelectedRow(getPageSize(), true, false);
} else if (KeyboardPagingPolicy.INCREASE_RANGE == keyboardPagingPolicy) { - setKeyboardSelectedRow(getKeyboardSelectedRow() + PAGE_INCREMENT, true); + setKeyboardSelectedRow(getKeyboardSelectedRow() + PAGE_INCREMENT, true,
+          false);
     }
   }

@@ -681,7 +682,7 @@
    */
   public void keyboardPrev() {
     if (hasKeyboardPrev()) {
-      setKeyboardSelectedRow(getKeyboardSelectedRow() - 1, true);
+      setKeyboardSelectedRow(getKeyboardSelectedRow() - 1, true, false);
     }
   }

@@ -691,9 +692,10 @@
   public void keyboardPrevPage() {
     if (KeyboardPagingPolicy.CHANGE_PAGE == keyboardPagingPolicy) {
       // 0th index of previous page.
-      setKeyboardSelectedRow(-getPageSize(), true);
+      setKeyboardSelectedRow(-getPageSize(), true, false);
} else if (KeyboardPagingPolicy.INCREASE_RANGE == keyboardPagingPolicy) { - setKeyboardSelectedRow(getKeyboardSelectedRow() - PAGE_INCREMENT, true); + setKeyboardSelectedRow(getKeyboardSelectedRow() - PAGE_INCREMENT, true,
+          false);
     }
   }

@@ -717,12 +719,23 @@
    *
    * @param index the row index
    * @param stealFocus true to steal focus
+   * @param forceUpdate force the update even if the row didn't change
    */
-  public void setKeyboardSelectedRow(int index, boolean stealFocus) {
+  public void setKeyboardSelectedRow(int index, boolean stealFocus,
+      boolean forceUpdate) {
     // Early exit if disabled.
     if (KeyboardSelectionPolicy.DISABLED == keyboardSelectionPolicy) {
       return;
     }
+
+    /*
+ * Early exit if the keyboard selected row has not changed and the keyboard
+     * selected value is already set.
+     */
+    if (!forceUpdate && getKeyboardSelectedRow() == index
+        && getKeyboardSelectedRowValue() != null) {
+      return;
+    }

     // Trim to within bounds.
     int pageStart = getPageStart();
=======================================
--- /releases/2.1/user/src/com/google/gwt/view/client/CellPreviewEvent.java Wed Nov 24 02:08:09 2010 +++ /releases/2.1/user/src/com/google/gwt/view/client/CellPreviewEvent.java Wed Nov 24 05:29:07 2010
@@ -22,15 +22,14 @@
 /**
  * Allows the previewing of events before they are fired to Cells.
  *
- * @param <T> the data type of the {...@link DataDisplay} source
+ * @param <T> the data type of the {...@link HasData} source
  */
public class CellPreviewEvent<T> extends GwtEvent<CellPreviewEvent.Handler<T>> {

   /**
    * Handler for {...@link CellPreviewEvent}.
    *
-   * @param <T> the data type of the {...@link DataDisplay}
-   * @param <C> the context of the event, usually the Widget source
+   * @param <T> the data type of the {...@link HasData}
    */
   public static interface Handler<T> extends EventHandler {

@@ -55,7 +54,7 @@
    * @param <T> the old value type
    * @param source the source of the handlers
    * @param nativeEvent the event to preview
-   * @param display the {...@link DataDisplay} source of the event
+   * @param display the {...@link HasData} source of the event
    * @param index the index of the value where the event occurred
    * @param value the value where the event occurred
    * @param isCellEditing indicates whether or not the cell is being edited
@@ -76,7 +75,7 @@
    * @param <T> the old value type
    * @param source the source of the handlers
    * @param nativeEvent the event to preview
-   * @param display the {...@link DataDisplay} source of the event
+   * @param display the {...@link HasData} source of the event
    * @param index the index of the value where the event occurred
    * @param column the column index
    * @param value the value where the event occurred
@@ -120,7 +119,7 @@
    * Construct a new {...@link CellPreviewEvent}.
    *
    * @param nativeEvent the event to preview
-   * @param display the {...@link DataDisplay} source of the event
+   * @param display the {...@link HasData} source of the event
    * @param index the index of the value where the event occurred
    * @param value the value where the event occurred
    * @param isCellEditing indicates whether or not the cell is being edited
@@ -157,7 +156,7 @@
   }

   /**
-   * Get the {...@link DataDisplay} source of the event.
+   * Get the {...@link HasData} source of the event.
    */
   public HasData<T> getDisplay() {
     return display;
=======================================
--- /releases/2.1/user/src/com/google/gwt/view/client/DefaultSelectionEventManager.java Wed Nov 24 02:08:09 2010 +++ /releases/2.1/user/src/com/google/gwt/view/client/DefaultSelectionEventManager.java Wed Nov 24 05:29:07 2010
@@ -44,7 +44,7 @@
    *
    * @param <T> the data type
    */
- public static class CheckboxEventTranslater<T> implements EventTranslator<T> { + public static class CheckboxEventTranslator<T> implements EventTranslator<T> {

     /**
      * The column index of the checkbox. Other columns are ignored.
@@ -52,20 +52,20 @@
     private final int column;

     /**
-     * Construct a new {...@link CheckboxEventTranslater} that will trigger
+     * Construct a new {...@link CheckboxEventTranslator} that will trigger
      * selection when any checkbox in any column is selected.
      */
-    public CheckboxEventTranslater() {
+    public CheckboxEventTranslator() {
       this(-1);
     }

     /**
-     * Construct a new {...@link CheckboxEventTranslater} that will trigger
+     * Construct a new {...@link CheckboxEventTranslator} that will trigger
      * selection when a checkbox in the specified column is selected.
      *
      * @param column the column index, or -1 for all columns
      */
-    public CheckboxEventTranslater(int column) {
+    public CheckboxEventTranslator(int column) {
       this.column = column;
     }

@@ -140,7 +140,7 @@
    * @return a {...@link DefaultSelectionEventManager} instance
    */
public static <T> DefaultSelectionEventManager<T> createCheckboxManager() { - return new DefaultSelectionEventManager<T>(new CheckboxEventTranslater<T>()); + return new DefaultSelectionEventManager<T>(new CheckboxEventTranslator<T>());
   }

   /**
@@ -153,7 +153,7 @@
    */
   public static <T> DefaultSelectionEventManager<T> createCheckboxManager(
       int column) {
- return new DefaultSelectionEventManager<T>(new CheckboxEventTranslater<T>( + return new DefaultSelectionEventManager<T>(new CheckboxEventTranslator<T>(
         column));
   }

@@ -167,8 +167,8 @@
    * @return a {...@link DefaultSelectionEventManager} instance
    */
   public static <T> DefaultSelectionEventManager<T> createCustomManager(
-      EventTranslator<T> translater) {
-    return new DefaultSelectionEventManager<T>(translater);
+      EventTranslator<T> translator) {
+    return new DefaultSelectionEventManager<T>(translator);
   }

   /**
=======================================
--- /releases/2.1/user/test/com/google/gwt/user/cellview/client/CellListTest.java Wed Nov 10 04:31:36 2010 +++ /releases/2.1/user/test/com/google/gwt/user/cellview/client/CellListTest.java Wed Nov 24 05:29:07 2010
@@ -15,7 +15,13 @@
  */
 package com.google.gwt.user.cellview.client;

+import com.google.gwt.cell.client.Cell;
 import com.google.gwt.cell.client.TextCell;
+import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
+import com.google.gwt.view.client.ProvidesKey;
+
+import java.util.ArrayList;
+import java.util.List;

 /**
  * Tests for {...@link CellList}.
@@ -29,6 +35,37 @@
     // Ensure that calling getRowElement() flushes all pending changes.
     assertNotNull(list.getRowElement(9));
   }
+
+  /**
+   * Test that the correct values are sent to the Cell to be rendered.
+   */
+  public void testRenderWithKeyProvider() {
+    // Create a cell that verifies the render args.
+    final List<String> rendered = new ArrayList<String>();
+    final Cell<String> cell = new TextCell() {
+      @Override
+      public void render(String data, Object key, SafeHtmlBuilder sb) {
+        int call = rendered.size();
+        rendered.add(data);
+ assertTrue("render() called more than ten times", rendered.size() < 11);
+
+        assertEquals("test " + call, data);
+        assertTrue(key instanceof Integer);
+        assertEquals(call, key);
+      }
+    };
+
+    // Create a model with only one level, and three values at that level.
+    ProvidesKey<String> keyProvider = new ProvidesKey<String>() {
+      public Object getKey(String item) {
+        return Integer.parseInt(item.substring(5));
+      }
+    };
+    CellList<String> cellList = new CellList<String>(cell, keyProvider);
+    cellList.setRowData(createData(0, 10));
+    cellList.getPresenter().flush();
+    assertEquals(10, rendered.size());
+  }

   @Override
   protected CellList<String> createAbstractHasData() {
=======================================
--- /releases/2.1/user/test/com/google/gwt/user/cellview/client/HasDataPresenterTest.java Wed Nov 24 02:08:09 2010 +++ /releases/2.1/user/test/com/google/gwt/user/cellview/client/HasDataPresenterTest.java Wed Nov 24 05:29:07 2010
@@ -321,7 +321,7 @@
     populatePresenter(presenter);

     // Select the second element.
-    presenter.setKeyboardSelectedRow(2, false);
+    presenter.setKeyboardSelectedRow(2, false, false);
     presenter.flush();
     assertEquals(2, presenter.getKeyboardSelectedRow());
     assertEquals("test 2", presenter.getKeyboardSelectedRowValue());
@@ -381,7 +381,7 @@
     presenter.setKeyboardPagingPolicy(KeyboardPagingPolicy.CHANGE_PAGE);

     // keyboardPrev in middle.
-    presenter.setKeyboardSelectedRow(1, false);
+    presenter.setKeyboardSelectedRow(1, false, false);
     presenter.flush();
     view.assertKeyboardSelectedRow(0, false);
     view.assertKeyboardSelectedRow(1, true);
@@ -403,7 +403,7 @@
     assertEquals(new Range(40, 10), presenter.getVisibleRange());

     // keyboardNext in middle.
-    presenter.setKeyboardSelectedRow(8, false);
+    presenter.setKeyboardSelectedRow(8, false, false);
     presenter.flush();
     view.assertKeyboardSelectedRow(9, false);
     view.assertKeyboardSelectedRow(8, true);
@@ -425,7 +425,7 @@
     assertEquals(new Range(50, 10), presenter.getVisibleRange());

     // keyboardPrevPage.
-    presenter.setKeyboardSelectedRow(5, false);
+    presenter.setKeyboardSelectedRow(5, false, false);
     presenter.flush();
     view.assertKeyboardSelectedRow(0, false);
     view.assertKeyboardSelectedRow(5, true);
@@ -438,7 +438,7 @@
     assertEquals(new Range(40, 10), presenter.getVisibleRange());

     // keyboardNextPage.
-    presenter.setKeyboardSelectedRow(5, false);
+    presenter.setKeyboardSelectedRow(5, false, false);
     presenter.flush();
     view.assertKeyboardSelectedRow(0, false);
     view.assertKeyboardSelectedRow(5, true);
@@ -494,7 +494,7 @@
     presenter.setKeyboardPagingPolicy(KeyboardPagingPolicy.CURRENT_PAGE);

     // keyboardPrev in middle.
-    presenter.setKeyboardSelectedRow(1, false);
+    presenter.setKeyboardSelectedRow(1, false, false);
     presenter.flush();
     view.assertKeyboardSelectedRow(0, false);
     view.assertKeyboardSelectedRow(1, true);
@@ -513,7 +513,7 @@
     view.assertKeyboardSelectedRowEmpty();

     // keyboardNext in middle.
-    presenter.setKeyboardSelectedRow(8, false);
+    presenter.setKeyboardSelectedRow(8, false, false);
     presenter.flush();
     view.assertKeyboardSelectedRow(0, false);
     view.assertKeyboardSelectedRow(8, true);
@@ -567,7 +567,7 @@
     presenter.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE);

     // keyboardPrev in middle.
-    presenter.setKeyboardSelectedRow(1, false);
+    presenter.setKeyboardSelectedRow(1, false, false);
     presenter.flush();
     view.assertKeyboardSelectedRow(0, false);
     view.assertKeyboardSelectedRow(1, true);
@@ -591,7 +591,7 @@
assertEquals(new Range(pageStart, pageSize), presenter.getVisibleRange());

     // keyboardNext in middle.
-    presenter.setKeyboardSelectedRow(pageSize - 2, false);
+    presenter.setKeyboardSelectedRow(pageSize - 2, false, false);
     presenter.flush();
     view.assertKeyboardSelectedRow(increment - 1, false);
     view.assertKeyboardSelectedRow(pageSize - 2, true);
@@ -614,7 +614,7 @@
assertEquals(new Range(pageStart, pageSize), presenter.getVisibleRange());

     // keyboardPrevPage within range.
-    presenter.setKeyboardSelectedRow(increment, false);
+    presenter.setKeyboardSelectedRow(increment, false, false);
     presenter.flush();
     view.assertKeyboardSelectedRow(pageSize - increment, false);
     view.assertKeyboardSelectedRow(increment, true);
@@ -645,7 +645,7 @@
assertEquals(new Range(pageStart, pageSize), presenter.getVisibleRange());

     // keyboardNextPage outside range.
-    presenter.setKeyboardSelectedRow(pageSize - 1, false);
+    presenter.setKeyboardSelectedRow(pageSize - 1, false, false);
     presenter.flush();
     view.assertKeyboardSelectedRow(increment, false);
     view.assertKeyboardSelectedRow(pageSize - 1, true);
@@ -795,19 +795,19 @@
     assertEquals(0, model.getSelectedSet().size());

     // Select an element.
-    presenter.setKeyboardSelectedRow(5, false);
+    presenter.setKeyboardSelectedRow(5, false, false);
     presenter.flush();
     assertEquals(1, model.getSelectedSet().size());
     assertTrue(model.isSelected("test 5"));

     // Select another element.
-    presenter.setKeyboardSelectedRow(9, false);
+    presenter.setKeyboardSelectedRow(9, false, false);
     presenter.flush();
     assertEquals(1, model.getSelectedSet().size());
     assertTrue(model.isSelected("test 9"));

     // Select an element on another page.
-    presenter.setKeyboardSelectedRow(11, false);
+    presenter.setKeyboardSelectedRow(11, false, false);
     presenter.flush();
     // Nothing is selected yet because we don't have data.
     assertEquals(0, model.getSelectedSet().size());
@@ -836,7 +836,7 @@
     view.assertKeyboardSelectedRowEmpty();

     // Move to middle.
-    presenter.setKeyboardSelectedRow(1, false);
+    presenter.setKeyboardSelectedRow(1, false, false);
     assertEquals("test 11", presenter.getKeyboardSelectedRowValue());
     presenter.flush();
     assertEquals(1, presenter.getKeyboardSelectedRow());
@@ -845,7 +845,7 @@
     view.assertKeyboardSelectedRow(1, true);

     // Move to same row (should not early out).
-    presenter.setKeyboardSelectedRow(1, false);
+    presenter.setKeyboardSelectedRow(1, false, true);
     assertEquals("test 11", presenter.getKeyboardSelectedRowValue());
     presenter.flush();
     assertEquals(1, presenter.getKeyboardSelectedRow());
@@ -854,7 +854,7 @@
     view.assertKeyboardSelectedRow(1, true);

     // Move to last row.
-    presenter.setKeyboardSelectedRow(9, false);
+    presenter.setKeyboardSelectedRow(9, false, false);
     assertEquals("test 19", presenter.getKeyboardSelectedRowValue());
     presenter.flush();
     assertEquals(9, presenter.getKeyboardSelectedRow());
@@ -865,7 +865,7 @@
     assertEquals(10, presenter.getVisibleRange().getLength());

     // Move to next page.
-    presenter.setKeyboardSelectedRow(10, false);
+    presenter.setKeyboardSelectedRow(10, false, false);
     populatePresenter(presenter);
     assertNull(presenter.getKeyboardSelectedRowValue());
     presenter.flush();
@@ -877,7 +877,7 @@
     assertEquals(10, presenter.getVisibleRange().getLength());

     // Negative index.
-    presenter.setKeyboardSelectedRow(-1, false);
+    presenter.setKeyboardSelectedRow(-1, false, false);
     populatePresenter(presenter);
     assertNull(presenter.getKeyboardSelectedRowValue());
     presenter.flush();
@@ -904,35 +904,35 @@
     view.assertKeyboardSelectedRowEmpty();

     // Negative index (should remain at index 0).
-    presenter.setKeyboardSelectedRow(-1, false);
+    presenter.setKeyboardSelectedRow(-1, false, false);
     presenter.flush();
     assertEquals(0, presenter.getKeyboardSelectedRow());
     view.assertKeyboardSelectedRow(0, false);
     view.assertKeyboardSelectedRow(0, true);

     // Move to middle.
-    presenter.setKeyboardSelectedRow(1, false);
+    presenter.setKeyboardSelectedRow(1, false, false);
     presenter.flush();
     assertEquals(1, presenter.getKeyboardSelectedRow());
     view.assertKeyboardSelectedRow(0, false);
     view.assertKeyboardSelectedRow(1, true);

     // Move to same row (should not early out).
-    presenter.setKeyboardSelectedRow(1, false);
+    presenter.setKeyboardSelectedRow(1, false, true);
     presenter.flush();
     assertEquals(1, presenter.getKeyboardSelectedRow());
     view.assertKeyboardSelectedRow(1, false);
     view.assertKeyboardSelectedRow(1, true);

     // Move to last row.
-    presenter.setKeyboardSelectedRow(9, false);
+    presenter.setKeyboardSelectedRow(9, false, false);
     presenter.flush();
     assertEquals(9, presenter.getKeyboardSelectedRow());
     view.assertKeyboardSelectedRow(1, false);
     view.assertKeyboardSelectedRow(9, true);

     // Move to next page (confined to page).
-    presenter.setKeyboardSelectedRow(10, false);
+    presenter.setKeyboardSelectedRow(10, false, false);
     presenter.flush();
     assertEquals(9, presenter.getKeyboardSelectedRow());
     view.assertKeyboardSelectedRow(9, false);
@@ -956,7 +956,7 @@
     assertNull(presenter.getKeyboardSelectedRowValue());
     view.assertKeyboardSelectedRowEmpty();

-    presenter.setKeyboardSelectedRow(1, false);
+    presenter.setKeyboardSelectedRow(1, false, false);
     presenter.flush();
     assertEquals(-1, presenter.getKeyboardSelectedRow());
     assertNull(presenter.getKeyboardSelectedRowValue());
@@ -979,21 +979,21 @@
     view.assertKeyboardSelectedRowEmpty();

     // Move to middle.
-    presenter.setKeyboardSelectedRow(1, false);
+    presenter.setKeyboardSelectedRow(1, false, false);
     presenter.flush();
     assertEquals(1, presenter.getKeyboardSelectedRow());
     view.assertKeyboardSelectedRow(0, false);
     view.assertKeyboardSelectedRow(1, true);

     // Move to same row (should not early out).
-    presenter.setKeyboardSelectedRow(1, false);
+    presenter.setKeyboardSelectedRow(1, false, true);
     presenter.flush();
     assertEquals(1, presenter.getKeyboardSelectedRow());
     view.assertKeyboardSelectedRow(1, false);
     view.assertKeyboardSelectedRow(1, true);

     // Move to last row.
-    presenter.setKeyboardSelectedRow(9, false);
+    presenter.setKeyboardSelectedRow(9, false, false);
     presenter.flush();
     assertEquals(9, presenter.getKeyboardSelectedRow());
     view.assertKeyboardSelectedRow(1, false);
@@ -1002,7 +1002,7 @@
     assertEquals(pageSize, presenter.getVisibleRange().getLength());

     // Move to next page.
-    presenter.setKeyboardSelectedRow(10, false);
+    presenter.setKeyboardSelectedRow(10, false, false);
     populatePresenter(presenter);
     presenter.flush();
     assertEquals(10, presenter.getKeyboardSelectedRow());
@@ -1013,7 +1013,7 @@
     assertEquals(pageSize, presenter.getVisibleRange().getLength());

     // Negative index near index 0.
-    presenter.setKeyboardSelectedRow(-1, false);
+    presenter.setKeyboardSelectedRow(-1, false, false);
     populatePresenter(presenter);
     presenter.flush();
     assertEquals(9, presenter.getKeyboardSelectedRow());

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to