Revision: 9764
Author: [email protected]
Date: Thu Feb 24 13:09:51 2011
Log: Created wiki page through web user interface.
http://code.google.com/p/google-web-toolkit/source/detail?r=9764
Added:
/wiki/CellBackedWIdgets.wiki
=======================================
--- /dev/null
+++ /wiki/CellBackedWIdgets.wiki Thu Feb 24 13:09:51 2011
@@ -0,0 +1,31 @@
+Design Doc for Cell-Backed Widgets
+
+* WORK IN PROGRESS - NOT READY FOR REVIEW *
+
+*Table of Contents*
+<wiki:toc max_depth="1" />
+
+= Introduction =
+
+Existing GWT Widgets construct a specific DOM structure to represent the
widget, then apply specific style names to specific elements within the
structure. This works fine for users who are satisfied with the default
look and feel of the Widget, but it frustrates users who want to reskin a
widget in more than a trivial way. The assumptions that current widgets
make regarding their structure prevent us from modernizing existing widgets
without breaking applications that rely on the existing DOM structures.
+
+Due to this constraint, the GWT widget library is becoming increasingly
out of date, so the time is ripe for us to revamp the Widget library. This
document outlines a pattern for a new Cell-Backed Widget library that
enables the following common use cases:
+ * Replace the styles of a widget instance
+ * Replace the DOM structure of a widget instance
+ * Reskin an entire GWT app (DOM and/or styles)
+ * Allow third parties to provide skins
+ * Isolate CSS code for each widget
+ * Dead strip CSS code that is not used within the app
+ * Separate presenter logic from DOM view
+ * Offer an identical Cell equivalent of every (most) new widgets
+ * Shared code between Cell and Widget
+
+New Widgets in GWT will be backed by a Cell, so users can call upon common
view components for CellTable and the rest of their application. GWT
already provides the {{{CellWidget}} wrapper class that can convert any
Cell into a Widget. More details on this appear toward the end of the
document.
+
+
+= Appearance Pattern =
+
+
+
+= Cell Backed Widgets =
+
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors