http://gwt-code-reviews.appspot.com/1446811/diff/1/user/src/com/google/gwt/user/client/ui/IsRenderable.java File user/src/com/google/gwt/user/client/ui/IsRenderable.java (right):
http://gwt-code-reviews.appspot.com/1446811/diff/1/user/src/com/google/gwt/user/client/ui/IsRenderable.java#newcode33 user/src/com/google/gwt/user/client/ui/IsRenderable.java:33: * the DOM tree. The id is assumed to be the same passed in at render time. Re-reading this, I see I shifted my stance in midstream. Let me shift if further. To be clear, I think we should not put control of the document.getElementById() call in the hands of the individual panels, and instead we should give them a helper object. And now that I think about it, if we're giving them the helper then we don't need to give them the id at all. It can be built into the helper. And we can go back to giving them just the element they stamped. interface Stamper { /** Error to call more than once */ SafeHtml stampRenderedOpenTag(SafeHtml mustBeOpeningTag); } interface IsRenderable { void render(SafeHtmlBuilder builder, Stamper stamper); /** Provides the element that was stamped, not some ancestor */ void wrapElement(Element); } Note that it's entirely up to them to choose what element they stamp. There is no requirement that it's the root of their rendered product, and no requirement that the renderer produce a single dom element. http://gwt-code-reviews.appspot.com/1446811/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
