Williame, thanks for your response, I really hope we can find an
elegant solution.
I don't think that your approach works well for dynamic content. I
don't really know the size of the cell tree in advance so I can't
adjust the size of the containing panel when placing the cell tree in
it.
At first, I used like you a HtmlPanel as my main container, and I had
outside scrolling working fine, but I had to switch from it when I
started to use a SplitLayoutPanel for one of my views, because the
split panel worked only when specifying the exact height for it, I
couldn't get it to work with a height of 100%.
So I switched to using RootLayoutPanel and converted all my outer
panels to layout panels and the SplitLayoutPanel started to work
correctly (not surprisingly, as the documentation for layout panels
clearly says that you have to attach them only to other layout
panels). Having solved that I bumped into this inner scrolling
problem.
From the layout panels documentation:
ScrollPanel... works well in layout panels (see below), which provide
it with the explicit size it needs to scroll properly.
And below we have this example:
<g:DockLayoutPanel unit='EM'>
<g:north size='4'>
<g:Label>Header</g:Label>
</g:north>
<g:west size='16'>
<g:Label>Navigation</g:Label>
</g:west>
<g:center>
<g:ScrollPanel>
<g:Label>Content Area</g:Label>
</g:ScrollPanel>
</g:center>
</g:DockLayoutPanel>
Which is like my code, except they use static content for the scroll
panel.
I suppose an elegant solution must exist, because almost all web apps
will use dynamic content.