for your main container, I suggest hbox and / or vbox layouts. these layouts are what you are looking for. here is a sample:
var testPanel = new Ext.Viewport( {
id : 'vp_test',
layout : 'hbox',
align : 'stretch',
items : [
{
id : 'pnl_child_1',
title : 'Test 1',
flex : 2
},
{
id : 'pnl_child_2',
title : 'Test 2',
flex : 3,
layout : 'vbox',
align : 'stretch',
items : [
{
id : 'pnl_child_3',
title : 'Test 3',
flex : 1
},
{
id : 'pnl_child_4',
title : 'Test 4',
flex : 1
}
]
},
]
} );
, viewport, hbox, vbox
itemRts = {
xtype: 'panel',
title: 'Route',
flex: 1,
layout: 'form',
bodyStyle: 'padding:10px 12px 10px',
id: 'ROUTE_PANEL',
el:'Route_Setup',
items: [
{
xtype:'button',
text:'Go',
anchor:'0',
id:'GO_BTN'
}
]
};
itemEvts = {
xtype: 'panel',
title: 'Events',
flex: 1,
layout: 'column',
tpl: 'Please put events here.',
border: false,
hideBorders: true,
id: 'EVENT_PANEL',
el : 'Event_Legend',
autoScroll: true
};
newView = new Ext.Viewport({
layout : "border",
items: [
{
xtype: 'panel',
margins: '10 0 10 10',
region: 'center',
layout: 'hbox',
align: 'stretch',
id: 'RTS_EVTS_REGION',
items: [
itemRts,
itemEvts
]
}
]
});