OSDN Git Service

Version 0.6.57, fixed NS of X.UI & X.Class for __proto__.
authoritozyun <itozyun@user.sourceforge.jp>
Tue, 15 Jul 2014 16:04:23 +0000 (01:04 +0900)
committeritozyun <itozyun@user.sourceforge.jp>
Tue, 15 Jul 2014 16:04:23 +0000 (01:04 +0900)
22 files changed:
0.6.x/js/core/04_XClass.js
0.6.x/js/dom/10_XDom.js
0.6.x/js/dom/11_XDomNode.js
0.6.x/js/dom/12_XDomEvent.js
0.6.x/js/dom/13_XDomBoxModel.js
0.6.x/js/dom/15_XDomStyle.js
0.6.x/js/dom/18_XDomQuery.js
0.6.x/js/dom/20_XDomImage.js
0.6.x/js/dom/22_XDomBuilder.js
0.6.x/js/main.js
0.6.x/js/ui/02_XUI_Attr.js
0.6.x/js/ui/04_XUI_Event.js
0.6.x/js/ui/05_XUI_Gesture.js
0.6.x/js/ui/06_AbstractUINode.js
0.6.x/js/ui/08_Box.js
0.6.x/js/ui/11_VBox.js
0.6.x/js/ui/12_HBox.js
0.6.x/js/ui/13_TileBox.js
0.6.x/js/ui/14_ChromeBox.js
0.6.x/js/ui/15_ScrollBox.js
0.6.x/js/ui/17_Text.js
0.6.x/js/ui/20_PageRoot.js

index 5d219b3..040b39d 100644 (file)
@@ -17,7 +17,7 @@ X.Class = ( function(){
                CONSTRUCTOR        = 'Constructor',\r
                killPrivateFlag    = false,\r
                traits             = null,\r
-               _slice             = Array.prototype.slice;\r
+               use__proto__       = !!X.emptyFunction.prototype.__proto__;\r
        \r
        /* サブクラスを作るメソッド  \r
         * var subClass = superClass.inherits( ... ) \r
@@ -63,9 +63,13 @@ X.Class = ( function(){
                params.push( args[ 0 ] ); /* props サブクラスでは未定義でも可 */\r
                \r
                // 継承クラスの作成\r
-               Super.__new = null;\r
-               traits = new Super();\r
-               Super.__new = C;\r
+               if( use__proto__ ){\r
+                       traits = Super.prototype;\r
+               } else {\r
+                       Super.__new = null;\r
+                       traits = new Super();\r
+                       Super.__new = C;                        \r
+               };\r
                klass  = X.Class.create.apply( X.Class, params );\r
                traits = null;\r
                \r
@@ -243,9 +247,16 @@ X.Class = ( function(){
                        klass.superClassOf = X.Class._superClassOf;\r
                        klass.subClassOf   = X.Class._subClassOf;\r
                        \r
-                       if( X.UA.Safari && X.UA.Safari < 3 ){ // TODO Gecko もこちらへ\r
-                               X.Class._override( X.Class._override( traits || klass.prototype, props, true ), CommonProps, false );\r
-                               if( traits ) klass.prototype.__proto__ = traits;\r
+                       if( use__proto__ ){\r
+                               X.Class._override( klass.prototype, props, true );\r
+                               if( traits ){\r
+                                       klass.prototype.__proto__ = traits;\r
+                               } else {\r
+                                       X.Class._override( klass.prototype, CommonProps, false );\r
+                               };\r
+                       //if( X.UA.Safari && X.UA.Safari < 3 ){ // TODO Gecko もこちらへ\r
+                       //      X.Class._override( X.Class._override( traits || klass.prototype, props, true ), CommonProps, false );\r
+                       //      if( traits ) klass.prototype.__proto__ = traits;\r
                        } else {\r
                                klass.prototype = X.Class._override( X.Class._override( traits || klass.prototype, props, true ), CommonProps, false );\r
                                klass.prototype.constructor = klass;\r
index 4b88126..a16dd3d 100644 (file)
@@ -78,7 +78,7 @@ X.Dom = X.Class._override(
                                        new Node( document.all.tags( 'html' )[ 0 ] ) :\r
                                        null;\r
                \r
-                       r = Node.root = new Node( document.body );\r
+                       r = Node._body = new Node( document.body );\r
                        h.appendTo = h.appendToRoot = h.before = h.after = h.clone = h.remove = h.destroy = h.prevNode = h.nextNode = h.createText = h.append = h.appendAt = h.empty = h.html = h.text =\r
                        r.appendTo = r.appendToRoot = r.before = r.after = r.clone = r.remove = r.destroy = r.prevNode = r.nextNode = new Function( 'return this' );\r
                        \r
@@ -94,7 +94,7 @@ X.Dom = X.Class._override(
                        X.Dom.listenOnce( X.Dom.Event.DOM_BUILDER_COMPLETE, function(){\r
                                X.Dom.readyState = X.Dom.Event.DOM_INIT;\r
                                //X.UA.Opera7 && alert( 'bc' );\r
-                               Node.root.appendAt( 0,\r
+                               Node._body.appendAt( 0,\r
                                        Node._systemNode = Node.create( 'div', { 'class' : 'hidden-system-node' } ),\r
                                        Node._fontSizeNode = Node.create( 'div', { 'class' : 'hidden-system-node' } ).cssText( 'line-height:1;height:1em;' ).text( 'X' )\r
                                )._startUpdate();\r
@@ -219,7 +219,7 @@ X.Dom = X.Class._override(
                //http://onozaty.hatenablog.com/entry/20060803/p1\r
                // Safari2.0.4では標準・互換どちらも document.body\r
                        \r
-                       Node.root._updateTimerID && Node.root._startUpdate();\r
+                       Node._body._updateTimerID && Node._body._startUpdate();\r
                        /*X.UA.Opera ?\r
                                ( document.documentElement && document.documentElement.clientWidth ?\r
                                        new Function( 'return[document.documentElement.clientWidth,document.documentElement.clientHeight]' ) :\r
@@ -234,16 +234,16 @@ X.Dom = X.Class._override(
                getScrollPosition :\r
                        window.pageXOffset !== undefined ?\r
                                ( function(){\r
-                                       Node.root._updateTimerID && Node.root._startUpdate();\r
+                                       Node._body._updateTimerID && Node._body._startUpdate();\r
                                        return[ window.pageXOffset, window.pageYOffset ];\r
                                } ) :\r
                        window.scrollLeft  !== undefined ?\r
                                ( function(){\r
-                                       Node.root._updateTimerID && Node.root._startUpdate();\r
+                                       Node._body._updateTimerID && Node._body._startUpdate();\r
                                        return[ window.scrollLeft, window.scrollTop ];\r
                                } ) :\r
                                ( function(){\r
-                                       Node.root._updateTimerID && Node.root._startUpdate();\r
+                                       Node._body._updateTimerID && Node._body._startUpdate();\r
                                        // body は Safari2-\r
                                        return[ X.Dom._root.scrollLeft || document.body.scrollLeft, X.Dom._root.scrollTop || document.body.scrollTop ];\r
                                } ),\r
@@ -297,6 +297,9 @@ if( document.layers ){
        \r
 };\r
 \r
+X.Dom.EVENT_POINTER = navigator.msPointerEnabled || navigator.pointerEnabled;\r
+X.Dom.EVENT_TOUCH   = !X.Dom.EVENT_POINTER && window.ontouchstart !== undefined;\r
+\r
 X.Dom.moveToHead = {\r
        STYLE   : true,\r
        LINK    : true,\r
index bc8881c..bc48a70 100644 (file)
@@ -239,7 +239,7 @@ Node.createText = function( text ){
 \r
 Node.getRoot = function( xnode ){\r
        return Node._document;\r
-       //return xnode.root._rawNode.documentElement ? node : node.ownerDocument || node.document;\r
+       //return xNode._body._rawNode.documentElement ? node : node.ownerDocument || node.document;\r
 };\r
        // XMLかどうかを判別する\r
 Node.isXmlDocument =\r
@@ -255,7 +255,7 @@ Node.none        = Node._chashe[ 0 ] = new Node();
 Node._window     = new Node( window ); // Node._chashe[ 1 ]\r
 Node._document   = new Node( document ); // Node._chashe[ 2 ]\r
 Node._html       = null; // Node._chashe[ 3 ]\r
-Node.root        = null;// = Node._chashe[ 4 ] body\r
+Node._body       = null;// = Node._chashe[ 4 ] body\r
 Node._systemNode = null;// = Node._chashe[ ? ]\r
 \r
 Node._reserveRemoval = [];\r
@@ -469,7 +469,7 @@ Node.prototype.appendTo = function( parent, opt_index ){
 };\r
 \r
 Node.prototype.appendToRoot = function( opt_index ){\r
-       opt_index === undefined ? Node.root.append( this ) : Node.root.appendAt( opt_index, this );\r
+       opt_index === undefined ? Node._body.append( this ) : Node._body.appendAt( opt_index, this );\r
        return this;\r
 };\r
 \r
@@ -821,7 +821,7 @@ Node.prototype.each = function( func ){
  */\r
        \r
 Node.prototype._reserveUpdate = function(){\r
-       var root = Node.root;\r
+       var root = Node._body;\r
        if( root && !root._updateTimerID ) root._updateTimerID = X.Timer.requestFrame( root, root._startUpdate );\r
 };\r
 \r
index 145054e..a3679a2 100644 (file)
@@ -177,19 +177,72 @@ X.Dom.Event.RenameTo = {};
 // https://github.com/georgeadamson/jQuery.prefixfree-events/blob/master/jQuery.prefixfree-events.js\r
 \r
 if( window.onwebkitanimationend !== undefined && window.onanimationend === undefined ){\r
-       X.Dom.Event.Rename[ 'animationend' ]               = 'webkitAnimationEnd';\r
+         X.Dom.Event.Rename[ 'animationend' ]             = 'webkitAnimationEnd';\r
        X.Dom.Event.RenameTo[ 'webkitAnimationEnd' ]       = 'animationend';\r
-       X.Dom.Event.Rename[ 'animationstart' ]             = 'webkitAnimationStart';\r
+         X.Dom.Event.Rename[ 'animationstart' ]           = 'webkitAnimationStart';\r
        X.Dom.Event.RenameTo[ 'webkitAnimationStart' ]     = 'animationstart';\r
-       X.Dom.Event.Rename[ 'animationiteration' ]         = 'webkitAnimationIteration';\r
+         X.Dom.Event.Rename[ 'animationiteration' ]       = 'webkitAnimationIteration';\r
        X.Dom.Event.RenameTo[ 'webkitAnimationIteration' ] = 'animationiteration';\r
+} else\r
+if( window.onoanimationend !== undefined && window.onanimationend === undefined ){\r
+         X.Dom.Event.Rename[ 'animationend' ]        = 'oAnimationEnd';\r
+       X.Dom.Event.RenameTo[ 'oAnimationEnd' ]       = 'animationend';\r
+         X.Dom.Event.Rename[ 'animationstart' ]      = 'oAnimationStart';\r
+       X.Dom.Event.RenameTo[ 'oAnimationStart' ]     = 'animationstart';\r
+         X.Dom.Event.Rename[ 'animationiteration' ]  = 'oAnimationIteration';\r
+       X.Dom.Event.RenameTo[ 'oAnimationIteration' ] = 'animationiteration';\r
+} else\r
+/*\r
+if( window.onmozanimationend !== undefined && window.onanimationend === undefined ){\r
+         X.Dom.Event.Rename[ 'animationend' ]          = 'mozAnimationEnd';\r
+       X.Dom.Event.RenameTo[ 'mozAnimationEnd' ]       = 'animationend';\r
+         X.Dom.Event.Rename[ 'animationstart' ]        = 'mozAnimationStart';\r
+       X.Dom.Event.RenameTo[ 'mozAnimationStart' ]     = 'animationstart';\r
+         X.Dom.Event.Rename[ 'animationiteration' ]    = 'mozAnimationIteration';\r
+       X.Dom.Event.RenameTo[ 'mozAnimationIteration' ] = 'animationiteration';\r
+} else*/\r
+if( document.documentElement && document.documentElement.style.msAnimation !== undefined && document.documentElement.style.animation === undefined ){ //document.documentElement.style.msAnimation \r
+         X.Dom.Event.Rename[ 'animationend' ]         = 'MSAnimationEnd';\r
+       X.Dom.Event.RenameTo[ 'MSAnimationEnd' ]       = 'animationend';\r
+         X.Dom.Event.Rename[ 'animationstart' ]       = 'MSAnimationStart';\r
+       X.Dom.Event.RenameTo[ 'MSAnimationStart' ]     = 'animationstart';\r
+         X.Dom.Event.Rename[ 'animationiteration' ]   = 'MSAnimationIteration';\r
+       X.Dom.Event.RenameTo[ 'MSAnimationIteration' ] = 'animationiteration';\r
 };\r
-\r
+// https://developer.mozilla.org/en-US/docs/Web/Events/transitionend\r
+// chrome1+, firefox4+, IE10+, Opera10.5+, Safari3.2+, Android2.1+\r
 if( window.onwebkittransitionend !== undefined && window.ontransitionend === undefined ){\r
-       X.Dom.Event.Rename[ 'transitionend' ]         = 'webkitTransitionEnd';\r
+         X.Dom.Event.Rename[ 'transitionend' ]       = 'webkitTransitionEnd';\r
        X.Dom.Event.RenameTo[ 'webkitTransitionEnd' ] = 'transitionend';\r
+} else\r
+if( window.onotransitionend !== undefined && window.ontransitionend === undefined ){\r
+       if( X.UA.Opera < 12 ){\r
+                 X.Dom.Event.Rename[ 'transitionend' ]  = 'oTransitionEnd';\r
+               X.Dom.Event.RenameTo[ 'oTransitionEnd' ] = 'transitionend';\r
+       } else {\r
+                 X.Dom.Event.Rename[ 'transitionend' ]  = 'otransitionEnd';\r
+               X.Dom.Event.RenameTo[ 'otransitionEnd' ] = 'transitionend';\r
+       };\r
+} else\r
+if( window.onmoztransitionend !== undefined && window.ontransitionend === undefined ){\r
+         X.Dom.Event.Rename[ 'transitionend' ]    = 'mozTransitionEnd';\r
+       X.Dom.Event.RenameTo[ 'mozTransitionEnd' ] = 'transitionend';\r
 };\r
 \r
+\r
+if( navigator.msPointerEnabled && !navigator.pointerEnabled ){\r
+         X.Dom.Event.Rename[ 'pointerdown'     ] = 'MSPointerDown';\r
+       X.Dom.Event.RenameTo[ 'MSPointerDown'   ] = 'pointerdown';\r
+         X.Dom.Event.Rename[ 'pointerup'       ] = 'MSPointerUp';\r
+       X.Dom.Event.RenameTo[ 'MSPointerUp'     ] = 'pointerup';\r
+         X.Dom.Event.Rename[ 'pointermove'     ] = 'MSPointerMove';\r
+       X.Dom.Event.RenameTo[ 'MSPointerMove'   ] = 'pointermove';\r
+         X.Dom.Event.Rename[ 'pointercancel'   ] = 'MSPointerCancel';\r
+       X.Dom.Event.RenameTo[ 'MSPointerCancel' ] = 'pointercancel';\r
+};\r
+\r
+\r
+\r
 X.Dom.Node.prototype.listen = function( type, arg1, arg2, arg3 /* [ listener || ( context + function ) || function ][ arguments ] */ ){\r
        var elm;\r
        \r
index da7df74..855a9b5 100644 (file)
@@ -82,7 +82,7 @@ Node.prototype.width = function(){
                console.log( 'xnode.width() : no parent' );\r
                return 0;\r
        };\r
-       Node.root._updateTimerID && Node.root._startUpdate();\r
+       Node._body._updateTimerID && Node._body._startUpdate();\r
        if( !this._root ){\r
                console.log( 'xnode.width() : not belong tree.' );\r
                return 0;\r
@@ -104,7 +104,7 @@ Node.prototype.height = function(){
                console.log( 'xnode.height() : no parent' );\r
                return 0;\r
        };\r
-       Node.root._updateTimerID && Node.root._startUpdate();\r
+       Node._body._updateTimerID && Node._body._startUpdate();\r
        if( !this._root ){\r
                console.log( 'xnode.height() : not belong tree.' );\r
                return 0;\r
@@ -126,7 +126,7 @@ Node.prototype.scrollWidth = function(){
                console.log( 'xnode.width() : no parent' );\r
                return 0;\r
        };\r
-       Node.root._updateTimerID && Node.root._startUpdate();\r
+       Node._body._updateTimerID && Node._body._startUpdate();\r
        if( !this._root ){\r
                console.log( 'xnode.width() : not belong tree.' );\r
                return 0;\r
@@ -148,7 +148,7 @@ Node.prototype.scrollHeight = function(){
                console.log( 'xnode.height() : no parent' );\r
                return 0;\r
        };\r
-       Node.root._updateTimerID && Node.root._startUpdate();\r
+       Node._body._updateTimerID && Node._body._startUpdate();\r
        if( !this._root ){\r
                console.log( 'xnode.height() : not belong tree.' );\r
                return 0;\r
@@ -170,7 +170,7 @@ Node.prototype.scrollLeft = function(){
                console.log( 'xnode.scrollLeft() : no parent' );\r
                return 0;\r
        };\r
-       Node.root._updateTimerID && Node.root._startUpdate();\r
+       Node._body._updateTimerID && Node._body._startUpdate();\r
        if( !this._root ){\r
                console.log( 'xnode.scrollLeft() : not belong tree.' );\r
                return 0;\r
@@ -192,7 +192,7 @@ Node.prototype.scrollTop = function(){
                console.log( 'xnode.scrollTop() : no parent' );\r
                return 0;\r
        };\r
-       Node.root._updateTimerID && Node.root._startUpdate();\r
+       Node._body._updateTimerID && Node._body._startUpdate();\r
        if( !this._root ){\r
                console.log( 'xnode.scrollTop() : not belong tree.' );\r
                return 0;\r
@@ -222,7 +222,7 @@ Node.prototype.x = function(){
                console.log( 'xnode.x() : no parent' );\r
                return 0;\r
        };\r
-       Node.root._updateTimerID && Node.root._startUpdate();\r
+       Node._body._updateTimerID && Node._body._startUpdate();\r
        if( !this._root ){\r
                console.log( 'xnode.x() : not belong tree.' );\r
                return 0;\r
@@ -245,7 +245,7 @@ Node.prototype.y = function(){
                console.log( 'xnode.y() : no parent' );\r
                return 0;\r
        };\r
-       Node.root._updateTimerID && Node.root._startUpdate();\r
+       Node._body._updateTimerID && Node._body._startUpdate();\r
        if( !this._root ){\r
                console.log( 'xnode.y() : not belong tree.' );\r
                return 0;\r
index 2dbaa55..226c898 100644 (file)
@@ -1075,23 +1075,23 @@ X.Dom.Node.prototype.cssText = function( v ){
 X.Dom.Node.prototype._getCharSize =
        window.getComputedStyle ?
                (function(){
-                       Node.root._updateTimerID && Node.root._startUpdate();
-                       if( this === Node.root && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
+                       Node._body._updateTimerID && Node._body._startUpdate();
+                       if( this === Node._body && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
                        if( this._fontSize ) return this._fontSize;
                        return this._fontSize = parseFloat( getComputedStyle( this._rawNode, null ).fontSize );
                }) :
        document.defaultView && document.defaultView.getComputedStyle ?
                (function(){
-                       Node.root._updateTimerID && Node.root._startUpdate();
-                       if( this === Node.root && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
+                       Node._body._updateTimerID && Node._body._startUpdate();
+                       if( this === Node._body && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
                        if( this._fontSize ) return this._fontSize;
                        return this._fontSize = parseFloat( document.defaultView.getComputedStyle( this._rawNode, null ).fontSize );
                }) :
        X.UA.IE && 5.5 <= X.UA.IE ?
                (function(){
                        var font, vu, v, u, _v;
-                       Node.root._updateTimerID && Node.root._startUpdate();
-                       if( this === Node.root && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
+                       Node._body._updateTimerID && Node._body._startUpdate();
+                       if( this === Node._body && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
                        if( this._fontSize ) return this._fontSize;
                        
                        font = this._rawNode.currentStyle.fontSize;
@@ -1121,8 +1121,8 @@ X.Dom.Node.prototype._getCharSize =
        X.Dom.DOM_W3C ?
                (function(){
                        var elm, v;
-                       Node.root._updateTimerID && Node.root._startUpdate();
-                       if( this === Node.root && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
+                       Node._body._updateTimerID && Node._body._startUpdate();
+                       if( this === Node._body && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
                        if( this._fontSize ) return this._fontSize;
 
                        this._rawNode.appendChild( elm = document.createElement( 'span' ) );
@@ -1135,8 +1135,8 @@ X.Dom.Node.prototype._getCharSize =
        X.Dom.DOM_IE4 ?
                (function(){
                        var font, vu, v, u, _v;
-                       Node.root._updateTimerID && Node.root._startUpdate();
-                       if( this === Node.root && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
+                       Node._body._updateTimerID && Node._body._startUpdate();
+                       if( this === Node._body && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
                        if( this._fontSize ) return this._fontSize;
                        
                        if( this._css && ( font = this._css.fontSize ) ){
@@ -1169,8 +1169,8 @@ X.Dom.Node.prototype._getCharSize =
                }) :
                (function(){
                        var elm, v;
-                       if( this === Node.root && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
-                       Node.root._updateTimerID && Node.root._startUpdate();
+                       if( this === Node._body && X.Dom.baseFontSize ) return X.Dom.baseFontSize;
+                       Node._body._updateTimerID && Node._body._startUpdate();
                        if( this._fontSize ) return this._fontSize;
                        
                        elm = this._rawNode || this._ie4getRawNode();
index 7dc8d9c..e1740fd 100644 (file)
@@ -207,7 +207,7 @@ X.Dom.Query._parse = function( query, last ){
        // セレクター\r
        X.Dom.find = X._shortcut = Node.prototype.find = X.Dom.NodeList.prototype.find = function( queryString ){\r
                var HTML      = Node._html,\r
-                       scope     = this.constructor === X.Dom.NodeList && this.length ? this : [ this.constructor === Node ? this : Node.root ],\r
+                       scope     = this.constructor === X.Dom.NodeList && this.length ? this : [ this.constructor === Node ? this : Node._body ],\r
                        parents   = scope, // 探索元の親要素 XNodeList の場合あり\r
                        noLower   = 'title id name class for action archive background cite classid codebase data href longdesc profile src usemap',// + X.Dom.DTD.ATTR_VAL_IS_URI.join( ' ' ),\r
                        ARY_PUSH  = Array.prototype.push,\r
index f2209e7..23c890f 100644 (file)
@@ -22,7 +22,7 @@ X.Dom.Image = {
                                        position   : 'absolute'\r
                                }\r
                        );\r
-                       Node.root._startUpdate();\r
+                       Node._body._startUpdate();\r
                        img    = xnode._ie4getRawNode ? xnode._ie4getRawNode() : xnode._rawNode;\r
                        remove = true;\r
                } else {\r
index 9e1d15f..548d735 100644 (file)
@@ -108,7 +108,7 @@ if( X.UA.Opera7 ){
 X.Dom.listenOnce( X.Dom.Event.DOM_PRE_INIT,\r
        X.Dom.DOM_W3C ?\r
 (function(){\r
-       var r    = Node.root,\r
+       var r    = Node._body,\r
                body = r._rawNode,\r
                copy, i, l, node, html,\r
                elmProgress;\r
@@ -195,17 +195,17 @@ X.Dom.listenOnce( X.Dom.Event.DOM_PRE_INIT,
                        }\r
                )\r
                .listenOnce( X.Event.SUCCESS, function( e ){\r
-                       var xnodes = Node.root._xnodes = [], t;\r
+                       var xnodes = Node._body._xnodes = [], t;\r
                        xnodes.push.apply( xnodes, e.xnodes );\r
                        elmProgress.style.width = '100%';\r
 \r
-                       X.Dom._asyncCreateTree( Node.root, body.childNodes, elmProgress );\r
+                       X.Dom._asyncCreateTree( Node._body, body.childNodes, elmProgress );\r
                } );\r
 \r
 }) :\r
 X.Dom.DOM_IE4 ?\r
 (function(){\r
-       var r    = Node.root,\r
+       var r    = Node._body,\r
                body = r._rawNode,\r
                elmProgress = '_xdom_builder_progress',\r
                html;\r
@@ -228,11 +228,11 @@ X.Dom.DOM_IE4 ?
                )\r
                .listenOnce( X.Event.SUCCESS,\r
                        function( e ){\r
-                               var xnodes = Node.root._xnodes = [], t;\r
+                               var xnodes = Node._body._xnodes = [], t;\r
                                xnodes.push.apply( xnodes, e.xnodes );\r
                                elmProgress.style.width = '100%';\r
                                \r
-                               X.Dom._asyncCreateTree( Node.root, body.childNodes || body.children, elmProgress );\r
+                               X.Dom._asyncCreateTree( Node._body, body.childNodes || body.children, elmProgress );\r
                        }\r
                );\r
 }) :\r
index ae31769..514de83 100644 (file)
@@ -1,19 +1,19 @@
-root = PageRoot(\r
-       Box({\r
+root = X.UI.PageRoot(\r
+       X.UI.Box({\r
                width   : '10%',\r
                height  : '10%',\r
                left    : 5,\r
                top     : 1,\r
                bgColor : 0x0000ff\r
        }),\r
-       Box({\r
+       X.UI.Box({\r
                width       : 5,\r
                height      : 5,\r
                left        : '10%',\r
                bottom      : '70%',\r
                bgColor     : 0xff0000\r
        }),\r
-       VBox(\r
+       X.UI.VBox(\r
                {\r
                        width       : '50%',\r
                        left        : '49%',\r
@@ -26,15 +26,15 @@ root = PageRoot(
                        padding     : [ 4, 1 ],\r
                        sizing      : 'border'\r
                },\r
-               Box({\r
+               X.UI.Box({\r
                        width       : '50%',\r
                        height      : 2,\r
                        left        : '25%',\r
                        bgColor     : 0x999999\r
                }),\r
-               Text( 'Hello, world!', { width : '100%' } ),\r
-               Text( '----------------------------', { width : '100%' } ),\r
-               text = Text( 'PettanR-team. rrrrrrrrrr', { width : '100%' } )\r
+               X.UI.Text( 'Hello, world!', { width : '100%' } ),\r
+               X.UI.Text( '----------------------------', { width : '100%' } ),\r
+               text = X.UI.Text( 'PettanR-team. rrrrrrrrrr', { width : '100%' } )\r
                        .listen( X.UI.Event.TAP, _onClick )\r
        )\r
 );\r
index 788a3f4..44b7762 100644 (file)
@@ -173,7 +173,7 @@ X.UI.AttrClass = function( opt_supports, opt_attrs ){
                // setAttr に書き換え\r
                X.UI.attrClassProto = proto;\r
                for( p in opt_attrs ){\r
-                       _AbstractUINode.prototype.setAttr( p, opt_supports[ p ], opt_attrs[ p ] );\r
+                       X.UI._AbstractUINode.prototype.setAttr( p, opt_supports[ p ], opt_attrs[ p ] );\r
                };\r
                X.UI.attrClassProto = null;\r
                return klass;\r
index 1190ff6..c50ca7f 100644 (file)
@@ -1,21 +1,18 @@
 \r
-\r
-X.UI.i = X.Dom.Event._LAST_EVENT;\r
-\r
 X.UI.Event = {\r
 \r
-       INIT              : ++X.UI.i,\r
-       ADDED             : ++X.UI.i,\r
-       CREATION_COMPLETE : ++X.UI.i,\r
-       REMOVED           : ++X.UI.i,\r
+       INIT              : ++X.Dom.Event._LAST_EVENT,\r
+       ADDED             : ++X.Dom.Event._LAST_EVENT,\r
+       CREATION_COMPLETE : ++X.Dom.Event._LAST_EVENT,\r
+       REMOVED           : ++X.Dom.Event._LAST_EVENT,\r
 \r
        // http://d.hatena.ne.jp/edvakf/20100205/1265338487\r
        // http://d.hatena.ne.jp/uupaa/20100401/1270097629\r
-       ENTER_VIEW        : ++X.UI.i, // 要素が視界に入った\r
-       OUT_VIEW          : ++X.UI.i,\r
+       ENTER_VIEW        : ++X.Dom.Event._LAST_EVENT, // 要素が視界に入った\r
+       OUT_VIEW          : ++X.Dom.Event._LAST_EVENT,\r
        \r
-       POINTER_OUT       : ++X.UI.i,\r
-       POINTER_IN        : ++X.UI.i,\r
+       POINTER_OUT       : ++X.Dom.Event._LAST_EVENT,\r
+       POINTER_IN        : ++X.Dom.Event._LAST_EVENT,\r
        \r
        // FOCUS\r
        // DISABLED\r
@@ -23,135 +20,135 @@ X.UI.Event = {
        // BASE_FONT_SIZE_CHANGE\r
        \r
 /* -- Pointing Device Event -- */\r
-       _START_POINTER    : X.UI.i + 0.5,\r
+       _START_POINTER    : X.Dom.Event._LAST_EVENT + 0.5,\r
        \r
-       CONTEXT_MENU      : ++X.UI.i, // rightclick or longtouch or menukey or ctrl + click\r
+       CONTEXT_MENU      : ++X.Dom.Event._LAST_EVENT, // rightclick or longtouch or menukey or ctrl + click\r
        \r
 /* -- ここよりあとはノード上をバブルアップ   -- */\r
-       _START_BUBLEUP    : X.UI.i + 0.5,               \r
+       _START_BUBLEUP    : X.Dom.Event._LAST_EVENT + 0.5,              \r
 \r
        // raw pointing device event\r
-       _POINTER_DOWN     : ++X.UI.i,\r
-       _POINTER_UP       : ++X.UI.i,\r
-       _POINTER_MOVE     : ++X.UI.i,\r
-       _POINTER_CANCEL   : ++X.UI.i,\r
-       _TOUCH_START      : ++X.UI.i,\r
-       _TOUCH_END        : ++X.UI.i,\r
-       _TOUCH_MOVE       : ++X.UI.i,\r
-       _TOUCH_CANCEL     : ++X.UI.i,\r
-       _MOUSE_DOWN       : ++X.UI.i,\r
-       _MOUSE_UP         : ++X.UI.i,\r
-       _MOUSE_MOVE       : ++X.UI.i,\r
-       _MOUSE_CANCEL     : ++X.UI.i,\r
+       _POINTER_DOWN     : ++X.Dom.Event._LAST_EVENT,\r
+       _POINTER_UP       : ++X.Dom.Event._LAST_EVENT,\r
+       _POINTER_MOVE     : ++X.Dom.Event._LAST_EVENT,\r
+       _POINTER_CANCEL   : ++X.Dom.Event._LAST_EVENT,\r
+       _TOUCH_START      : ++X.Dom.Event._LAST_EVENT,\r
+       _TOUCH_END        : ++X.Dom.Event._LAST_EVENT,\r
+       _TOUCH_MOVE       : ++X.Dom.Event._LAST_EVENT,\r
+       _TOUCH_CANCEL     : ++X.Dom.Event._LAST_EVENT,\r
+       _MOUSE_DOWN       : ++X.Dom.Event._LAST_EVENT,\r
+       _MOUSE_UP         : ++X.Dom.Event._LAST_EVENT,\r
+       _MOUSE_MOVE       : ++X.Dom.Event._LAST_EVENT,\r
+       _MOUSE_CANCEL     : ++X.Dom.Event._LAST_EVENT,\r
        \r
-       FILE_DRAG         : ++X.UI.i,\r
-       FILE_DRAG_START   : ++X.UI.i,\r
-       FILE_DRAG_END     : ++X.UI.i,\r
-       FILE_HOLD         : ++X.UI.i,\r
-       FILE_HOLD_END     : ++X.UI.i,\r
-       FILE_DROP_BEFORE  : ++X.UI.i,\r
-       FILE_DROP         : ++X.UI.i,\r
-       FILE_DROP_CANCEL  : ++X.UI.i,\r
+       FILE_DRAG         : ++X.Dom.Event._LAST_EVENT,\r
+       FILE_DRAG_START   : ++X.Dom.Event._LAST_EVENT,\r
+       FILE_DRAG_END     : ++X.Dom.Event._LAST_EVENT,\r
+       FILE_HOLD         : ++X.Dom.Event._LAST_EVENT,\r
+       FILE_HOLD_END     : ++X.Dom.Event._LAST_EVENT,\r
+       FILE_DROP_BEFORE  : ++X.Dom.Event._LAST_EVENT,\r
+       FILE_DROP         : ++X.Dom.Event._LAST_EVENT,\r
+       FILE_DROP_CANCEL  : ++X.Dom.Event._LAST_EVENT,\r
 \r
 /* -- ここより後は X.UI 用のイベント -- */\r
-       _START_XUI_EVENT  : X.UI.i + 0.5,\r
+       _START_XUI_EVENT  : X.Dom.Event._LAST_EVENT + 0.5,\r
 \r
 /* -- Mouse & Floating touch(Xperia sola)?? -- */\r
-       HOVER_MOVE        : ++X.UI.i,\r
-       HOVER_STAY        : ++X.UI.i,\r
-       HOVER_STAY_END    : ++X.UI.i,\r
-       WHEEL             : ++X.UI.i,\r
+       HOVER_MOVE        : ++X.Dom.Event._LAST_EVENT,\r
+       HOVER_STAY        : ++X.Dom.Event._LAST_EVENT,\r
+       HOVER_STAY_END    : ++X.Dom.Event._LAST_EVENT,\r
+       WHEEL             : ++X.Dom.Event._LAST_EVENT,\r
 \r
 /* -- Gesuture Event -- */\r
-       HOLD              : ++X.UI.i,\r
-       HOLD_END          : ++X.UI.i,\r
-       TAP               : ++X.UI.i,\r
-       DOUBLE_TAP        : ++X.UI.i,\r
-       DRAG              : ++X.UI.i,\r
-       DRAG_START        : ++X.UI.i,\r
-       DRAG_END          : ++X.UI.i,\r
-       DRAG_UP           : ++X.UI.i,\r
-       DRAG_RIGHT        : ++X.UI.i,\r
-       DRAG_LEFT         : ++X.UI.i,\r
-       DRAG_DOWN         : ++X.UI.i,\r
-       SWIP              : ++X.UI.i,\r
-       SWIP_UP           : ++X.UI.i,\r
-       SWIP_RIGHT        : ++X.UI.i,\r
-       SWIP_LEFT         : ++X.UI.i,           \r
-       SWIP_DOWN         : ++X.UI.i,\r
-       TRANSFORM         : ++X.UI.i,\r
-       TRANSFORM_START   : ++X.UI.i,\r
-       TRANSFORM_END     : ++X.UI.i,\r
-       PINCH             : ++X.UI.i,\r
-       PINCH_IN          : ++X.UI.i,\r
-       PINCH_OUT         : ++X.UI.i,\r
-       ROTATE            : ++X.UI.i,\r
+       HOLD              : ++X.Dom.Event._LAST_EVENT,\r
+       HOLD_END          : ++X.Dom.Event._LAST_EVENT,\r
+       TAP               : ++X.Dom.Event._LAST_EVENT,\r
+       DOUBLE_TAP        : ++X.Dom.Event._LAST_EVENT,\r
+       DRAG              : ++X.Dom.Event._LAST_EVENT,\r
+       DRAG_START        : ++X.Dom.Event._LAST_EVENT,\r
+       DRAG_END          : ++X.Dom.Event._LAST_EVENT,\r
+       DRAG_UP           : ++X.Dom.Event._LAST_EVENT,\r
+       DRAG_RIGHT        : ++X.Dom.Event._LAST_EVENT,\r
+       DRAG_LEFT         : ++X.Dom.Event._LAST_EVENT,\r
+       DRAG_DOWN         : ++X.Dom.Event._LAST_EVENT,\r
+       SWIP              : ++X.Dom.Event._LAST_EVENT,\r
+       SWIP_UP           : ++X.Dom.Event._LAST_EVENT,\r
+       SWIP_RIGHT        : ++X.Dom.Event._LAST_EVENT,\r
+       SWIP_LEFT         : ++X.Dom.Event._LAST_EVENT,          \r
+       SWIP_DOWN         : ++X.Dom.Event._LAST_EVENT,\r
+       TRANSFORM         : ++X.Dom.Event._LAST_EVENT,\r
+       TRANSFORM_START   : ++X.Dom.Event._LAST_EVENT,\r
+       TRANSFORM_END     : ++X.Dom.Event._LAST_EVENT,\r
+       PINCH             : ++X.Dom.Event._LAST_EVENT,\r
+       PINCH_IN          : ++X.Dom.Event._LAST_EVENT,\r
+       PINCH_OUT         : ++X.Dom.Event._LAST_EVENT,\r
+       ROTATE            : ++X.Dom.Event._LAST_EVENT,\r
        \r
-       _END_XUI_EVENT    : X.UI.i + 0.5,\r
+       _END_XUI_EVENT    : X.Dom.Event._LAST_EVENT + 0.5,\r
        \r
-       _END_POINTER      : X.UI.i + 0.5,\r
+       _END_POINTER      : X.Dom.Event._LAST_EVENT + 0.5,\r
 /* -- Pointing Device Event -- */\r
        \r
-       KEY_DOWN          : ++X.UI.i,\r
-       KEY_UP            : ++X.UI.i,\r
-       KEY_HOLD          : ++X.UI.i,\r
-       KEY_CANCEL        : ++X.UI.i,\r
+       KEY_DOWN          : ++X.Dom.Event._LAST_EVENT,\r
+       KEY_UP            : ++X.Dom.Event._LAST_EVENT,\r
+       KEY_HOLD          : ++X.Dom.Event._LAST_EVENT,\r
+       KEY_CANCEL        : ++X.Dom.Event._LAST_EVENT,\r
        \r
-       SCROLL_BEFORE_START : ++X.UI.i, // cancelable\r
-       SCROLL_START        : ++X.UI.i,\r
-       SCROLL_BEFORE_MOVE  : ++X.UI.i,\r
-       SCROLL_MOVE         : ++X.UI.i,\r
-       SCROLL_END          : ++X.UI.i,\r
-       SCROLL_REFRESH      : ++X.UI.i,\r
-\r
-       ANIME_BEFORE_START  : ++X.UI.i,\r
-       ANIME_START         : ++X.UI.i,\r
-       ANIME               : ++X.UI.i,\r
-       ANIME_END           : ++X.UI.i,\r
-       ANIME_BEFORE_STOP   : ++X.UI.i, // before cancel\r
-       ANIME_STOP          : ++X.UI.i,\r
-\r
-       PAGE_BEFORE_SHOW    : ++X.UI.i,\r
-       PAGE_SHOW           : ++X.UI.i,\r
-       PAGE_AFTER_SHOW     : ++X.UI.i,\r
-       PAGE_BEFORE_HIDE    : ++X.UI.i,\r
-       PAGE_HIDE           : ++X.UI.i,\r
-       PAGE_AFTER_HIDE     : ++X.UI.i,\r
+       SCROLL_BEFORE_START : ++X.Dom.Event._LAST_EVENT, // cancelable\r
+       SCROLL_START        : ++X.Dom.Event._LAST_EVENT,\r
+       SCROLL_BEFORE_MOVE  : ++X.Dom.Event._LAST_EVENT,\r
+       SCROLL_MOVE         : ++X.Dom.Event._LAST_EVENT,\r
+       SCROLL_END          : ++X.Dom.Event._LAST_EVENT,\r
+       SCROLL_REFRESH      : ++X.Dom.Event._LAST_EVENT,\r
+\r
+       ANIME_BEFORE_START  : ++X.Dom.Event._LAST_EVENT,\r
+       ANIME_START         : ++X.Dom.Event._LAST_EVENT,\r
+       ANIME               : ++X.Dom.Event._LAST_EVENT,\r
+       ANIME_END           : ++X.Dom.Event._LAST_EVENT,\r
+       ANIME_BEFORE_STOP   : ++X.Dom.Event._LAST_EVENT, // before cancel\r
+       ANIME_STOP          : ++X.Dom.Event._LAST_EVENT,\r
+\r
+       PAGE_BEFORE_SHOW    : ++X.Dom.Event._LAST_EVENT,\r
+       PAGE_SHOW           : ++X.Dom.Event._LAST_EVENT,\r
+       PAGE_AFTER_SHOW     : ++X.Dom.Event._LAST_EVENT,\r
+       PAGE_BEFORE_HIDE    : ++X.Dom.Event._LAST_EVENT,\r
+       PAGE_HIDE           : ++X.Dom.Event._LAST_EVENT,\r
+       PAGE_AFTER_HIDE     : ++X.Dom.Event._LAST_EVENT,\r
 \r
        // X.UI.Form\r
-       CHANGE            : ++X.UI.i,\r
-       SUBMIT            : ++X.UI.i,\r
-       SELECT            : ++X.UI.i, // click or tap or enterkey\r
+       CHANGE            : ++X.Dom.Event._LAST_EVENT,\r
+       SUBMIT            : ++X.Dom.Event._LAST_EVENT,\r
+       SELECT            : ++X.Dom.Event._LAST_EVENT, // click or tap or enterkey\r
        \r
        IdToName : {},\r
        NameToID : {}\r
 };\r
 \r
-delete X.UI.i;\r
-\r
 // raw pointing device event\r
-if( navigator.msPointerEnabled || navigator.pointerEnabled ){\r
-       X.UI.Event.IdToName[ X.UI.Event._POINTER_DOWN   ] = navigator.msPointerEnabled ? 'MSPointerDown'   : 'pointerdown';\r
-       X.UI.Event.IdToName[ X.UI.Event._POINTER_UP     ] = navigator.msPointerEnabled ? 'MSPointerUp'     : 'pointerup';\r
-       X.UI.Event.IdToName[ X.UI.Event._POINTER_MOVE   ] = navigator.msPointerEnabled ? 'MSPointerMove'   : 'pointermove';\r
-       X.UI.Event.IdToName[ X.UI.Event._POINTER_CANCEL ] = navigator.msPointerEnabled ? 'MSPointerCancel' : 'pointercancel';\r
-};// else\r
-//if( window.ontouchstart !== void 0 /* || window.DocumentTouch && document instanceof DocumentTouch */ ){\r
-       X.UI.Event.IdToName[ X.UI.Event._TOUCH_START  ] = 'touchstart';\r
-       X.UI.Event.IdToName[ X.UI.Event._TOUCH_END    ] = 'touchend';\r
-       X.UI.Event.IdToName[ X.UI.Event._TOUCH_MOVE   ] = 'touchmove';\r
-       X.UI.Event.IdToName[ X.UI.Event._TOUCH_CANCEL ] = 'touchcancel';\r
-//} else {\r
-       // ToDo: cancel \r
+if( X.Dom.EVENT_POINTER ){\r
+       X.UI.Event.IdToName[ X.UI.Event._POINTER_DOWN   ] = 'pointerdown';\r
+       X.UI.Event.IdToName[ X.UI.Event._POINTER_UP     ] = 'pointerup';\r
+       X.UI.Event.IdToName[ X.UI.Event._POINTER_MOVE   ] = 'pointermove';\r
+       X.UI.Event.IdToName[ X.UI.Event._POINTER_CANCEL ] = 'pointercancel';\r
+} else {\r
+       \r
+       if( X.Dom.EVENT_TOUCH ){\r
+               X.UI.Event.IdToName[ X.UI.Event._TOUCH_START  ] = 'touchstart';\r
+               X.UI.Event.IdToName[ X.UI.Event._TOUCH_END    ] = 'touchend';\r
+               X.UI.Event.IdToName[ X.UI.Event._TOUCH_MOVE   ] = 'touchmove';\r
+               X.UI.Event.IdToName[ X.UI.Event._TOUCH_CANCEL ] = 'touchcancel';\r
+       };\r
+\r
        X.UI.Event.IdToName[ X.UI.Event._MOUSE_DOWN   ] = 'mousedown';\r
        X.UI.Event.IdToName[ X.UI.Event._MOUSE_UP     ] = 'mouseup';\r
        X.UI.Event.IdToName[ X.UI.Event._MOUSE_MOVE   ] = 'mousemove';\r
        X.UI.Event.IdToName[ X.UI.Event._MOUSE_CANCEL ] = 'mouseleave'; // ??\r
-//};\r
+};\r
+\r
 \r
-( function( IdToName, NameToID ){\r
-       for( var id in IdToName ){\r
-               NameToID[ IdToName[ id ] ] = id;\r
+( function( IdToName, NameToID, p ){\r
+       for( p in IdToName ){\r
+               NameToID[ IdToName[ p ] ] = p;\r
        };\r
 })( X.UI.Event.IdToName, X.UI.Event.NameToID );\r
 \r
index f8dab24..bf89d47 100644 (file)
                        Detection.register( Gestures[ name ] );\r
                };\r
 \r
-               if( navigator.pointerEnabled || navigator.msPointerEnabled ){\r
+               if( X.Dom.EVENT_POINTER ){\r
                        Hammer.EVENT_TYPES_START = [ X.UI.Event._POINTER_DOWN ];\r
                        types = [ X.UI.Event._POINTER_MOVE, X.UI.Event._POINTER_UP, X.UI.Event._POINTER_CANCEL ];\r
                } else\r
-               if( window.ontouchstart !== void 0 ){\r
+               if( X.Dom.EVENT_TOUCH ){\r
                        Hammer.EVENT_TYPES_START = [ X.UI.Event._TOUCH_START ];\r
                        types = [ X.UI.Event._TOUCH_MOVE, X.UI.Event._MOUSE_MOVE, X.UI.Event._TOUCH_END, X.UI.Event._TOUCH_CANCEL ];\r
                } else {\r
index 73d9c4b..7ca7eb7 100644 (file)
@@ -1,5 +1,5 @@
-var _AbstractUINode = X.EventDispatcher.inherits(\r
-       '_AbstractUINode',\r
+X.UI._AbstractUINode = X.EventDispatcher.inherits(\r
+       'X.UI._AbstractUINode',\r
        X.Class.ABSTRACT | X.Class.PRIVATE_DATA,\r
        {\r
                phase             : 0,\r
@@ -420,8 +420,8 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                        this.xnode\r
                                .css( 'left',        x ? x + 'em' : 0 )\r
                                .css( 'top',         y ? y + 'em' : 0 )\r
-                               .css( 'width',       this.contentWidth  ? _AbstractUINode.ceil( this.contentWidth  )  + 'em' : 0 )\r
-                               .css( 'height',      this.contentHeight ? _AbstractUINode.ceil( this.contentHeight ) + 'em' : 0 )\r
+                               .css( 'width',       this.contentWidth  ? X.UI._AbstractUINode.ceil( this.contentWidth  )  + 'em' : 0 )\r
+                               .css( 'height',      this.contentHeight ? X.UI._AbstractUINode.ceil( this.contentHeight ) + 'em' : 0 )\r
                                .css( 'padding',     this._createCssText( 'padding' ) )\r
                                .css( 'borderWidth', this._createCssText( 'borderWidth' ) );\r
                },\r
@@ -431,7 +431,7 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                 */\r
                preMesure : function( allowedW, allowedH ){\r
                        var attrs = this.attrObject || this.attrClass.prototype || X.UI.AttrClass,\r
-                               calc  = _AbstractUINode.calcValue,\r
+                               calc  = X.UI._AbstractUINode.calcValue,\r
                                box   = attrs[ X.UI.Attr.Support.sizing.No ],\r
                                min, max,\r
                                boxL, boxT, boxR, boxB,\r
@@ -462,7 +462,7 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                                if( this.constraintW ){ // 制約レイアウト\r
                                        contentW = allowedW - ( boxL = calc( attrs[ X.UI.Attr.Support.left.No ], allowedW ) ) - ( boxR = calc( attrs[ X.UI.Attr.Support.right.No ], allowedW ) );\r
                                } else {\r
-                                       contentW = _AbstractUINode.finalValue( attrs[ X.UI.Attr.Support.width.No ], attrs[ X.UI.Attr.Support.minWidth.No ], attrs[ X.UI.Attr.Support.maxWidth.No ], allowedW );                                 \r
+                                       contentW = X.UI._AbstractUINode.finalValue( attrs[ X.UI.Attr.Support.width.No ], attrs[ X.UI.Attr.Support.minWidth.No ], attrs[ X.UI.Attr.Support.maxWidth.No ], allowedW );                                    \r
                                };\r
                                this.contentWidth = contentW + boxMinus;\r
                                this.scrollWidth  = this.contentWidth + this.contentL + this.contentR;\r
@@ -504,7 +504,7 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                                if( this.constraintH ){ // 制約レイアウト\r
                                        contentH = allowedH - ( boxT = calc( attrs[ X.UI.Attr.Support.top.No ], allowedH ) ) - ( boxB = calc( attrs[ X.UI.Attr.Support.bottom.No ], allowedH ) );\r
                                } else {\r
-                                       contentH = _AbstractUINode.finalValue( attrs[ X.UI.Attr.Support.height.No ], attrs[ X.UI.Attr.Support.minHeight.No ], attrs[ X.UI.Attr.Support.maxHeight.No ], allowedH );\r
+                                       contentH = X.UI._AbstractUINode.finalValue( attrs[ X.UI.Attr.Support.height.No ], attrs[ X.UI.Attr.Support.minHeight.No ], attrs[ X.UI.Attr.Support.maxHeight.No ], allowedH );\r
                                };                      \r
                                this.contentHeight = contentH + boxMinus;\r
                                this.scrollHeight  = this.contentHeight + this.contentT + this.contentB;\r
@@ -609,7 +609,7 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                                                        if( w - this.boxSizingOffsetLR < this.minContentWidth ) this.contentWidth = this.minContentWidth + this.boxSizingOffsetLR;\r
                                                        this.lastContentWidth = this.contentWidth;\r
                                                        \r
-                                                       w !== this.contentWidth && xnode.css( 'width', _AbstractUINode.ceil( this.contentWidth ) + 'em' );\r
+                                                       w !== this.contentWidth && xnode.css( 'width', X.UI._AbstractUINode.ceil( this.contentWidth ) + 'em' );\r
                                                        \r
                                                        if( h === X.UI.Attr.AUTO ){\r
                                                                this.contentHeight = h = xnode.css( 'height', 'auto' ).scrollHeight() / xnode._getCharSize(); // scrollHeight() ??\r
@@ -624,7 +624,7 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                                                } else\r
                                                if( h === X.UI.Attr.AUTO ){\r
                                                        if( w !== this.lastContentWidth ){\r
-                                                               xnode.css( 'width', _AbstractUINode.ceil( w ) + 'em' );\r
+                                                               xnode.css( 'width', X.UI._AbstractUINode.ceil( w ) + 'em' );\r
                                                                \r
                                                                this.lastContentWidth  = w;\r
                                                                this.contentHeight = h = xnode.css( 'height', 'auto' ).scrollHeight() / xnode._getCharSize();\r
@@ -667,7 +667,7 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                 */\r
                postMesure : function(){\r
                        var     attrs    = this.attrObject || this.attrClass.prototype || X.UI.AttrClass,\r
-                               calc     = _AbstractUINode.calcValue,\r
+                               calc     = X.UI._AbstractUINode.calcValue,\r
                                box      = attrs[ X.UI.Attr.Support.sizing.No ],\r
                                contentW, contentH,\r
                                contentPlus,\r
@@ -775,7 +775,7 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                                                ++counter[ type ];\r
                                        } else {\r
                                                counter[ type ] = 1;                            \r
-                                               root.xnodeInteractiveLayer.listen( X.UI.Event.IdToName[ type ], eventRellay );\r
+                                               root.xnodeInteractiveLayer.listen( X.UI.Event.IdToName[ type ], X.UI._eventRellay );\r
                                        };\r
                                };\r
                        };\r
@@ -807,7 +807,7 @@ var _AbstractUINode = X.EventDispatcher.inherits(
                                        if( !counter[ type ] ) return this;\r
                                        --counter[ type ];\r
                                        if( counter[ type ] === 0 ){\r
-                                               root.xnodeInteractiveLayer.unlisten( X.UI.Event.IdToName[ type ], eventRellay );\r
+                                               root.xnodeInteractiveLayer.unlisten( X.UI.Event.IdToName[ type ], X.UI._eventRellay );\r
                                                delete counter[ type ];\r
                                        };\r
                                };\r
@@ -834,7 +834,7 @@ var _AbstractUINode = X.EventDispatcher.inherits(
        }\r
 );\r
 \r
-_AbstractUINode.calcValue = function( styleValue, srcValue ){\r
+X.UI._AbstractUINode.calcValue = function( styleValue, srcValue ){\r
        /*\r
         * String の場合は必ず %\r
         */     \r
@@ -845,21 +845,21 @@ _AbstractUINode.calcValue = function( styleValue, srcValue ){
        return styleValue;\r
 };\r
 \r
-_AbstractUINode.finalValue = function( styleValue, styleMin, styleMax, srcValue ){\r
-       var calc = _AbstractUINode.calcValue,\r
+X.UI._AbstractUINode.finalValue = function( styleValue, styleMin, styleMax, srcValue ){\r
+       var calc = X.UI._AbstractUINode.calcValue,\r
                v    = calc( styleValue, srcValue ),\r
                min  = calc( styleMin, srcValue ),\r
                max  = calc( styleMax, srcValue );\r
        return v <= min ? min : max <= v ? max : v;\r
 };\r
-_AbstractUINode.ceil = function( v ){\r
+X.UI._AbstractUINode.ceil = function( v ){\r
        if( 0 <= v ){\r
                return ( v * 10 + 0.999 | 0 ) / 10;\r
        };\r
        return ( -v * 10 + 0.999 | 0 ) / -10;\r
 };\r
 \r
-var AbstractUINode = X.Class.create(\r
+X.UI.AbstractUINode = X.Class.create(\r
        'AbstractUINode',\r
        X.Class.ABSTRACT | X.Class.SUPER_ACCESS,\r
        {\r
index cdd5433..d089886 100644 (file)
@@ -47,8 +47,8 @@ X.UI.Layout.Canvas = X.UI.Layout.create( {
 });\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
@@ -68,7 +68,7 @@ var _Box = _AbstractUINode.inherits(
                                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
@@ -80,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
@@ -153,7 +153,7 @@ var _Box = _AbstractUINode.inherits(
                                };                              \r
                        };\r
                        \r
-                       _AbstractUINode.prototype.creationComplete.apply( this, arguments );\r
+                       X.UI._AbstractUINode.prototype.creationComplete.apply( this, arguments );\r
                },\r
                \r
                calculate : function( isNeedsDetection, x, y, w, h ){\r
@@ -274,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
@@ -334,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
@@ -386,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
index 8a7fd98..35b574a 100644 (file)
@@ -32,9 +32,9 @@ X.UI.Layout.Vertical = X.UI.Layout.create( {
                autoW          = contentW === X.UI.Attr.AUTO;\r
                autoH          = contentH === X.UI.Attr.AUTO;\r
                detectionPhase = autoW || autoH;\r
-               gapY           = _AbstractUINode.calcValue( attrs[ data.supportAttrs.gapY.No ], contentH );\r
-               childW         = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW );\r
-               childH         = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH );\r
+               gapY           = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.gapY.No ], contentH );\r
+               childW         = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW );\r
+               childH         = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH );\r
                _x             = data.contentL;\r
                _y             = data.contentT;\r
 \r
@@ -70,7 +70,7 @@ X.UI.Layout.Vertical = X.UI.Layout.create( {
        }\r
 });\r
 \r
-var VBox = Box.presets(\r
+X.UI.VBox = X.UI.Box.presets(\r
        X.UI.Layout.Vertical,\r
        'VBox',\r
        {\r
index 0ce6781..b57507a 100644 (file)
@@ -33,9 +33,9 @@ X.UI.Layout.Horizontal = X.UI.Layout.create( {
                detectionPhase = autoW || autoH;\r
                _x             = data.contentL;\r
                _y             = data.contentT;\r
-               childW         = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW );\r
-               childH         = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH );\r
-               gapX           = _AbstractUINode.calcValue( attrs[ data.supportAttrs.gapX.No ], contentW );\r
+               childW         = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW );\r
+               childH         = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH );\r
+               gapX           = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.gapX.No ], contentW );\r
 \r
                if( l ){\r
                        _h = 0;\r
@@ -68,7 +68,7 @@ X.UI.Layout.Horizontal = X.UI.Layout.create( {
        }\r
 });\r
 \r
-var HBox = Box.presets(\r
+X.UI.HBox = X.UI.Box.presets(\r
        X.UI.Layout.Horizontal,\r
        'HBox',\r
        {\r
index 8ff5499..d118565 100644 (file)
@@ -35,10 +35,10 @@ X.UI.Layout.Tile = X.UI.Layout.create( {
                        _x      = data.contentL;\r
                        _y      = data.contentT;\r
                        _w      = data.contentWidth;\r
-                       gapX    = _AbstractUINode.calcValue( attrs[ data.supportAttrs.gapX.No ], contentW );\r
-                       gapY    = _AbstractUINode.calcValue( attrs[ data.supportAttrs.gapY.No ], contentH );\r
-                       childW  = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW );\r
-                       childH  = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH );\r
+                       gapX    = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.gapX.No ], contentW );\r
+                       gapY    = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.gapY.No ], contentH );\r
+                       childW  = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW );\r
+                       childH  = X.UI._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
                        _h      = _y + data.contentB + ( childH + gapY ) * numH - gapY;\r
@@ -73,7 +73,7 @@ X.UI.Layout.Tile = X.UI.Layout.create( {
        }\r
 });\r
 \r
-var TileBox = Box.presets(\r
+X.UI.TileBox = X.UI.Box.presets(\r
        'TileBox',\r
        X.UI.Layout.Tile,\r
        {\r
index 6dd03f1..2db78ee 100644 (file)
@@ -1,4 +1,4 @@
-var _ChromeBox = _Box.inherits(\r
+X.UI._ChromeBox = X.UI._Box.inherits(\r
        '_ChromeBox',\r
        X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS,\r
        {\r
@@ -32,10 +32,10 @@ var _ChromeBox = _Box.inherits(
        }\r
 );\r
 \r
-var ChromeBox = Box.inherits(\r
+X.UI.ChromeBox = X.UI.Box.inherits(\r
        'ChromeBox',\r
        X.Class.SUPER_ACCESS,\r
-       _ChromeBox,\r
+       X.UI._ChromeBox,\r
        {\r
                Constructor : function(){\r
                        X.Class._newPrivate( this, X.UI.Layout.Canvas, arguments );\r
index 1b9fb48..e97ddf9 100644 (file)
@@ -1,4 +1,3 @@
-var _ScrollBox;\r
 \r
 (function(){\r
 \r
@@ -904,7 +903,7 @@ iScroll.prototype = {
 \r
 \r
 \r
-_ScrollBox = _ChromeBox.inherits(\r
+X.UI._ScrollBox = X.UI._ChromeBox.inherits(\r
        '_ScrollBox',\r
        X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS,\r
        {\r
@@ -927,13 +926,13 @@ _ScrollBox = _ChromeBox.inherits(
                },\r
                \r
                creationComplete : function(){\r
-                       _AbstractUINode.prototype.creationComplete.call( this, arguments );\r
+                       X.UI._AbstractUINode.prototype.creationComplete.call( this, arguments );\r
                        this.scrollManager = new iScroll( this.root, this.User, this.rawElement, this._containerNode.rawElement );\r
                        this._check();\r
                },\r
                \r
                calculate : function(){\r
-                       _AbstractUINode.prototype.calculate.call( this, arguments );\r
+                       X.UI._AbstractUINode.prototype.calculate.call( this, arguments );\r
                        this._check();\r
                },\r
                \r
@@ -986,7 +985,7 @@ _ScrollBox = _ChromeBox.inherits(
                },\r
                \r
                _remove : function(){\r
-                       _AbstractUINode.prototype._remove.call( this, arguments );\r
+                       X.UI._AbstractUINode.prototype._remove.call( this, arguments );\r
                        if( this.scrolling ){\r
                                // remove scroll\r
                        };\r
@@ -997,10 +996,10 @@ _ScrollBox = _ChromeBox.inherits(
 \r
 })();\r
 \r
-var ScrollBox = ChromeBox.inherits(\r
+X.UI.ScrollBox = X.UI.ChromeBox.inherits(\r
        'ScrollBox',\r
        X.Class.SUPER_ACCESS,\r
-       _ScrollBox,\r
+       X.UI._ScrollBox,\r
        {\r
                Constructor : function(){\r
                        var args = [],\r
index 58c6a02..10624d7 100644 (file)
@@ -1,4 +1,4 @@
-var _Text = _AbstractUINode.inherits(\r
+X.UI._Text = X.UI._AbstractUINode.inherits(\r
        '_Text',\r
        X.Class.PRIVATE_DATA,\r
        {\r
@@ -19,10 +19,10 @@ var _Text = _AbstractUINode.inherits(
        }\r
 );\r
 \r
-var Text = AbstractUINode.inherits(\r
+X.UI.Text = X.UI.AbstractUINode.inherits(\r
        'Text',\r
        X.Class.SUPER_ACCESS,\r
-       _Text,\r
+       X.UI._Text,\r
        {\r
                Constructor : function( opt_content, opt_cssObj ){\r
                        X.Class._newPrivate( this, opt_content );\r
index a1821dd..11fe1df 100644 (file)
@@ -1,5 +1,5 @@
 
-function eventRellay( e ){
+X.UI._eventRellay = function( e ){
        var x       = e.clientX / X.Dom.baseFontSize,
                y       = e.clientY / X.Dom.baseFontSize,
                type    = X.UI.Event.NameToID[ e.type ],
@@ -9,21 +9,18 @@ function eventRellay( e ){
                ret     = X.Callback.NONE,
                list, parent, _ret;
 
-       if( !data ) return ret;
-       
        // mouseup で alert を出すと mouseleave が発生、ということでイベント中のイベント発火を禁止
-       // gesture にも手当てが必要
-       if( data._eventBudy ) return X.Callback.STOP_PROPAGATION | _ret & X.Callback.PREVENT_DEFAULT;
-       data._eventBudy = true;
+       if( !data || data._eventBusy ) return ret;
+       data._eventBusy = true;
        
        if( type !== '' + X.UI.Event._POINTER_MOVE && type !== '' + X.UI.Event._TOUCH_MOVE && type !== '' + X.UI.Event._MOUSE_MOVE ){
-               console.log( e.type + ' ' + type + ' x:' + x + ', y:' + y );
+       //      console.log( e.type + ' ' + type + ' x:' + x + ', y:' + y );
        };
        
        e.type = type;
 
        if( data && ( data = data.monopolyNodeData ) && ( ret = data.dispatch( e ) ) & X.Callback.MONOPOLY ){
-               delete X.UI.currentRootData._eventBudy;
+               delete X.UI.currentRootData._eventBusy;
                return ret;
        };
        
@@ -58,7 +55,7 @@ function eventRellay( e ){
                        data.hovering = true;
                };
        };
-       delete X.UI.currentRootData._eventBudy;
+       delete X.UI.currentRootData._eventBusy;
        return ret;
 };
 
@@ -67,7 +64,7 @@ function eventRellay( e ){
  * 背景画像を読み終える onload で活動開始
  */
 
-var _PageRoot = _Box.inherits(
+X.UI._PageRoot = X.UI._Box.inherits(
        '_PageRoot',
        X.Class.FINAL | X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS,
        {
@@ -82,7 +79,7 @@ var _PageRoot = _Box.inherits(
                eventCounter          : null,
                cursorStyle           : null,
                
-               _eventBudy            : false,
+               _eventBusy            : false,
                
                Constructor : function( layout, args ){
                        this.SuperConstructor( layout, args );
@@ -108,9 +105,9 @@ var _PageRoot = _Box.inherits(
                        
                        // this.xnodeInteractiveLayer の前に追加する!
 
-                       this.addToParent( X.Dom.Node.root );
+                       this.addToParent( X.Dom.Node._body );
                        
-                       this.xnodeInteractiveLayer = X.Dom.Node.root.create( 'div', {
+                       this.xnodeInteractiveLayer = X.Dom.Node._body.create( 'div', {
                                'class'      : 'mouse-operation-catcher',
                                unselectable : 'on'
                        } );
@@ -118,15 +115,15 @@ var _PageRoot = _Box.inherits(
                        // hover や rollover rollout のための move イベントの追加
                        // X.Dom.Event.activate, X.Dom.Event.deactivate ?
                        // mouseout, mouseover
-                       if( navigator.msPointerEnabled || navigator.pointerEnabled ){
-                               this.xnodeInteractiveLayer.listen( X.UI.Event.IdToName[ X.UI.Event._POINTER_MOVE ], eventRellay );
+                       if( X.Dom.EVENT_POINTER ){
+                               this.xnodeInteractiveLayer.listen( X.UI.Event.IdToName[ X.UI.Event._POINTER_MOVE ], X.UI._eventRellay );
                                if( counter[ X.UI.Event._POINTER_MOVE ] ){
                                        ++counter[ X.UI.Event._POINTER_MOVE ];
                                } else {
                                        counter[ X.UI.Event._POINTER_MOVE ] = 1;
                                };
                        } else {
-                               this.xnodeInteractiveLayer.listen( X.UI.Event.IdToName[ X.UI.Event._MOUSE_MOVE ], eventRellay );
+                               this.xnodeInteractiveLayer.listen( X.UI.Event.IdToName[ X.UI.Event._MOUSE_MOVE ], X.UI._eventRellay );
                                if( counter[ X.UI.Event._MOUSE_MOVE ] ){
                                        ++counter[ X.UI.Event._MOUSE_MOVE ];
                                } else {
@@ -182,9 +179,10 @@ var _PageRoot = _Box.inherits(
        }
 );
 
-var PageRoot = Box.presets(
+X.UI.PageRoot = X.UI.Box.presets(
        'PageRoot',
-       _PageRoot, {
+       X.UI._PageRoot,
+       {
                width  : '100%',
                height : '100%'
        }