OSDN Git Service

Version 0.6.37, X.Dom.Anime removed.
[pettanr/clientJs.git] / 0.6.x / js / ui / 11_VBox.js
1 var VerticalLayoutManager = ( new LayoutManagerBase() ).define( {\r
2         name : 'VerticalLayout',\r
3         allowForSelf : {\r
4                 childX  : false,\r
5                 childY  : false,\r
6                 childW  : false,\r
7                 childH  : true,\r
8                 gapX    : false,\r
9                 gapY    : true,\r
10                 padding : true\r
11         },\r
12         allowForChild : {\r
13                 x  : false,\r
14                 y  : false,\r
15                 w  : true,\r
16                 h  : true\r
17         },\r
18         calculate : function( data, x, y, w, h ){\r
19                 var nodes     = data.nodes,\r
20                         styleData = data.styleData,\r
21                         cssObj    = styleData._cssObj,\r
22                         //childW    = cssObj.childW,\r
23                         childH    = cssObj.childH,\r
24                         gapX      = cssObj.gapX || 0,\r
25                         gapY      = cssObj.gapY || 0,\r
26                         padding   = cssObj.padding || 0,\r
27                         _x        = padding,\r
28                         _y        = padding,\r
29                         i = 0, l = nodes.length, node;\r
30 \r
31                 if( childH || childH === 0 ){\r
32                         for( ; i < l; ++i ){\r
33                                 node = nodes[ i ];\r
34                                 if( node.instanceOf( _Box ) ){\r
35                                         node.calculate( 0, _y, w - x, childH );\r
36                                 } else {\r
37                                         node.styleData.layout( 0, _y, w - x, childH );\r
38                                 };\r
39                                 _y += childH + gapY;\r
40                         };\r
41                 } else {\r
42                         for( ; i < l; ++i ){\r
43                                 node = nodes[ i ];\r
44                                 if( node.instanceOf( _Box ) ){\r
45                                         node.calculate( 0, _y, w - x );\r
46                                 } else {\r
47                                         node.styleData.layout( 0, _y, w - x );\r
48                                 };\r
49                                 //_y += node.rawElement.offsetHeight + gapY;\r
50                                 _y += node.rawElement.height() + gapY;\r
51                         };\r
52                 };\r
53                 data.styleData.layout( x, y, w, _y + gapY + padding );\r
54         }\r
55 });\r
56 \r
57 /*\r
58 var VBox = function(){\r
59         var arg = arguments;\r
60         arg[ arg.length ] = VerticalLayoutManager;\r
61         ++arg.length;\r
62         return Box.apply( null, arg );\r
63 }; */\r
64 \r
65 \r
66 var VBox = Box.inherits(\r
67         'VBox',\r
68         X.Class.SUPER_ACCESS,\r
69         {\r
70                 Constructor : function(){\r
71                         this.style = DisplayNodeStyle( this, X.Class._newPrivate( this,  VerticalLayoutManager, arguments ) );\r
72                         this.style.addName( 'VBox' );\r
73                 }\r
74         }\r
75 );