OSDN Git Service

Version 0.6.149, fix X.Audio & X.UI.
[pettanr/clientJs.git] / 0.6.x / js / 20_ui / 13_TileBox.js
index 3856e9c..06c2a6d 100644 (file)
@@ -1,15 +1,15 @@
-X.UI.Layout.Tile = X.UI.Layout.create( {       \r
+var XUI_Layout_Tile = X[ 'UI' ][ 'Layout' ][ 'Tile' ] = XUI_createLayout( {    \r
        name : 'TileLayout',\r
        \r
        overrideAttrsForSelf : {\r
                selectable  : false,\r
-               role        : [ 0,     X.UI.Dirty.CLEAN,  X.UI.Attr.USER.UINODE, X.UI.Attr.Type.INIT_ONLY | X.UI.Attr.Type.LIST, 'none,chrome,container' ],\r
-               childWidth  : [ '8em', X.UI.Dirty.LAYOUT, X.UI.Attr.USER.LAYOUT, X.UI.Attr.Type.LENGTH | X.UI.Attr.Type.PERCENT ],\r
-               childHeight : [ '8em', X.UI.Dirty.LAYOUT, X.UI.Attr.USER.LAYOUT, X.UI.Attr.Type.LENGTH | X.UI.Attr.Type.PERCENT ],\r
-               gapX        : [ 0,     X.UI.Dirty.LAYOUT, X.UI.Attr.USER.LAYOUT, X.UI.Attr.Type.LENGTH ],\r
-               gapY        : [ 0,     X.UI.Dirty.LAYOUT, X.UI.Attr.USER.LAYOUT, X.UI.Attr.Type.LENGTH ],\r
-               hCenter     : [ true,  X.UI.Dirty.LAYOUT, X.UI.Attr.USER.LAYOUT, X.UI.Attr.Type.BOOLEAN ],\r
-               vCenter     : [ true,  X.UI.Dirty.LAYOUT, X.UI.Attr.USER.LAYOUT, X.UI.Attr.Type.BOOLEAN ]\r
+               role        : [ 0,     XUI_Dirty.CLEAN,  XUI_Attr_USER.UINODE, XUI_Attr_Type.INIT_ONLY | XUI_Attr_Type.LIST, 'none,chrome,container' ],\r
+               childWidth  : [ '8em', XUI_Dirty.LAYOUT, XUI_Attr_USER.LAYOUT, XUI_Attr_Type.LENGTH | XUI_Attr_Type.PERCENT ],\r
+               childHeight : [ '8em', XUI_Dirty.LAYOUT, XUI_Attr_USER.LAYOUT, XUI_Attr_Type.LENGTH | XUI_Attr_Type.PERCENT ],\r
+               gapX        : [ 0,     XUI_Dirty.LAYOUT, XUI_Attr_USER.LAYOUT, XUI_Attr_Type.LENGTH ],\r
+               gapY        : [ 0,     XUI_Dirty.LAYOUT, XUI_Attr_USER.LAYOUT, XUI_Attr_Type.LENGTH ],\r
+               hCenter     : [ true,  XUI_Dirty.LAYOUT, XUI_Attr_USER.LAYOUT, XUI_Attr_Type.BOOLEAN ],\r
+               vCenter     : [ true,  XUI_Dirty.LAYOUT, XUI_Attr_USER.LAYOUT, XUI_Attr_Type.BOOLEAN ]\r
        },\r
        \r
        overrideAttrsForChild : {\r
@@ -29,7 +29,7 @@ X.UI.Layout.Tile = X.UI.Layout.create( {
 \r
                data.preMesure( w, h );\r
                \r
-               if( isNeedsDetection && ( data.boxWidth === X.UI.Attr.AUTO || data.boxHeight === X.UI.Attr.AUTO ) ) return;\r
+               if( isNeedsDetection && ( data.boxWidth === XUI_Attr_AUTO || data.boxHeight === XUI_Attr_AUTO ) ) return;\r
                \r
                if( ( uinodes  = data.uinodes ) && ( l = uinodes.length ) ){\r
                        _x      = data.contentL;\r
@@ -39,8 +39,8 @@ X.UI.Layout.Tile = X.UI.Layout.create( {
                        gapY    = XUI_AbstractUINode_calcValue( attrs[ data.supportAttrs.gapY.No ], contentH );\r
                        childW  = XUI_AbstractUINode_calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW );\r
                        childH  = XUI_AbstractUINode_calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH );\r
-                       numH    = X.UI.Attr.FLOOR( ( _w + gapX ) / ( childW + gapX ) );\r
-                       numV    = l % numH ? X.UI.Attr.FLOOR( l / numH ) + 1 : l / numH;\r
+                       numH    = XUI_Attr_FLOOR( ( _w + gapX ) / ( childW + gapX ) );\r
+                       numV    = l % numH ? XUI_Attr_FLOOR( l / numH ) + 1 : l / numH;\r
                        _h      = _y + data.contentB + ( childH + gapY ) * numH - gapY;\r
                        \r
                        startX  = attrs[ data.supportAttrs.hCenter.No ] ?\r
@@ -64,22 +64,55 @@ X.UI.Layout.Tile = X.UI.Layout.create( {
                        data.contentHeight = _h;\r
                        \r
                } else\r
-               if( data.contentHeight === X.UI.Attr.AUTO ){\r
-                       data.contentHeight = data.minContentHeight !== X.UI.Attr.AUTO ? data.minContentHeight : 0;\r
+               if( data.contentHeight === XUI_Attr_AUTO ){\r
+                       data.contentHeight = data.minContentHeight !== XUI_Attr_AUTO ? data.minContentHeight : 0;\r
                };\r
                \r
                data.postMesure();\r
-               data.updateLayout( x + data.boxX, y + data.boxY );\r
+\r
+               if( !isNeedsDetection ){\r
+                       data.boxX += x;\r
+                       data.boxY += y;                 \r
+               };\r
+               return true;\r
        }\r
 });\r
 \r
+/*\r
 X.UI.TileBox = X.UI.Box.presets(\r
        'TileBox',\r
-       X.UI.Layout.Tile,\r
+       XUI_Layout_Tile,\r
        {\r
                gapX    : '0.2em',\r
                gapY    : '0.2em',\r
                hCenter : true,\r
                vCenter : true\r
        }\r
-);\r
+);*/\r
+\r
+X.UI.TileBox = X.UI.Box.inherits(\r
+       'TileBox',\r
+       X_Class.NONE,\r
+       {\r
+               Constructor : function(){\r
+                       var supports;\r
+                       \r
+                       if( !XUI_TileBox ){\r
+                               supports = XUI_Attr_createAttrDef( XUI_Box.prototype.supportAttrs, XUI_Layout_Tile.overrideAttrsForSelf );\r
+                               \r
+                               XUI_TileBox = XUI_Box.inherits(\r
+                                                       {\r
+                                                               layout       : XUI_Layout_Tile,\r
+                                                               supportAttrs : supports,\r
+                                                               attrClass    : XUI_Attr_preset( XUI_Box.prototype.attrClass, supports, {\r
+                                                                               gapX    : '0.2em',\r
+                                                                               gapY    : '0.2em',\r
+                                                                               hCenter : true,\r
+                                                                               vCenter : true\r
+                                                                       })\r
+                                                       }\r
+                                               );      \r
+                       };\r
+                       X_Pair_create( this, XUI_TileBox( this, XUI_Layout_Tile, arguments ) );\r
+               }\r
+       });
\ No newline at end of file