I am using a Borderlayout.

In the west area of the borderlayout i would like to use a accordion layout.
the west area should be scrollable depending of the content in the accordion.
also the accordion should use all the width in the west panel.
everything seems to work fine, but if you open the app for the first time the height of the accordion is wrong and you cant get it to display the content.

i attached a little demo code:

Code:
package com.dvelop.d3web.client;

import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.Viewport;
import com.extjs.gxt.ui.client.widget.layout.AccordionLayout;
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.FillLayout;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.ui.RootPanel;
 
import com.extjs.gxt.ui.client.Style.Scroll;

public class Explorer extends LayoutContainer implements EntryPoint {

    public void onModuleLoad() {
        Viewport v = new Viewport();
        v.add(this);
        v.layout(true);
        v.setLayout(new FitLayout());
        RootPanel.get().add(v);
    }

    public Explorer() {
        setData("layout", new FitLayout());
        
        
    }

    @Override
    protected void onRender(Element parent, int pos) {
        super.onRender(parent, pos);
        setLayout(new BorderLayout());

        ContentPanel north = new ContentPanel();
        ContentPanel west = new ContentPanel();
        west.setHeading("Navigation");
        west.setScrollMode(Scroll.AUTO);
        
        ContentPanel accordionPanel = new ContentPanel();
        accordionPanel.setBodyBorder(false);
        accordionPanel.setHeaderVisible(false);
        
        accordionPanel.setAutoWidth(true);
        accordionPanel.setAutoHeight(true);
        
        AccordionLayout accordionLayout = new AccordionLayout();
        
        
        accordionLayout.setFill(false);
        //accordionLayout.setActiveOnTop(true);
        accordionPanel.setLayout(accordionLayout);
        //setIconStyle("icon-accordion");
        
        
        
        
        
        ContentPanel cp = new ContentPanel();
        cp.setHeading("Online Users");
        

        cp.addText("asdfasdf<br>asdfasdf<br>asdfasdf<br>asdfasdf<br>");
        accordionPanel.add(cp);
        
        
        
        cp = new ContentPanel();
        cp.setHeading("Settings");
        cp.addText("blab alb alba");
        accordionPanel.add(cp);

        cp = new ContentPanel();
        cp.setHeading("Stuff");
        cp.addText("blab alb alba");
        accordionPanel.add(cp);

        cp = new ContentPanel();
        cp.setHeading("More Stuff");
        cp.addText("blab alb alba");
        accordionPanel.add(cp);
        
        west.add(accordionPanel, new FitLayout());
        
        ContentPanel center = new ContentPanel();
        ContentPanel east = new ContentPanel();
        ContentPanel south = new ContentPanel();

        BorderLayoutData northData = new BorderLayoutData(LayoutRegion.NORTH,
                100);
        northData.setSplit(true);
        northData.setMargins(new Margins(5, 5, 0, 5));

        BorderLayoutData westData = new BorderLayoutData(LayoutRegion.WEST, 200);
        westData.setSplit(true);
        westData.setCollapsible(true);
        westData.setMargins(new Margins(5));
        westData.setFloatable(true);
        westData.setMinSize(150);
        westData.setMaxSize(400);
        

        BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER);
        centerData.setMargins(new Margins(5, 0, 5, 0));

        BorderLayoutData eastData = new BorderLayoutData(LayoutRegion.EAST, 200);
        eastData.setSplit(true);
        eastData.setCollapsible(true);
        eastData.setMargins(new Margins(5));

        BorderLayoutData southData = new BorderLayoutData(LayoutRegion.SOUTH,
                100);
        southData.setSplit(true);
        southData.setMargins(new Margins(0, 5, 5, 5));
        
        
        
        
        add(north, northData);
        add(west, westData);
        add(center, centerData);
        add(east, eastData);
        add(south, southData);
        

    }

}