Reviewers: katerina_google.com,

Description:
Reverting behavior in DefaultCellTableBuilder so it renders Cells using
Column#render(), if available.  CellTableBuilder uses the HasCell
interface to define the Cells used in the table.  If the HasCell is an
instance of Column, we should defer to Column#render() for legacy
support instead of calling HasCell#getCell()#render().  Some users
override Column#render() to add custom html to the rendered cell.


Please review this at http://gwt-code-reviews.appspot.com/1513805/

Affected files:
  M user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java


Index: user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java
===================================================================
--- user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java (revision 10508) +++ user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java (working copy)
@@ -855,7 +855,16 @@

       // Render the cell into the builder.
       SafeHtmlBuilder cellBuilder = new SafeHtmlBuilder();
- column.getCell().render(context, column.getValue(rowValue), cellBuilder);
+      if (column instanceof Column) {
+        /*
+ * If the HasCell is a Column, let it render the Cell itself. This is
+         * here for legacy support.
+         */
+        Column<T, C> theColumn = (Column<T, C>) column;
+        theColumn.render(context, rowValue, cellBuilder);
+      } else {
+ column.getCell().render(context, column.getValue(rowValue), cellBuilder);
+      }
       builder.html(cellBuilder.toSafeHtml());
     }



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

Reply via email to