OSDN Git Service

Version 0.6.57, fixed NS of X.UI & X.Class for __proto__.
[pettanr/clientJs.git] / 0.6.x / js / ui / 08_Box.js
index d85c23f..d089886 100644 (file)
@@ -42,13 +42,13 @@ X.UI.Layout.Canvas = X.UI.Layout.create( {
                };\r
                \r
                data.postMesure();\r
-               data.updateLayout( x, y );\r
+               data.updateLayout( x + data.boxX, y + data.boxY );\r
        }\r
 });\r
 \r
 \r
-var _Box = _AbstractUINode.inherits(\r
-       '_Box',\r
+X.UI._Box = X.UI._AbstractUINode.inherits(\r
+       'X.UI._Box',\r
        X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS, // 現状 super 指定がないとconstructor未定擬時に親のconstructor が使われない\r
        {\r
                layout          : null,\r
@@ -59,13 +59,16 @@ var _Box = _AbstractUINode.inherits(
                pointerChildren : true,\r
                through         : false,\r
 \r
+               scrollingX      : 0,\r
+               scrollingY      : 0,\r
+\r
                Constructor : function( layout, args ){\r
                        var i = 0,\r
                                l = args.length,\r
                                j = -1,\r
                                uinodes, arg, _data, attrs, support;\r
                        \r
-                       if( !this.User.instanceOf( Box ) ){\r
+                       if( !this.User.instanceOf( X.UI.Box ) ){\r
                                //throw new Error( 'Box を継承したインスタンスだけが _Box のオーナーになれます' );\r
                        };                      \r
                        \r
@@ -77,7 +80,7 @@ var _Box = _AbstractUINode.inherits(
                        \r
                        for( ; i < l; ++i ){\r
                                arg = args[ i ];\r
-                               if( arg.instanceOf && arg.instanceOf( AbstractUINode ) ){\r
+                               if( arg.instanceOf && arg.instanceOf( X.UI.AbstractUINode ) ){\r
                                        _data = X.Class._getPrivate( arg );\r
                                        if( !uinodes ) this.uinodes = uinodes = [];\r
                                        uinodes[ ++j ] = _data;\r
@@ -109,7 +112,6 @@ var _Box = _AbstractUINode.inherits(
                                i       = uinodes && uinodes.length;\r
                        this.root       = root;\r
                        this.rootData   = rootData;\r
-                       this.hoverList  = rootData.hoverList;\r
                        this.parent     = parent;\r
                        this.parentData = parentData;\r
                        //this.xnode      = X.Dom.Node.create( 'div' );\r
@@ -151,8 +153,7 @@ var _Box = _AbstractUINode.inherits(
                                };                              \r
                        };\r
                        \r
-                       this.phase = 3;\r
-                       this.User.dispatch( { type : X.UI.Event.CREATION_COMPLETE } );\r
+                       X.UI._AbstractUINode.prototype.creationComplete.apply( this, arguments );\r
                },\r
                \r
                calculate : function( isNeedsDetection, x, y, w, h ){\r
@@ -164,25 +165,26 @@ var _Box = _AbstractUINode.inherits(
                        var uinodes, child, _x, _y, hit, i;\r
                        if( this.pointerDisabled ) return false;\r
                        delete this.hitChildData;\r
-                       x -= this.x;\r
-                       y -= this.y;\r
-                       if( this.pointerChildren && ( uinodes = this.uinodes ) ){\r
+                       x -= this.boxX;\r
+                       y -= this.boxY;\r
+                       if( this.pointerChildren && ( uinodes = this.uinodes ) && ( i = uinodes.length ) ){\r
                                _x = x - this.scrollingX;\r
                                _y = y - this.scrollingY;\r
-                               for( i = uinodes.length; i; ){\r
+                               for( ; i; ){\r
                                        child = uinodes[ --i ];\r
-                                       if( !child.pointerDisabled && child.l <= _x && _x < child.r && child.t <= _y && _y < child.b && child.capcher( _x, _y ) ){\r
+                                       if( !child.pointerDisabled && child.boxX <= _x && _x < child.boxX + child.boxWidth && child.boxY <= _y && _y < child.boxY + child.boxHeight && child.capcher( _x, _y ) ){\r
+                                               //console.log( 'hit child ' + _x + ' ' + _y + ' boxX:' + child.boxX + ' boxY:' + child.boxY );\r
                                                this.hitChildData = child;\r
                                                break;\r
                                        };\r
                                };\r
                        };\r
                        if( this.through ){\r
-                               this.hitChildData && !this.hovering && ( this.hoverList[ this.hoverList.length ] = this );\r
+                               this.hitChildData && !this.hovering && ( this.rootData.hoverList[ this.rootData.hoverList.length ] = this );\r
                                return !!this.hitChildData;\r
                        };\r
-                       hit = 0 <= x && x < this.w && 0 <= y && y < this.h;\r
-                       ( this.hitChildData || hit ) && !this.hovering && ( this.hoverList[ this.hoverList.length ] = this );\r
+                       hit = 0 <= x && x < this.boxWidth && 0 <= y && y < this.boxHeight;\r
+                       ( this.hitChildData || hit ) && !this.hovering && ( this.rootData.hoverList[ this.rootData.hoverList.length ] = this );\r
                        if( hit && this.hitChildData === null ) this.rootData.targetNodeData = this;\r
                        return hit || !!this.hitChildData;\r
                },\r
@@ -213,8 +215,7 @@ var _Box = _AbstractUINode.inherits(
                                        _p2 && data.addToParent( this.xnode );\r
                                        uinodes[ uinodes.length ] = data;       \r
                                };\r
-                               //p3 && data.phase < 3 && data.afterAddition();\r
-                               p3 && data.phase < 4 && data.creationComplete();\r
+                               p3 && data.phase < 3 && data.creationComplete();\r
                        };\r
                        4 <= this.phase && this.rootData.reserveCalc();\r
                },\r
@@ -273,10 +274,10 @@ var _Box = _AbstractUINode.inherits(
        }\r
 );\r
 \r
-var Box = AbstractUINode.inherits(\r
+X.UI.Box = X.UI.AbstractUINode.inherits(\r
        'Box',\r
        X.Class.SUPER_ACCESS,\r
-       _Box,\r
+       X.UI._Box,\r
        {\r
                Constructor : function(){\r
                        X.Class._newPrivate( this, X.UI.Layout.Canvas, arguments );\r
@@ -333,7 +334,7 @@ var Box = AbstractUINode.inherits(
  * layout が設定されている Box のサブクラスに対して、layout を指定できない.\r
  * \r
  */\r
-Box.presets = function(){\r
+X.UI.Box.presets = function(){\r
        var args   = arguments,\r
                i      = 0,\r
                l      = args.length,   \r
@@ -385,7 +386,7 @@ Box.presets = function(){
                );              \r
        };\r
 \r
-       klass.presets = this.presets || Box.presets;\r
+       klass.presets = this.presets || X.UI.Box.presets;\r
        \r
        return klass;\r
 };\r