Upgrade to ExtJS 4.0.2 - Released 06/09/2011
[extjs.git] / docs / source / HBox.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-HBox'>/**
19 </span> * @class Ext.layout.container.HBox
20  * @extends Ext.layout.container.Box
21  * &lt;p&gt;A layout that arranges items horizontally across a Container. This layout optionally divides available horizontal
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 heights of child items by configuring it with the {@link #align} option.
24  * {@img Ext.layout.container.HBox/Ext.layout.container.HBox.png Ext.layout.container.HBox container layout}
25  * Example usage:
26     Ext.create('Ext.Panel', {
27         width: 500,
28         height: 300,
29         title: &quot;HBoxLayout Panel&quot;,
30         layout: {
31             type: 'hbox',
32             align: 'stretch'
33         },
34         renderTo: document.body,
35         items: [{
36             xtype: 'panel',
37             title: 'Inner Panel One',
38             flex: 2
39         },{
40             xtype: 'panel',
41             title: 'Inner Panel Two',
42             flex: 1
43         },{
44             xtype: 'panel',
45             title: 'Inner Panel Three',
46             flex: 1
47         }]
48     });
49  */
50 Ext.define('Ext.layout.container.HBox', {
51
52     /* Begin Definitions */
53
54     alias: ['layout.hbox'],
55     extend: 'Ext.layout.container.Box',
56     alternateClassName: 'Ext.layout.HBoxLayout',
57     
58     /* End Definitions */
59
60 <span id='Ext-layout-container-HBox-cfg-align'>    /**
61 </span>     * @cfg {String} align
62      * Controls how the child items of the container are aligned. Acceptable configuration values for this
63      * property are:
64      * &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
65      * &lt;li&gt;&lt;b&gt;&lt;tt&gt;top&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 vertically
66      * at the &lt;b&gt;top&lt;/b&gt; of the container&lt;/div&gt;&lt;/li&gt;
67      * &lt;li&gt;&lt;b&gt;&lt;tt&gt;middle&lt;/tt&gt;&lt;/b&gt; : &lt;div class=&quot;sub-desc&quot;&gt;child items are aligned vertically in the
68      * &lt;b&gt;middle&lt;/b&gt; of the container&lt;/div&gt;&lt;/li&gt;
69      * &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 vertically to fill
70      * the height of the container&lt;/div&gt;&lt;/li&gt;
71      * &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 vertically to
72      * the height of the largest item.&lt;/div&gt;&lt;/li&gt;
73      * &lt;/ul&gt;&lt;/div&gt;
74      */
75     align: 'top', // top, middle, stretch, strechmax
76
77     //@private
78     alignCenteringString: 'middle',
79
80     type : 'hbox',
81
82     direction: 'horizontal',
83
84     // When creating an argument list to setSize, use this order
85     parallelSizeIndex: 0,
86     perpendicularSizeIndex: 1,
87
88     parallelPrefix: 'width',
89     parallelPrefixCap: 'Width',
90     parallelLT: 'l',
91     parallelRB: 'r',
92     parallelBefore: 'left',
93     parallelBeforeCap: 'Left',
94     parallelAfter: 'right',
95     parallelPosition: 'x',
96
97     perpendicularPrefix: 'height',
98     perpendicularPrefixCap: 'Height',
99     perpendicularLT: 't',
100     perpendicularRB: 'b',
101     perpendicularLeftTop: 'top',
102     perpendicularRightBottom: 'bottom',
103     perpendicularPosition: 'y',
104     configureItem: function(item) {
105         if (item.flex) {
106             item.layoutManagedWidth = 1;
107         } else {
108             item.layoutManagedWidth = 2;
109         }
110
111         if (this.align === 'stretch' || this.align === 'stretchmax') {
112             item.layoutManagedHeight = 1;
113         } else {
114             item.layoutManagedHeight = 2;
115         }
116         this.callParent(arguments);
117     }
118 });</pre>
119 </body>
120 </html>