* Performs a layout update.
*/
layout : function(){
- if(this.updating) return;
+ if(this.updating) {
+ return;
+ }
var size = this.getViewSize();
var w = size.width;
var h = size.height;
{
case 'ContentPanel': // ContentPanel (el, cfg)
case 'ScrollPanel': // ContentPanel (el, cfg)
+ case 'ViewPanel':
if(cfg.autoCreate) {
ret = new Roo[cfg.xtype](cfg); // new panel!!!!!
} else {
}
break;
-
+
+
+
- default:
- alert("Can not add '" + cfg.xtype + "' to BorderLayout");
- return null;
+ default:
+ if (typeof(Roo[cfg.xtype]) != 'undefined') {
+
+ ret = new Roo[cfg.xtype](cfg); // new panel!!!!!
+ this.add(region, ret);
+ } else {
+
+ alert("Can not add '" + cfg.xtype + "' to BorderLayout");
+ return null;
+ }
+
// GridPanel (grid, cfg)
}
this.beginUpdate();
// add children..
var region = '';
+ var abn = {};
Roo.each(xitems, function(i) {
- region = nb && i.region && !i.background ? i.region : false;
+ region = nb && i.region ? i.region : false;
var add = ret.addxtype(i);
if (region) {
- nb[region] = add;
+ nb[region] = nb[region] == undefined ? 0 : nb[region]+1;
+ if (!i.background) {
+ abn[region] = nb[region] ;
+ }
}
});
this.endUpdate();
+
// make the last non-background panel active..
- //if (nb) { Roo.log(nb); }
+ //if (nb) { Roo.log(abn); }
if (nb) {
- for(var r in nb) {
- this.getRegion(r).setActivePanel(nb[r]);
+
+ for(var r in abn) {
+ region = this.getRegion(r);
+ if (region) {
+ // tried using nb[r], but it does not work..
+
+ region.showPanel(abn[r]);
+
+ }
}
}
return ret;