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 3ccf225..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
@@ -150,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
@@ -170,9 +172,9 @@ var _Box = _AbstractUINode.inherits(
                                _y = y - this.scrollingY;\r
                                for( ; i; ){\r
                                        child = uinodes[ --i ];\r
-                                       if( !child.pointerDisabled && child.boxX <= _x && _x < child.boxX + child.boxWidth && child.boxY <= _y && _y < child.boxY + child.boxHeight ){\r
-                                               !child.hovering && ( child.rootData.hoverList[ child.rootData.hoverList.length ] = child );\r
-                                               this.hitChildData = child.rootData.targetNodeData = child;\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
@@ -181,7 +183,7 @@ var _Box = _AbstractUINode.inherits(
                                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
+                       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
@@ -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