Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / src / layout / component / Editor.js
1 /**
2  * Component layout for editors
3  * @class Ext.layout.component.Editor
4  * @extends Ext.layout.component.Component
5  * @private
6  */
7 Ext.define('Ext.layout.component.Editor', {
8
9     /* Begin Definitions */
10
11     alias: ['layout.editor'],
12
13     extend: 'Ext.layout.component.Component',
14
15     /* End Definitions */
16
17     onLayout: function(width, height) {
18         var me = this,
19             owner = me.owner,
20             autoSize = owner.autoSize;
21             
22         if (autoSize === true) {
23             autoSize = {
24                 width: 'field',
25                 height: 'field'    
26             };
27         }
28         
29         if (autoSize) {
30             width = me.getDimension(owner, autoSize.width, 'Width', width);
31             height = me.getDimension(owner, autoSize.height, 'Height', height);
32         }
33         me.setTargetSize(width, height);
34         owner.field.setSize(width, height);
35     },
36     
37     getDimension: function(owner, type, dimension, actual){
38         var method = 'get' + dimension;
39         switch (type) {
40             case 'boundEl':
41                 return owner.boundEl[method]();
42             case 'field':
43                 return owner.field[method]();
44             default:
45                 return actual;
46         }
47     }
48 });