www.gusucode.com > 一个基于extjs的强大聊天插件源码程序 > 一个基于extjs的强大聊天插件/extjame/ext-jame/js/ext2/source/widgets/layout/FitLayout.js
/* * Ext JS Library 2.0.2 * Copyright(c) 2006-2008, Ext JS, LLC. * licensing@extjs.com * * http://extjs.com/license */ /** * @class Ext.layout.FitLayout * @extends Ext.layout.ContainerLayout * <p>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.</p> * <p>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:</p> * <pre><code> 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 } }); </code></pre> */ Ext.layout.FitLayout = Ext.extend(Ext.layout.ContainerLayout, { // private monitorResize:true, // private onLayout : function(ct, target){ Ext.layout.FitLayout.superclass.onLayout.call(this, ct, target); if(!this.container.collapsed){ this.setItemSize(this.activeItem || ct.items.itemAt(0), target.getStyleSize()); } }, // private setItemSize : function(item, size){ if(item && size.height > 0){ // display none? item.setSize(size); } } }); Ext.Container.LAYOUTS['fit'] = Ext.layout.FitLayout;