Echoing a conversation that should have happened on contrib:

jlabanca: This will probably break
CellPanel<http://www.google.com/codesearch/p?hl=en#A1edwVHBClQ/user/src/com/google/gwt/user/client/ui/CellPanel.java&q=CellPanel.java%20package:http://google-web-toolkit%5C.googlecode%5C.com&sa=N&cd=1&ct=rc>,
and more generally it will break any panel that has a defined inner
structure (ie, child widgets are not attached to the outermost DOM element).
CellPanel keeps track of its inner tbody element. If you you clear the
innerHtml, you'll wipe the tbody element. When you try to add a new element,
it will be added to the old tbody reference, which no longer exists. I also
have a feeling that IE will spit fireballs if you even try to set innerHTML
on a table element.

DecoratorPanel and DialogBox both have defined structures that would be
destroyed by the innerHTML call. There may be other panels with a similar
problem.

rjrjr: John, would it be a reasonable change if CellPanel, DecoratorPanel
and DialogBox provided custom overrides for the clear(boolean) method? I
suspect the answer is that the answer is "too easy to miss other cases, and
too easy to get wrong with the next fancy panel," but I'd like to hear it
from you.

jlabanca: We could safely hit all of the cases in our code, but it'll be a
pain point for subclasses of Panel, especially for external users who
already override Panel, which is probably a lot.

Panel currently makes no assumptions about layout, so the concrete
implementation probably doesn't belong there. I think we should only add it
to panels that allow the inner contents to be modified as html, such as
HtmlPanel and HtmlTable. Other than that, it seems like it would just defer
to clear() anyway.

If we have to have a clear() method in PopupPanel, then it should throw an
UnsupportedOperationException like Panel#add() does. We can add a package
protected utility method to do the default behavior of clearing the
innerHtml on the top element. If we do that, I'll vote maybe.

On Thu, Jun 17, 2010 at 7:13 AM, <markovuksano...@gmail.com> wrote:

> The last patchset seems to be working (both dev and web mode tests have
> passed).
>
>
>
>
> http://gwt-code-reviews.appspot.com/612802/show
>

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

Reply via email to