Upgrade to ExtJS 4.0.2 - Released 06/09/2011
[extjs.git] / docs / source / VBox.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5   <title>The source code</title>
6   <link href="../prettify/prettify.css" type="text/css" rel="stylesheet" />
7   <script type="text/javascript" src="../prettify/prettify.js"></script>
8   <style type="text/css">
9     .highlight { display: block; background-color: #ddd; }
10   </style>
11   <script type="text/javascript">
12     function highlight() {
13       document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
14     }
15   </script>
16 </head>
17 <body onload="prettyPrint(); highlight();">
18   <pre class="prettyprint lang-js"><span id='Ext-layout-container-VBox'>/**
19 </span> * @class Ext.layout.container.VBox
20  * @extends Ext.layout.container.Box
21  * &lt;p&gt;A layout that arranges items vertically down a Container. This layout optionally divides available vertical
22  * space between child items containing a numeric &lt;code&gt;flex&lt;/code&gt; configuration.&lt;/p&gt;
23  * This layout may also be used to set the widths of child items by configuring it with the {@link #align} option.
24  * {@img Ext.layout.container.VBox/Ext.layout.container.VBox.png Ext.layout.container.VBox container layout}
25  * Example usage:
26         Ext.create('Ext.Panel', {
27                 width: 500,
28                 height: 400,
29                 title: &quot;VBoxLayout Panel&quot;,
30                 layout: {                        
31                         type: 'vbox',
32                         align: 'center'
33                 },
34                 renderTo: document.body,
35                 items: [{                        
36                         xtype: 'panel',
37                         title: 'Inner Panel One',
38                         width: 250,
39                         flex: 2                      
40                 },{
41                         xtype: 'panel',
42                         title: 'Inner Panel Two',
43                         width: 250,                     
44                         flex: 4
45                 },{
46                         xtype: 'panel',
47                         title: 'Inner Panel Three',
48                         width: '50%',                   
49                         flex: 4
50                 }]
51         });
52  */
53 Ext.define('Ext.layout.container.VBox', {
54
55     /* Begin Definitions */
56
57     alias: ['layout.vbox'],
58     extend: 'Ext.layout.container.Box',
59     alternateClassName: 'Ext.layout.VBoxLayout',
60     
61     /* End Definitions */
62
63 <span id='Ext-layout-container-VBox-cfg-align'>    /**
64 </span>     * @cfg {String} align
65      * Controls how the child items of the container are aligned. Acceptable configuration values for this
66      * property are:
67      * &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
68      * &lt;li&gt;&lt;b&gt;&lt;tt&gt;left&lt;/tt&gt;&lt;/b&gt; : &lt;b&gt;Default&lt;/b&gt;&lt;div class=&quot;sub-desc&quot;&gt;child items are aligned horizontally
69      * at the &lt;b&gt;left&lt;/b&gt; side of the container&lt;/div&gt;&lt;/li&gt;
70      * &lt;li&gt;&lt;b&gt;&lt;tt&gt;center&lt;/tt&gt;&lt;/b&gt; : &lt;div class=&quot;sub-desc&quot;&gt;child items are aligned horizontally at the
71      * &lt;b&gt;mid-width&lt;/b&gt; of the container&lt;/div&gt;&lt;/li&gt;
72      * &lt;li&gt;&lt;b&gt;&lt;tt&gt;stretch&lt;/tt&gt;&lt;/b&gt; : &lt;div class=&quot;sub-desc&quot;&gt;child items are stretched horizontally to fill
73      * the width of the container&lt;/div&gt;&lt;/li&gt;
74      * &lt;li&gt;&lt;b&gt;&lt;tt&gt;stretchmax&lt;/tt&gt;&lt;/b&gt; : &lt;div class=&quot;sub-desc&quot;&gt;child items are stretched horizontally to
75      * the size of the largest item.&lt;/div&gt;&lt;/li&gt;
76      * &lt;/ul&gt;&lt;/div&gt;
77      */
78     align : 'left', // left, center, stretch, strechmax
79
80     //@private
81     alignCenteringString: 'center',
82
83     type: 'vbox',
84
85     direction: 'vertical',
86
87     // When creating an argument list to setSize, use this order
88     parallelSizeIndex: 1,
89     perpendicularSizeIndex: 0,
90
91     parallelPrefix: 'height',
92     parallelPrefixCap: 'Height',
93     parallelLT: 't',
94     parallelRB: 'b',
95     parallelBefore: 'top',
96     parallelBeforeCap: 'Top',
97     parallelAfter: 'bottom',
98     parallelPosition: 'y',
99
100     perpendicularPrefix: 'width',
101     perpendicularPrefixCap: 'Width',
102     perpendicularLT: 'l',
103     perpendicularRB: 'r',
104     perpendicularLeftTop: 'left',
105     perpendicularRightBottom: 'right',
106     perpendicularPosition: 'x',
107     configureItem: function(item) {
108         if (item.flex) {
109             item.layoutManagedHeight = 1;
110         } else {
111             item.layoutManagedHeight = 2;
112         }
113
114         if (this.align === 'stretch' || this.align === 'stretchmax') {
115             item.layoutManagedWidth = 1;
116         } else {
117             item.layoutManagedWidth = 2;
118         }
119         this.callParent(arguments);
120     }
121 });</pre>
122 </body>
123 </html>