Required Information Version(s) of Ext GWT Ext GWT 3.0-GPL

Browser versions and OS (and desktop environment, if applicable)
  • Firefox 11, W7
  • Chrome 20, W7
  • ..probably others
Virtual Machine Yes

Description
Widgets added to the BorderLayoutContainer after the BorderLayoutContainer has beed rendered (RootLayoutPanel.get().add(..)) does not get the collapse toolbutton applied, and thus cannot be collapsed..

Run mode
Both

Steps to reproduce the problem
  1. Start running in development mode in Eclipse
  2. Open app in browser
Expected result Apply collapse-toolbutton to headers.
Actual result
No button
Test case
Code:
 
public class TestCase implements EntryPoint {

    @Override
    public void onModuleLoad() {
        BorderLayoutContainer borderLayoutContainer = new BorderLayoutContainer();

        BorderLayoutData northData = new BorderLayoutData(100);
        northData.setMargins(new Margins());

        BorderLayoutData westData = new BorderLayoutData(180);
        westData.setMargins(new Margins(0, 3, 0, 0));
        westData.setCollapsible(true);
        westData.setSplit(true);

        MarginData centerData = new MarginData();

        BorderLayoutData eastData = new BorderLayoutData(250);
        eastData.setMargins(new Margins(0, 0, 0, 3));
        eastData.setCollapsible(true);
        eastData.setSplit(true);

        BorderLayoutData southData = new BorderLayoutData(180);
        southData.setMargins(new Margins(3, 0, 0, 0));
        southData.setCollapsible(true);
        eastData.setSplit(true);

        ContentPanel west = new ContentPanel();
        ContentPanel north = new ContentPanel();

        borderLayoutContainer.setWestWidget(west, westData);
        borderLayoutContainer.setNorthWidget(north, northData);

        Viewport viewport = new Viewport();
        viewport.setWidget(borderLayoutContainer);

        RootLayoutPanel.get().add(viewport);

        ContentPanel east = new ContentPanel();
        ContentPanel south = new ContentPanel();
        ContentPanel center = new ContentPanel();

        borderLayoutContainer.setEastWidget(east, eastData);
        borderLayoutContainer.setSouthWidget(south, southData);
        borderLayoutContainer.setCenterWidget(center, centerData);
    }

}
Helpful Information Screenshot or video Live test Debugging already done
  • BorderLayoutContainer.onInsert line 984 c.isRendered() will return true when the BorderLayoutContainer is rendered
Possible fix