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