+4  A: 

It looks like what you really want is a BorderLayout? Also, when you are using Ext layouts, do not use autoHeight -- that means "let the browser determine the height based on content" -- not what you want. Also, there is no need to override initComponent just to supply default configs. Try this instead (not tested):

EditorUi = Ext.extend(Ext.Viewport, {
    layout: 'border',
    items: [{
        xtype: 'panel',
        region: 'north',
        height: 100,                
        title: 'Heading',
    },{
        xtype: 'panel',
        title: 'Navigation',
        collapsible: true,
        region:'west',
        width:200,
        split:'true',
        margins:'3 0 3 3',
        cmargins:'3 3 3 3'
    },{
        xtype: 'panel',
        title: 'container',
        region:'center',
        margins:'3 0 3 3',
        cmargins:'3 3 3 3'
    }];
});

Ext.onReady(function(){
    new EditorUi();
});
bmoeskau
+1 for dissuading the use of autoHeight. You'll get the best most consistent results by letting extjs handle all of the layout sizing for the vast majority of use cases. The same generally goes for autoWidth.I'm assuming the OP meant a header with height 100, not width 100. Whatever it is they intended, you'll need a height set for your north region (e.g., height: 100).
Kevin
@Kevin, good call on the header height -- I edited my answer. Thanks.
bmoeskau