Can you post the complete file required to run this? At least the outer tags and decls of the ui.xml is missing. I can make up a fake java class to run this, but I'm assuming then that this will show your bug with no other changes.
Some of your samples have three panels and one button, some have three panels and two buttons - why so many screenshots, and why does some completely fail to match the code sample? I agree, it looks like there is a bug here, but without being certain of what you are after, it is hard to try to fix it.
Is there a reason you are using the GWT TextButton class instead of the GXT TextButton? I am only able to spot this because the buttons in the screenshots don't look like GXT buttons.
On my project I have border layout. On west zone top component is ContentPanel - we need colapsable element to hide west zone. In ContentPanel child component is AccordionLayoutContainer and I can put to him only ContentPanel or FramedPanel. I added ContentPanel with Buttons to AccordionLayoutContainer and it worked fine until I changed the west zone size because when I worked with Accordion I resize only child ContentPanel and parent do not resize.
You can try next code. Resize west zone size when you open ContentPanel with buttons or without buttons. :
You say me: "Everything works fine. Do not have any problems.". All working good because on the top ContentPanel first child is ContentPanel without buttons. You can add to Top ContentPanel button and you see incorrect position of button:
Is there any workaround to this issue? I'm currently experiencing similar problems regarding nested ContentPanels, the ButtonBar area seems to be causing issues with respect to sizing/scrolling similar to what has already been described above.
In my case, I have a ContentPanel with simple Save/Cancel buttons. Within this ContentPanel is a BorderLayout, with one ContentPanel in the north, a second ContentPanel in the center. When either inner panel needs to scroll, they seem to assume the ButtonBar area is available, when in fact it is covered up. This is causing the "down" scroll arrow to be hidden in the space the ButtonBar would be. Resizing the browser window fixes the scrolling/layout issue, but then the outer ContentPanel loses its Save/Cancel buttons (they disappear).
FWIW, it turns out my issues stem from trying to get the last field in a form to flex and fill up remaining space. I was specifying '-1' in VerticalLayoutData.height thinking it was like a 'flex' value but is actually the full container height.
The solution is to determine the amount of space used by the other widgets and supply that as a negative value.
EG: This indicates full width and full height less 3 fields.
new VerticalLayoutData(1, -3 * STD_FIELD_HEIGHT)
The -1 value means to ask the child widget how much room it needs, not to assign it a size directly. This only works for widgets that can decide size for themselves - not VLC, HLC, or Grid, for example. In contrast, 1.0 means to use 100% of the available space - any value between 0 and 1 means use that amount as a percentage.
Negative values other than -1 (like your -3 * 29 = -87) are rarely used, but they mean to take the total width and use all of it except for the indicated amount. This mean is the parent is 300px tall, the object you are adding will be 213 px tall. I almost always find it to be easier to just add the other children with specific sizes, then use 1.0 to use the rest.
(Also, as noted in the heading, this is now fixed in SVN and our nightly builds, and will go out in 3.0.6)