Revision: 10513
Author:   [email protected]
Date:     Tue Aug  9 05:15:24 2011
Log: 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.

Review at http://gwt-code-reviews.appspot.com/1513805

Review by: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=10513

Modified:
 /trunk/user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java

=======================================
--- /trunk/user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java Mon Aug 8 12:01:09 2011 +++ /trunk/user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java Tue Aug 9 05:15:24 2011
@@ -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