Required Information

Version(s) of Ext GWT
«Ext GWT 3.0.1-GPL»

Browser versions and OS
(and desktop environment, if applicable)
  • «Chrome 26, Windows 7»
  • «Firefox 20, Windows 7»
Virtual Machine
«No»

Description
«When using a BorderLayoutContainer if a set the west region to westData.setCollapsible(false) and westData.setCollapseMini(true) the region collapse vertically when pressing the mini collapse button. But there is no way to expand it afterward. I believe the mini collapse button should not be displayed if i set my data to .setCollapsible(false)»

Run mode
«both»

Steps to reproduce the problem
  1. Copy paste border layout container from Sencha examples
  2. westData.setCollapsible(false)
  3. westData.setCollapseMini(true)
Expected result
«Mini collapse button should not appear or there should be a way to expand the region again.»

Actual result
«Mini collapse button make the region collapse vertically. No way to expand it afterwards»

Test case
Code:
    public class Test implements IsWidget, EntryPoint {
    public Widget asWidget() {
        
        final BorderLayoutContainer con = new BorderLayoutContainer();
        con.setBorders(true);
     
        ContentPanel north = new ContentPanel();
        ContentPanel west = new ContentPanel();
        ContentPanel center = new ContentPanel();
        center.setHeadingText("BorderLayout Example");
     
        FlexTable table = new FlexTable();
        table.getElement().getStyle().setProperty("margin", "10px");
        table.setCellSpacing(8);
        table.setCellPadding(4);
     
        for (int i = 0; i < LayoutRegion.values().length; i++) {
          final LayoutRegion r = LayoutRegion.values()[i];
          if (r == LayoutRegion.CENTER) {
            continue;
          }
     
          SelectHandler handler = new SelectHandler() {
     
            @Override
            public void onSelect(SelectEvent event) {
              TextButton btn = (TextButton)event.getSource();
              String txt = btn.getText();
              if (txt.equals("Expand")) {
                con.expand(r);
              } else if (txt.equals("Collapse")) {
                con.collapse(r);
              } else if (txt.equals("Show")) {
                con.show(r);
              } else {
                con.hide(r);
              }
            }
          };
     
          table.setHTML(i, 0, "<div style='font-size: 12px; width: 100px'>" + r.name() + ":</span>");
          table.setWidget(i, 1, new TextButton("Expand", handler));
          table.setWidget(i, 2, new TextButton("Collapse", handler));
          table.setWidget(i, 3, new TextButton("Show", handler));
          table.setWidget(i, 4, new TextButton("Hide", handler));
        }
     
        center.setResize(false);
        center.add(table);
     
        ContentPanel east = new ContentPanel();
        ContentPanel south = new ContentPanel();
     
        BorderLayoutData northData = new BorderLayoutData(100);
        northData.setMargins(new Margins(5));
        northData.setCollapsible(true);
        northData.setSplit(true);
     
        BorderLayoutData westData = new BorderLayoutData(150);
        westData.setCollapsible(false);
        //westData.setSplit(true);
        westData.setCollapseMini(true);
        westData.setMargins(new Margins(0, 5, 0, 5));
     
        MarginData centerData = new MarginData();
     
        BorderLayoutData eastData = new BorderLayoutData(150);
        eastData.setMargins(new Margins(0, 5, 0, 5));
        eastData.setCollapsible(true);
        eastData.setSplit(true);
     
        BorderLayoutData southData = new BorderLayoutData(100);
        southData.setMargins(new Margins(5));
        southData.setCollapsible(true);
        southData.setCollapseMini(true);
     
        con.setNorthWidget(north, northData);
        con.setWestWidget(west, westData);
        con.setCenterWidget(center, centerData);
        con.setEastWidget(east, eastData);
        con.setSouthWidget(south, southData);
     
        SimpleContainer simple = new SimpleContainer();
        simple.add(con, new MarginData(10));
     
        return simple;
      }
     
      public void onModuleLoad() {
        Widget con = asWidget();
        Viewport viewport = new Viewport();
        viewport.add(con);
        RootPanel.get().add(viewport);
      }
     
    }