]> git.proxmox.com Git - sencha-touch.git/blob - src/src/layout/Fit.js
import Sencha Touch 2.4.2 source
[sencha-touch.git] / src / src / layout / Fit.js
1 /**
2 *
3 */
4 Ext.define('Ext.layout.Fit', {
5 extend: 'Ext.layout.Default',
6
7 isFit: true,
8
9 alias: 'layout.fit',
10
11 layoutClass: 'x-layout-fit',
12
13 itemClass: 'x-layout-fit-item',
14
15 setContainer: function(container) {
16 this.callSuper(arguments);
17
18 container.innerElement.addCls(this.layoutClass);
19 this.onContainerSizeFlagsChange();
20 this.monitorSizeFlagsChange();
21 },
22
23 onContainerSizeFlagsChange: function() {
24 var container = this.container,
25 sizeFlags = container.getSizeFlags(),
26 stretched = Boolean(sizeFlags & container.LAYOUT_STRETCHED),
27 innerItems = container.innerItems,
28 i, ln, item;
29
30 this.callSuper();
31
32 for (i = 0,ln = innerItems.length; i < ln; i++) {
33 item = innerItems[i];
34 item.setLayoutSizeFlags(sizeFlags);
35 }
36
37 container.innerElement.toggleCls('x-stretched', stretched);
38 },
39
40 onItemInnerStateChange: function(item, isInner) {
41 this.callSuper(arguments);
42 item.toggleCls(this.itemClass, isInner);
43 item.setLayoutSizeFlags(isInner ? this.container.getSizeFlags() : 0);
44 }
45 });