OSDN Git Service

Version 0.6.55, working uinode.listen(...)!
[pettanr/clientJs.git] / 0.6.x / js / ui / 06_AbstractUINode.js
index 20acbe1..73d9c4b 100644 (file)
@@ -62,9 +62,6 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                // :hover, :focus, :disabled\r
                \r
                initialize : function( root, rootData, parent, parentData ){\r
-                       var events = this.reserveEvents,\r
-                               l, i;                   \r
-                       \r
                        this.root       = root;\r
                        this.rootData   = rootData;\r
                        this.parent     = parent;\r
@@ -73,15 +70,6 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                        this.phase      = 1;\r
                        \r
                        this.dispatch( { type : X.UI.Event.INIT } );\r
-                       \r
-                       // html 要素が親に追加されるまで控えていたイベントの登録\r
-                       if( events && ( l = events.length ) ){\r
-                               for( i = 0; i < l; ++i ){\r
-                                       this.listen.apply( this, events[ i ] );\r
-                               };\r
-                               events.length = 0;\r
-                               delete this.reserveEvents;\r
-                       };                      \r
                },\r
                \r
                addToParent : function( parentElement ){\r
@@ -92,8 +80,20 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                },\r
                \r
                creationComplete : function(){\r
+                       var events = this.reserveEvents,\r
+                               l, i;\r
+                       \r
                        this.phase = 3;\r
                        this.User.dispatch( { type : X.UI.Event.CREATION_COMPLETE } );\r
+                       \r
+                       // html 要素が親に追加されるまで控えていたイベントの登録\r
+                       if( events && ( l = events.length ) ){\r
+                               for( i = 0; i < l; ++i ){\r
+                                       this.listen.apply( this, events[ i ] );\r
+                               };\r
+                               events.length = 0;\r
+                               delete this.reserveEvents;\r
+                       };                      \r
                },\r
                \r
                /*\r
@@ -415,8 +415,8 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                 * X.Dom.BoxModel の情報を引きながら top,left,width,height,padding,border の設定\r
                 */\r
                updateLayout : function( x, y ){\r
-                       x += this.boxX;\r
-                       y += this.boxY;\r
+                       this.boxX = x;\r
+                       this.boxY = y;\r
                        this.xnode\r
                                .css( 'left',        x ? x + 'em' : 0 )\r
                                .css( 'top',         y ? y + 'em' : 0 )\r
@@ -745,6 +745,7 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                        y -= this.boxY;\r
 \r
                        if( 0 <= x && x < this.boxWidth && 0 <= y && y < this.boxHeight ){\r
+                               \r
                                !this.hovering && ( this.rootData.hoverList[ this.rootData.hoverList.length ] = this );\r
                                this.rootData.targetNodeData = this;\r
                                return true;\r
@@ -767,6 +768,7 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                                                this.gesture.listen( type );\r
                                        };\r
                                } else {\r
+                                       console.log( type )\r
                                        root    = this.rootData;\r
                                        counter = root.eventCounter;\r
                                        if( counter[ type ] ){\r