/** * @class Ext.layout.container.Fit * @extends Ext.layout.container.AbstractFit *

This is a base class for layouts that contain a single item that automatically expands to fill the layout's * container. This class is intended to be extended or created via the layout:'fit' {@link Ext.Container#layout} * config, and should generally not need to be created directly via the new keyword.

*

FitLayout does not have any direct config options (other than inherited ones). To fit a panel to a container * using FitLayout, simply set layout:'fit' on the container and add a single panel to it. If the container has * multiple panels, only the first one will be displayed. Example usage:

*

var p = new Ext.Panel({
    title: 'Fit Layout',
    layout:'fit',
    items: {
        title: 'Inner Panel',
        html: '<p>This is the inner panel content</p>',
        border: false
    }
});
*/ Ext.define('Ext.layout.container.Fit', { /* Begin Definitions */ extend: 'Ext.layout.container.AbstractFit', alias: 'layout.fit', /* End Definitions */ // @private onLayout : function() { Ext.layout.container.Fit.superclass.onLayout.call(this); if (this.owner.items.length) { this.setItemBox(this.owner.items.get(0), this.getLayoutTargetSize()); } }, getTargetBox : function() { return this.getLayoutTargetSize(); }, setItemBox : function(item, box) { var owner = this.owner; if (item && box.height > 0) { box.ownerCt = owner; if (this.isManaged('width') === true) { box.width = undefined; } if (this.isManaged('height') === true) { box.height = undefined; } item.setCalculatedSize(box); } } });