From 4e5a06c9c610f8d3777f9d2eef71ec1365ffff1b Mon Sep 17 00:00:00 2001 From: itozyun Date: Wed, 16 Jul 2014 01:04:23 +0900 Subject: [PATCH 1/1] Version 0.6.57, fixed NS of X.UI & X.Class for __proto__. --- 0.6.x/js/core/04_XClass.js | 25 +++-- 0.6.x/js/dom/10_XDom.js | 15 +-- 0.6.x/js/dom/11_XDomNode.js | 8 +- 0.6.x/js/dom/12_XDomEvent.js | 63 +++++++++++- 0.6.x/js/dom/13_XDomBoxModel.js | 16 +-- 0.6.x/js/dom/15_XDomStyle.js | 24 ++--- 0.6.x/js/dom/18_XDomQuery.js | 2 +- 0.6.x/js/dom/20_XDomImage.js | 2 +- 0.6.x/js/dom/22_XDomBuilder.js | 12 +-- 0.6.x/js/main.js | 16 +-- 0.6.x/js/ui/02_XUI_Attr.js | 2 +- 0.6.x/js/ui/04_XUI_Event.js | 217 +++++++++++++++++++-------------------- 0.6.x/js/ui/05_XUI_Gesture.js | 4 +- 0.6.x/js/ui/06_AbstractUINode.js | 34 +++--- 0.6.x/js/ui/08_Box.js | 18 ++-- 0.6.x/js/ui/11_VBox.js | 8 +- 0.6.x/js/ui/12_HBox.js | 8 +- 0.6.x/js/ui/13_TileBox.js | 10 +- 0.6.x/js/ui/14_ChromeBox.js | 6 +- 0.6.x/js/ui/15_ScrollBox.js | 13 ++- 0.6.x/js/ui/17_Text.js | 6 +- 0.6.x/js/ui/20_PageRoot.js | 34 +++--- 22 files changed, 302 insertions(+), 241 deletions(-) diff --git a/0.6.x/js/core/04_XClass.js b/0.6.x/js/core/04_XClass.js index 5d219b3..040b39d 100644 --- a/0.6.x/js/core/04_XClass.js +++ b/0.6.x/js/core/04_XClass.js @@ -17,7 +17,7 @@ X.Class = ( function(){ CONSTRUCTOR = 'Constructor', killPrivateFlag = false, traits = null, - _slice = Array.prototype.slice; + use__proto__ = !!X.emptyFunction.prototype.__proto__; /* サブクラスを作るメソッド * var subClass = superClass.inherits( ... ) @@ -63,9 +63,13 @@ X.Class = ( function(){ params.push( args[ 0 ] ); /* props サブクラスでは未定義でも可 */ // 継承クラスの作成 - Super.__new = null; - traits = new Super(); - Super.__new = C; + if( use__proto__ ){ + traits = Super.prototype; + } else { + Super.__new = null; + traits = new Super(); + Super.__new = C; + }; klass = X.Class.create.apply( X.Class, params ); traits = null; @@ -243,9 +247,16 @@ X.Class = ( function(){ klass.superClassOf = X.Class._superClassOf; klass.subClassOf = X.Class._subClassOf; - if( X.UA.Safari && X.UA.Safari < 3 ){ // TODO Gecko もこちらへ - X.Class._override( X.Class._override( traits || klass.prototype, props, true ), CommonProps, false ); - if( traits ) klass.prototype.__proto__ = traits; + if( use__proto__ ){ + X.Class._override( klass.prototype, props, true ); + if( traits ){ + klass.prototype.__proto__ = traits; + } else { + X.Class._override( klass.prototype, CommonProps, false ); + }; + //if( X.UA.Safari && X.UA.Safari < 3 ){ // TODO Gecko もこちらへ + // X.Class._override( X.Class._override( traits || klass.prototype, props, true ), CommonProps, false ); + // if( traits ) klass.prototype.__proto__ = traits; } else { klass.prototype = X.Class._override( X.Class._override( traits || klass.prototype, props, true ), CommonProps, false ); klass.prototype.constructor = klass; diff --git a/0.6.x/js/dom/10_XDom.js b/0.6.x/js/dom/10_XDom.js index 4b88126..a16dd3d 100644 --- a/0.6.x/js/dom/10_XDom.js +++ b/0.6.x/js/dom/10_XDom.js @@ -78,7 +78,7 @@ X.Dom = X.Class._override( new Node( document.all.tags( 'html' )[ 0 ] ) : null; - r = Node.root = new Node( document.body ); + r = Node._body = new Node( document.body ); 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.appendTo = r.appendToRoot = r.before = r.after = r.clone = r.remove = r.destroy = r.prevNode = r.nextNode = new Function( 'return this' ); @@ -94,7 +94,7 @@ X.Dom = X.Class._override( X.Dom.listenOnce( X.Dom.Event.DOM_BUILDER_COMPLETE, function(){ X.Dom.readyState = X.Dom.Event.DOM_INIT; //X.UA.Opera7 && alert( 'bc' ); - Node.root.appendAt( 0, + Node._body.appendAt( 0, Node._systemNode = Node.create( 'div', { 'class' : 'hidden-system-node' } ), Node._fontSizeNode = Node.create( 'div', { 'class' : 'hidden-system-node' } ).cssText( 'line-height:1;height:1em;' ).text( 'X' ) )._startUpdate(); @@ -219,7 +219,7 @@ X.Dom = X.Class._override( //http://onozaty.hatenablog.com/entry/20060803/p1 // Safari2.0.4では標準・互換どちらも document.body - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); /*X.UA.Opera ? ( document.documentElement && document.documentElement.clientWidth ? new Function( 'return[document.documentElement.clientWidth,document.documentElement.clientHeight]' ) : @@ -234,16 +234,16 @@ X.Dom = X.Class._override( getScrollPosition : window.pageXOffset !== undefined ? ( function(){ - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); return[ window.pageXOffset, window.pageYOffset ]; } ) : window.scrollLeft !== undefined ? ( function(){ - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); return[ window.scrollLeft, window.scrollTop ]; } ) : ( function(){ - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); // body は Safari2- return[ X.Dom._root.scrollLeft || document.body.scrollLeft, X.Dom._root.scrollTop || document.body.scrollTop ]; } ), @@ -297,6 +297,9 @@ if( document.layers ){ }; +X.Dom.EVENT_POINTER = navigator.msPointerEnabled || navigator.pointerEnabled; +X.Dom.EVENT_TOUCH = !X.Dom.EVENT_POINTER && window.ontouchstart !== undefined; + X.Dom.moveToHead = { STYLE : true, LINK : true, diff --git a/0.6.x/js/dom/11_XDomNode.js b/0.6.x/js/dom/11_XDomNode.js index bc8881c..bc48a70 100644 --- a/0.6.x/js/dom/11_XDomNode.js +++ b/0.6.x/js/dom/11_XDomNode.js @@ -239,7 +239,7 @@ Node.createText = function( text ){ Node.getRoot = function( xnode ){ return Node._document; - //return xnode.root._rawNode.documentElement ? node : node.ownerDocument || node.document; + //return xNode._body._rawNode.documentElement ? node : node.ownerDocument || node.document; }; // XMLかどうかを判別する Node.isXmlDocument = @@ -255,7 +255,7 @@ Node.none = Node._chashe[ 0 ] = new Node(); Node._window = new Node( window ); // Node._chashe[ 1 ] Node._document = new Node( document ); // Node._chashe[ 2 ] Node._html = null; // Node._chashe[ 3 ] -Node.root = null;// = Node._chashe[ 4 ] body +Node._body = null;// = Node._chashe[ 4 ] body Node._systemNode = null;// = Node._chashe[ ? ] Node._reserveRemoval = []; @@ -469,7 +469,7 @@ Node.prototype.appendTo = function( parent, opt_index ){ }; Node.prototype.appendToRoot = function( opt_index ){ - opt_index === undefined ? Node.root.append( this ) : Node.root.appendAt( opt_index, this ); + opt_index === undefined ? Node._body.append( this ) : Node._body.appendAt( opt_index, this ); return this; }; @@ -821,7 +821,7 @@ Node.prototype.each = function( func ){ */ Node.prototype._reserveUpdate = function(){ - var root = Node.root; + var root = Node._body; if( root && !root._updateTimerID ) root._updateTimerID = X.Timer.requestFrame( root, root._startUpdate ); }; diff --git a/0.6.x/js/dom/12_XDomEvent.js b/0.6.x/js/dom/12_XDomEvent.js index 145054e..a3679a2 100644 --- a/0.6.x/js/dom/12_XDomEvent.js +++ b/0.6.x/js/dom/12_XDomEvent.js @@ -177,19 +177,72 @@ X.Dom.Event.RenameTo = {}; // https://github.com/georgeadamson/jQuery.prefixfree-events/blob/master/jQuery.prefixfree-events.js if( window.onwebkitanimationend !== undefined && window.onanimationend === undefined ){ - X.Dom.Event.Rename[ 'animationend' ] = 'webkitAnimationEnd'; + X.Dom.Event.Rename[ 'animationend' ] = 'webkitAnimationEnd'; X.Dom.Event.RenameTo[ 'webkitAnimationEnd' ] = 'animationend'; - X.Dom.Event.Rename[ 'animationstart' ] = 'webkitAnimationStart'; + X.Dom.Event.Rename[ 'animationstart' ] = 'webkitAnimationStart'; X.Dom.Event.RenameTo[ 'webkitAnimationStart' ] = 'animationstart'; - X.Dom.Event.Rename[ 'animationiteration' ] = 'webkitAnimationIteration'; + X.Dom.Event.Rename[ 'animationiteration' ] = 'webkitAnimationIteration'; X.Dom.Event.RenameTo[ 'webkitAnimationIteration' ] = 'animationiteration'; +} else +if( window.onoanimationend !== undefined && window.onanimationend === undefined ){ + X.Dom.Event.Rename[ 'animationend' ] = 'oAnimationEnd'; + X.Dom.Event.RenameTo[ 'oAnimationEnd' ] = 'animationend'; + X.Dom.Event.Rename[ 'animationstart' ] = 'oAnimationStart'; + X.Dom.Event.RenameTo[ 'oAnimationStart' ] = 'animationstart'; + X.Dom.Event.Rename[ 'animationiteration' ] = 'oAnimationIteration'; + X.Dom.Event.RenameTo[ 'oAnimationIteration' ] = 'animationiteration'; +} else +/* +if( window.onmozanimationend !== undefined && window.onanimationend === undefined ){ + X.Dom.Event.Rename[ 'animationend' ] = 'mozAnimationEnd'; + X.Dom.Event.RenameTo[ 'mozAnimationEnd' ] = 'animationend'; + X.Dom.Event.Rename[ 'animationstart' ] = 'mozAnimationStart'; + X.Dom.Event.RenameTo[ 'mozAnimationStart' ] = 'animationstart'; + X.Dom.Event.Rename[ 'animationiteration' ] = 'mozAnimationIteration'; + X.Dom.Event.RenameTo[ 'mozAnimationIteration' ] = 'animationiteration'; +} else*/ +if( document.documentElement && document.documentElement.style.msAnimation !== undefined && document.documentElement.style.animation === undefined ){ //document.documentElement.style.msAnimation + X.Dom.Event.Rename[ 'animationend' ] = 'MSAnimationEnd'; + X.Dom.Event.RenameTo[ 'MSAnimationEnd' ] = 'animationend'; + X.Dom.Event.Rename[ 'animationstart' ] = 'MSAnimationStart'; + X.Dom.Event.RenameTo[ 'MSAnimationStart' ] = 'animationstart'; + X.Dom.Event.Rename[ 'animationiteration' ] = 'MSAnimationIteration'; + X.Dom.Event.RenameTo[ 'MSAnimationIteration' ] = 'animationiteration'; }; - +// https://developer.mozilla.org/en-US/docs/Web/Events/transitionend +// chrome1+, firefox4+, IE10+, Opera10.5+, Safari3.2+, Android2.1+ if( window.onwebkittransitionend !== undefined && window.ontransitionend === undefined ){ - X.Dom.Event.Rename[ 'transitionend' ] = 'webkitTransitionEnd'; + X.Dom.Event.Rename[ 'transitionend' ] = 'webkitTransitionEnd'; X.Dom.Event.RenameTo[ 'webkitTransitionEnd' ] = 'transitionend'; +} else +if( window.onotransitionend !== undefined && window.ontransitionend === undefined ){ + if( X.UA.Opera < 12 ){ + X.Dom.Event.Rename[ 'transitionend' ] = 'oTransitionEnd'; + X.Dom.Event.RenameTo[ 'oTransitionEnd' ] = 'transitionend'; + } else { + X.Dom.Event.Rename[ 'transitionend' ] = 'otransitionEnd'; + X.Dom.Event.RenameTo[ 'otransitionEnd' ] = 'transitionend'; + }; +} else +if( window.onmoztransitionend !== undefined && window.ontransitionend === undefined ){ + X.Dom.Event.Rename[ 'transitionend' ] = 'mozTransitionEnd'; + X.Dom.Event.RenameTo[ 'mozTransitionEnd' ] = 'transitionend'; }; + +if( navigator.msPointerEnabled && !navigator.pointerEnabled ){ + X.Dom.Event.Rename[ 'pointerdown' ] = 'MSPointerDown'; + X.Dom.Event.RenameTo[ 'MSPointerDown' ] = 'pointerdown'; + X.Dom.Event.Rename[ 'pointerup' ] = 'MSPointerUp'; + X.Dom.Event.RenameTo[ 'MSPointerUp' ] = 'pointerup'; + X.Dom.Event.Rename[ 'pointermove' ] = 'MSPointerMove'; + X.Dom.Event.RenameTo[ 'MSPointerMove' ] = 'pointermove'; + X.Dom.Event.Rename[ 'pointercancel' ] = 'MSPointerCancel'; + X.Dom.Event.RenameTo[ 'MSPointerCancel' ] = 'pointercancel'; +}; + + + X.Dom.Node.prototype.listen = function( type, arg1, arg2, arg3 /* [ listener || ( context + function ) || function ][ arguments ] */ ){ var elm; diff --git a/0.6.x/js/dom/13_XDomBoxModel.js b/0.6.x/js/dom/13_XDomBoxModel.js index da7df74..855a9b5 100644 --- a/0.6.x/js/dom/13_XDomBoxModel.js +++ b/0.6.x/js/dom/13_XDomBoxModel.js @@ -82,7 +82,7 @@ Node.prototype.width = function(){ console.log( 'xnode.width() : no parent' ); return 0; }; - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); if( !this._root ){ console.log( 'xnode.width() : not belong tree.' ); return 0; @@ -104,7 +104,7 @@ Node.prototype.height = function(){ console.log( 'xnode.height() : no parent' ); return 0; }; - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); if( !this._root ){ console.log( 'xnode.height() : not belong tree.' ); return 0; @@ -126,7 +126,7 @@ Node.prototype.scrollWidth = function(){ console.log( 'xnode.width() : no parent' ); return 0; }; - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); if( !this._root ){ console.log( 'xnode.width() : not belong tree.' ); return 0; @@ -148,7 +148,7 @@ Node.prototype.scrollHeight = function(){ console.log( 'xnode.height() : no parent' ); return 0; }; - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); if( !this._root ){ console.log( 'xnode.height() : not belong tree.' ); return 0; @@ -170,7 +170,7 @@ Node.prototype.scrollLeft = function(){ console.log( 'xnode.scrollLeft() : no parent' ); return 0; }; - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); if( !this._root ){ console.log( 'xnode.scrollLeft() : not belong tree.' ); return 0; @@ -192,7 +192,7 @@ Node.prototype.scrollTop = function(){ console.log( 'xnode.scrollTop() : no parent' ); return 0; }; - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); if( !this._root ){ console.log( 'xnode.scrollTop() : not belong tree.' ); return 0; @@ -222,7 +222,7 @@ Node.prototype.x = function(){ console.log( 'xnode.x() : no parent' ); return 0; }; - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); if( !this._root ){ console.log( 'xnode.x() : not belong tree.' ); return 0; @@ -245,7 +245,7 @@ Node.prototype.y = function(){ console.log( 'xnode.y() : no parent' ); return 0; }; - Node.root._updateTimerID && Node.root._startUpdate(); + Node._body._updateTimerID && Node._body._startUpdate(); if( !this._root ){ console.log( 'xnode.y() : not belong tree.' ); return 0; diff --git a/0.6.x/js/dom/15_XDomStyle.js b/0.6.x/js/dom/15_XDomStyle.js index 2dbaa55..226c898 100644 --- a/0.6.x/js/dom/15_XDomStyle.js +++ b/0.6.x/js/dom/15_XDomStyle.js @@ -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(); diff --git a/0.6.x/js/dom/18_XDomQuery.js b/0.6.x/js/dom/18_XDomQuery.js index 7dc8d9c..e1740fd 100644 --- a/0.6.x/js/dom/18_XDomQuery.js +++ b/0.6.x/js/dom/18_XDomQuery.js @@ -207,7 +207,7 @@ X.Dom.Query._parse = function( query, last ){ // セレクター X.Dom.find = X._shortcut = Node.prototype.find = X.Dom.NodeList.prototype.find = function( queryString ){ var HTML = Node._html, - scope = this.constructor === X.Dom.NodeList && this.length ? this : [ this.constructor === Node ? this : Node.root ], + scope = this.constructor === X.Dom.NodeList && this.length ? this : [ this.constructor === Node ? this : Node._body ], parents = scope, // 探索元の親要素 XNodeList の場合あり 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( ' ' ), ARY_PUSH = Array.prototype.push, diff --git a/0.6.x/js/dom/20_XDomImage.js b/0.6.x/js/dom/20_XDomImage.js index f2209e7..23c890f 100644 --- a/0.6.x/js/dom/20_XDomImage.js +++ b/0.6.x/js/dom/20_XDomImage.js @@ -22,7 +22,7 @@ X.Dom.Image = { position : 'absolute' } ); - Node.root._startUpdate(); + Node._body._startUpdate(); img = xnode._ie4getRawNode ? xnode._ie4getRawNode() : xnode._rawNode; remove = true; } else { diff --git a/0.6.x/js/dom/22_XDomBuilder.js b/0.6.x/js/dom/22_XDomBuilder.js index 9e1d15f..548d735 100644 --- a/0.6.x/js/dom/22_XDomBuilder.js +++ b/0.6.x/js/dom/22_XDomBuilder.js @@ -108,7 +108,7 @@ if( X.UA.Opera7 ){ X.Dom.listenOnce( X.Dom.Event.DOM_PRE_INIT, X.Dom.DOM_W3C ? (function(){ - var r = Node.root, + var r = Node._body, body = r._rawNode, copy, i, l, node, html, elmProgress; @@ -195,17 +195,17 @@ X.Dom.listenOnce( X.Dom.Event.DOM_PRE_INIT, } ) .listenOnce( X.Event.SUCCESS, function( e ){ - var xnodes = Node.root._xnodes = [], t; + var xnodes = Node._body._xnodes = [], t; xnodes.push.apply( xnodes, e.xnodes ); elmProgress.style.width = '100%'; - X.Dom._asyncCreateTree( Node.root, body.childNodes, elmProgress ); + X.Dom._asyncCreateTree( Node._body, body.childNodes, elmProgress ); } ); }) : X.Dom.DOM_IE4 ? (function(){ - var r = Node.root, + var r = Node._body, body = r._rawNode, elmProgress = '_xdom_builder_progress', html; @@ -228,11 +228,11 @@ X.Dom.DOM_IE4 ? ) .listenOnce( X.Event.SUCCESS, function( e ){ - var xnodes = Node.root._xnodes = [], t; + var xnodes = Node._body._xnodes = [], t; xnodes.push.apply( xnodes, e.xnodes ); elmProgress.style.width = '100%'; - X.Dom._asyncCreateTree( Node.root, body.childNodes || body.children, elmProgress ); + X.Dom._asyncCreateTree( Node._body, body.childNodes || body.children, elmProgress ); } ); }) : diff --git a/0.6.x/js/main.js b/0.6.x/js/main.js index ae31769..514de83 100644 --- a/0.6.x/js/main.js +++ b/0.6.x/js/main.js @@ -1,19 +1,19 @@ -root = PageRoot( - Box({ +root = X.UI.PageRoot( + X.UI.Box({ width : '10%', height : '10%', left : 5, top : 1, bgColor : 0x0000ff }), - Box({ + X.UI.Box({ width : 5, height : 5, left : '10%', bottom : '70%', bgColor : 0xff0000 }), - VBox( + X.UI.VBox( { width : '50%', left : '49%', @@ -26,15 +26,15 @@ root = PageRoot( padding : [ 4, 1 ], sizing : 'border' }, - Box({ + X.UI.Box({ width : '50%', height : 2, left : '25%', bgColor : 0x999999 }), - Text( 'Hello, world!', { width : '100%' } ), - Text( '----------------------------', { width : '100%' } ), - text = Text( 'PettanR-team. rrrrrrrrrr', { width : '100%' } ) + X.UI.Text( 'Hello, world!', { width : '100%' } ), + X.UI.Text( '----------------------------', { width : '100%' } ), + text = X.UI.Text( 'PettanR-team. rrrrrrrrrr', { width : '100%' } ) .listen( X.UI.Event.TAP, _onClick ) ) ); diff --git a/0.6.x/js/ui/02_XUI_Attr.js b/0.6.x/js/ui/02_XUI_Attr.js index 788a3f4..44b7762 100644 --- a/0.6.x/js/ui/02_XUI_Attr.js +++ b/0.6.x/js/ui/02_XUI_Attr.js @@ -173,7 +173,7 @@ X.UI.AttrClass = function( opt_supports, opt_attrs ){ // setAttr に書き換え X.UI.attrClassProto = proto; for( p in opt_attrs ){ - _AbstractUINode.prototype.setAttr( p, opt_supports[ p ], opt_attrs[ p ] ); + X.UI._AbstractUINode.prototype.setAttr( p, opt_supports[ p ], opt_attrs[ p ] ); }; X.UI.attrClassProto = null; return klass; diff --git a/0.6.x/js/ui/04_XUI_Event.js b/0.6.x/js/ui/04_XUI_Event.js index 1190ff6..c50ca7f 100644 --- a/0.6.x/js/ui/04_XUI_Event.js +++ b/0.6.x/js/ui/04_XUI_Event.js @@ -1,21 +1,18 @@ - -X.UI.i = X.Dom.Event._LAST_EVENT; - X.UI.Event = { - INIT : ++X.UI.i, - ADDED : ++X.UI.i, - CREATION_COMPLETE : ++X.UI.i, - REMOVED : ++X.UI.i, + INIT : ++X.Dom.Event._LAST_EVENT, + ADDED : ++X.Dom.Event._LAST_EVENT, + CREATION_COMPLETE : ++X.Dom.Event._LAST_EVENT, + REMOVED : ++X.Dom.Event._LAST_EVENT, // http://d.hatena.ne.jp/edvakf/20100205/1265338487 // http://d.hatena.ne.jp/uupaa/20100401/1270097629 - ENTER_VIEW : ++X.UI.i, // 要素が視界に入った - OUT_VIEW : ++X.UI.i, + ENTER_VIEW : ++X.Dom.Event._LAST_EVENT, // 要素が視界に入った + OUT_VIEW : ++X.Dom.Event._LAST_EVENT, - POINTER_OUT : ++X.UI.i, - POINTER_IN : ++X.UI.i, + POINTER_OUT : ++X.Dom.Event._LAST_EVENT, + POINTER_IN : ++X.Dom.Event._LAST_EVENT, // FOCUS // DISABLED @@ -23,135 +20,135 @@ X.UI.Event = { // BASE_FONT_SIZE_CHANGE /* -- Pointing Device Event -- */ - _START_POINTER : X.UI.i + 0.5, + _START_POINTER : X.Dom.Event._LAST_EVENT + 0.5, - CONTEXT_MENU : ++X.UI.i, // rightclick or longtouch or menukey or ctrl + click + CONTEXT_MENU : ++X.Dom.Event._LAST_EVENT, // rightclick or longtouch or menukey or ctrl + click /* -- ここよりあとはノード上をバブルアップ -- */ - _START_BUBLEUP : X.UI.i + 0.5, + _START_BUBLEUP : X.Dom.Event._LAST_EVENT + 0.5, // raw pointing device event - _POINTER_DOWN : ++X.UI.i, - _POINTER_UP : ++X.UI.i, - _POINTER_MOVE : ++X.UI.i, - _POINTER_CANCEL : ++X.UI.i, - _TOUCH_START : ++X.UI.i, - _TOUCH_END : ++X.UI.i, - _TOUCH_MOVE : ++X.UI.i, - _TOUCH_CANCEL : ++X.UI.i, - _MOUSE_DOWN : ++X.UI.i, - _MOUSE_UP : ++X.UI.i, - _MOUSE_MOVE : ++X.UI.i, - _MOUSE_CANCEL : ++X.UI.i, + _POINTER_DOWN : ++X.Dom.Event._LAST_EVENT, + _POINTER_UP : ++X.Dom.Event._LAST_EVENT, + _POINTER_MOVE : ++X.Dom.Event._LAST_EVENT, + _POINTER_CANCEL : ++X.Dom.Event._LAST_EVENT, + _TOUCH_START : ++X.Dom.Event._LAST_EVENT, + _TOUCH_END : ++X.Dom.Event._LAST_EVENT, + _TOUCH_MOVE : ++X.Dom.Event._LAST_EVENT, + _TOUCH_CANCEL : ++X.Dom.Event._LAST_EVENT, + _MOUSE_DOWN : ++X.Dom.Event._LAST_EVENT, + _MOUSE_UP : ++X.Dom.Event._LAST_EVENT, + _MOUSE_MOVE : ++X.Dom.Event._LAST_EVENT, + _MOUSE_CANCEL : ++X.Dom.Event._LAST_EVENT, - FILE_DRAG : ++X.UI.i, - FILE_DRAG_START : ++X.UI.i, - FILE_DRAG_END : ++X.UI.i, - FILE_HOLD : ++X.UI.i, - FILE_HOLD_END : ++X.UI.i, - FILE_DROP_BEFORE : ++X.UI.i, - FILE_DROP : ++X.UI.i, - FILE_DROP_CANCEL : ++X.UI.i, + FILE_DRAG : ++X.Dom.Event._LAST_EVENT, + FILE_DRAG_START : ++X.Dom.Event._LAST_EVENT, + FILE_DRAG_END : ++X.Dom.Event._LAST_EVENT, + FILE_HOLD : ++X.Dom.Event._LAST_EVENT, + FILE_HOLD_END : ++X.Dom.Event._LAST_EVENT, + FILE_DROP_BEFORE : ++X.Dom.Event._LAST_EVENT, + FILE_DROP : ++X.Dom.Event._LAST_EVENT, + FILE_DROP_CANCEL : ++X.Dom.Event._LAST_EVENT, /* -- ここより後は X.UI 用のイベント -- */ - _START_XUI_EVENT : X.UI.i + 0.5, + _START_XUI_EVENT : X.Dom.Event._LAST_EVENT + 0.5, /* -- Mouse & Floating touch(Xperia sola)?? -- */ - HOVER_MOVE : ++X.UI.i, - HOVER_STAY : ++X.UI.i, - HOVER_STAY_END : ++X.UI.i, - WHEEL : ++X.UI.i, + HOVER_MOVE : ++X.Dom.Event._LAST_EVENT, + HOVER_STAY : ++X.Dom.Event._LAST_EVENT, + HOVER_STAY_END : ++X.Dom.Event._LAST_EVENT, + WHEEL : ++X.Dom.Event._LAST_EVENT, /* -- Gesuture Event -- */ - HOLD : ++X.UI.i, - HOLD_END : ++X.UI.i, - TAP : ++X.UI.i, - DOUBLE_TAP : ++X.UI.i, - DRAG : ++X.UI.i, - DRAG_START : ++X.UI.i, - DRAG_END : ++X.UI.i, - DRAG_UP : ++X.UI.i, - DRAG_RIGHT : ++X.UI.i, - DRAG_LEFT : ++X.UI.i, - DRAG_DOWN : ++X.UI.i, - SWIP : ++X.UI.i, - SWIP_UP : ++X.UI.i, - SWIP_RIGHT : ++X.UI.i, - SWIP_LEFT : ++X.UI.i, - SWIP_DOWN : ++X.UI.i, - TRANSFORM : ++X.UI.i, - TRANSFORM_START : ++X.UI.i, - TRANSFORM_END : ++X.UI.i, - PINCH : ++X.UI.i, - PINCH_IN : ++X.UI.i, - PINCH_OUT : ++X.UI.i, - ROTATE : ++X.UI.i, + HOLD : ++X.Dom.Event._LAST_EVENT, + HOLD_END : ++X.Dom.Event._LAST_EVENT, + TAP : ++X.Dom.Event._LAST_EVENT, + DOUBLE_TAP : ++X.Dom.Event._LAST_EVENT, + DRAG : ++X.Dom.Event._LAST_EVENT, + DRAG_START : ++X.Dom.Event._LAST_EVENT, + DRAG_END : ++X.Dom.Event._LAST_EVENT, + DRAG_UP : ++X.Dom.Event._LAST_EVENT, + DRAG_RIGHT : ++X.Dom.Event._LAST_EVENT, + DRAG_LEFT : ++X.Dom.Event._LAST_EVENT, + DRAG_DOWN : ++X.Dom.Event._LAST_EVENT, + SWIP : ++X.Dom.Event._LAST_EVENT, + SWIP_UP : ++X.Dom.Event._LAST_EVENT, + SWIP_RIGHT : ++X.Dom.Event._LAST_EVENT, + SWIP_LEFT : ++X.Dom.Event._LAST_EVENT, + SWIP_DOWN : ++X.Dom.Event._LAST_EVENT, + TRANSFORM : ++X.Dom.Event._LAST_EVENT, + TRANSFORM_START : ++X.Dom.Event._LAST_EVENT, + TRANSFORM_END : ++X.Dom.Event._LAST_EVENT, + PINCH : ++X.Dom.Event._LAST_EVENT, + PINCH_IN : ++X.Dom.Event._LAST_EVENT, + PINCH_OUT : ++X.Dom.Event._LAST_EVENT, + ROTATE : ++X.Dom.Event._LAST_EVENT, - _END_XUI_EVENT : X.UI.i + 0.5, + _END_XUI_EVENT : X.Dom.Event._LAST_EVENT + 0.5, - _END_POINTER : X.UI.i + 0.5, + _END_POINTER : X.Dom.Event._LAST_EVENT + 0.5, /* -- Pointing Device Event -- */ - KEY_DOWN : ++X.UI.i, - KEY_UP : ++X.UI.i, - KEY_HOLD : ++X.UI.i, - KEY_CANCEL : ++X.UI.i, + KEY_DOWN : ++X.Dom.Event._LAST_EVENT, + KEY_UP : ++X.Dom.Event._LAST_EVENT, + KEY_HOLD : ++X.Dom.Event._LAST_EVENT, + KEY_CANCEL : ++X.Dom.Event._LAST_EVENT, - SCROLL_BEFORE_START : ++X.UI.i, // cancelable - SCROLL_START : ++X.UI.i, - SCROLL_BEFORE_MOVE : ++X.UI.i, - SCROLL_MOVE : ++X.UI.i, - SCROLL_END : ++X.UI.i, - SCROLL_REFRESH : ++X.UI.i, - - ANIME_BEFORE_START : ++X.UI.i, - ANIME_START : ++X.UI.i, - ANIME : ++X.UI.i, - ANIME_END : ++X.UI.i, - ANIME_BEFORE_STOP : ++X.UI.i, // before cancel - ANIME_STOP : ++X.UI.i, - - PAGE_BEFORE_SHOW : ++X.UI.i, - PAGE_SHOW : ++X.UI.i, - PAGE_AFTER_SHOW : ++X.UI.i, - PAGE_BEFORE_HIDE : ++X.UI.i, - PAGE_HIDE : ++X.UI.i, - PAGE_AFTER_HIDE : ++X.UI.i, + SCROLL_BEFORE_START : ++X.Dom.Event._LAST_EVENT, // cancelable + SCROLL_START : ++X.Dom.Event._LAST_EVENT, + SCROLL_BEFORE_MOVE : ++X.Dom.Event._LAST_EVENT, + SCROLL_MOVE : ++X.Dom.Event._LAST_EVENT, + SCROLL_END : ++X.Dom.Event._LAST_EVENT, + SCROLL_REFRESH : ++X.Dom.Event._LAST_EVENT, + + ANIME_BEFORE_START : ++X.Dom.Event._LAST_EVENT, + ANIME_START : ++X.Dom.Event._LAST_EVENT, + ANIME : ++X.Dom.Event._LAST_EVENT, + ANIME_END : ++X.Dom.Event._LAST_EVENT, + ANIME_BEFORE_STOP : ++X.Dom.Event._LAST_EVENT, // before cancel + ANIME_STOP : ++X.Dom.Event._LAST_EVENT, + + PAGE_BEFORE_SHOW : ++X.Dom.Event._LAST_EVENT, + PAGE_SHOW : ++X.Dom.Event._LAST_EVENT, + PAGE_AFTER_SHOW : ++X.Dom.Event._LAST_EVENT, + PAGE_BEFORE_HIDE : ++X.Dom.Event._LAST_EVENT, + PAGE_HIDE : ++X.Dom.Event._LAST_EVENT, + PAGE_AFTER_HIDE : ++X.Dom.Event._LAST_EVENT, // X.UI.Form - CHANGE : ++X.UI.i, - SUBMIT : ++X.UI.i, - SELECT : ++X.UI.i, // click or tap or enterkey + CHANGE : ++X.Dom.Event._LAST_EVENT, + SUBMIT : ++X.Dom.Event._LAST_EVENT, + SELECT : ++X.Dom.Event._LAST_EVENT, // click or tap or enterkey IdToName : {}, NameToID : {} }; -delete X.UI.i; - // raw pointing device event -if( navigator.msPointerEnabled || navigator.pointerEnabled ){ - X.UI.Event.IdToName[ X.UI.Event._POINTER_DOWN ] = navigator.msPointerEnabled ? 'MSPointerDown' : 'pointerdown'; - X.UI.Event.IdToName[ X.UI.Event._POINTER_UP ] = navigator.msPointerEnabled ? 'MSPointerUp' : 'pointerup'; - X.UI.Event.IdToName[ X.UI.Event._POINTER_MOVE ] = navigator.msPointerEnabled ? 'MSPointerMove' : 'pointermove'; - X.UI.Event.IdToName[ X.UI.Event._POINTER_CANCEL ] = navigator.msPointerEnabled ? 'MSPointerCancel' : 'pointercancel'; -};// else -//if( window.ontouchstart !== void 0 /* || window.DocumentTouch && document instanceof DocumentTouch */ ){ - X.UI.Event.IdToName[ X.UI.Event._TOUCH_START ] = 'touchstart'; - X.UI.Event.IdToName[ X.UI.Event._TOUCH_END ] = 'touchend'; - X.UI.Event.IdToName[ X.UI.Event._TOUCH_MOVE ] = 'touchmove'; - X.UI.Event.IdToName[ X.UI.Event._TOUCH_CANCEL ] = 'touchcancel'; -//} else { - // ToDo: cancel +if( X.Dom.EVENT_POINTER ){ + X.UI.Event.IdToName[ X.UI.Event._POINTER_DOWN ] = 'pointerdown'; + X.UI.Event.IdToName[ X.UI.Event._POINTER_UP ] = 'pointerup'; + X.UI.Event.IdToName[ X.UI.Event._POINTER_MOVE ] = 'pointermove'; + X.UI.Event.IdToName[ X.UI.Event._POINTER_CANCEL ] = 'pointercancel'; +} else { + + if( X.Dom.EVENT_TOUCH ){ + X.UI.Event.IdToName[ X.UI.Event._TOUCH_START ] = 'touchstart'; + X.UI.Event.IdToName[ X.UI.Event._TOUCH_END ] = 'touchend'; + X.UI.Event.IdToName[ X.UI.Event._TOUCH_MOVE ] = 'touchmove'; + X.UI.Event.IdToName[ X.UI.Event._TOUCH_CANCEL ] = 'touchcancel'; + }; + X.UI.Event.IdToName[ X.UI.Event._MOUSE_DOWN ] = 'mousedown'; X.UI.Event.IdToName[ X.UI.Event._MOUSE_UP ] = 'mouseup'; X.UI.Event.IdToName[ X.UI.Event._MOUSE_MOVE ] = 'mousemove'; X.UI.Event.IdToName[ X.UI.Event._MOUSE_CANCEL ] = 'mouseleave'; // ?? -//}; +}; + -( function( IdToName, NameToID ){ - for( var id in IdToName ){ - NameToID[ IdToName[ id ] ] = id; +( function( IdToName, NameToID, p ){ + for( p in IdToName ){ + NameToID[ IdToName[ p ] ] = p; }; })( X.UI.Event.IdToName, X.UI.Event.NameToID ); diff --git a/0.6.x/js/ui/05_XUI_Gesture.js b/0.6.x/js/ui/05_XUI_Gesture.js index f8dab24..bf89d47 100644 --- a/0.6.x/js/ui/05_XUI_Gesture.js +++ b/0.6.x/js/ui/05_XUI_Gesture.js @@ -258,11 +258,11 @@ Detection.register( Gestures[ name ] ); }; - if( navigator.pointerEnabled || navigator.msPointerEnabled ){ + if( X.Dom.EVENT_POINTER ){ Hammer.EVENT_TYPES_START = [ X.UI.Event._POINTER_DOWN ]; types = [ X.UI.Event._POINTER_MOVE, X.UI.Event._POINTER_UP, X.UI.Event._POINTER_CANCEL ]; } else - if( window.ontouchstart !== void 0 ){ + if( X.Dom.EVENT_TOUCH ){ Hammer.EVENT_TYPES_START = [ X.UI.Event._TOUCH_START ]; types = [ X.UI.Event._TOUCH_MOVE, X.UI.Event._MOUSE_MOVE, X.UI.Event._TOUCH_END, X.UI.Event._TOUCH_CANCEL ]; } else { diff --git a/0.6.x/js/ui/06_AbstractUINode.js b/0.6.x/js/ui/06_AbstractUINode.js index 73d9c4b..7ca7eb7 100644 --- a/0.6.x/js/ui/06_AbstractUINode.js +++ b/0.6.x/js/ui/06_AbstractUINode.js @@ -1,5 +1,5 @@ -var _AbstractUINode = X.EventDispatcher.inherits( - '_AbstractUINode', +X.UI._AbstractUINode = X.EventDispatcher.inherits( + 'X.UI._AbstractUINode', X.Class.ABSTRACT | X.Class.PRIVATE_DATA, { phase : 0, @@ -420,8 +420,8 @@ var _AbstractUINode = X.EventDispatcher.inherits( this.xnode .css( 'left', x ? x + 'em' : 0 ) .css( 'top', y ? y + 'em' : 0 ) - .css( 'width', this.contentWidth ? _AbstractUINode.ceil( this.contentWidth ) + 'em' : 0 ) - .css( 'height', this.contentHeight ? _AbstractUINode.ceil( this.contentHeight ) + 'em' : 0 ) + .css( 'width', this.contentWidth ? X.UI._AbstractUINode.ceil( this.contentWidth ) + 'em' : 0 ) + .css( 'height', this.contentHeight ? X.UI._AbstractUINode.ceil( this.contentHeight ) + 'em' : 0 ) .css( 'padding', this._createCssText( 'padding' ) ) .css( 'borderWidth', this._createCssText( 'borderWidth' ) ); }, @@ -431,7 +431,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( */ preMesure : function( allowedW, allowedH ){ var attrs = this.attrObject || this.attrClass.prototype || X.UI.AttrClass, - calc = _AbstractUINode.calcValue, + calc = X.UI._AbstractUINode.calcValue, box = attrs[ X.UI.Attr.Support.sizing.No ], min, max, boxL, boxT, boxR, boxB, @@ -462,7 +462,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( if( this.constraintW ){ // 制約レイアウト contentW = allowedW - ( boxL = calc( attrs[ X.UI.Attr.Support.left.No ], allowedW ) ) - ( boxR = calc( attrs[ X.UI.Attr.Support.right.No ], allowedW ) ); } else { - 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 ); + 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 ); }; this.contentWidth = contentW + boxMinus; this.scrollWidth = this.contentWidth + this.contentL + this.contentR; @@ -504,7 +504,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( if( this.constraintH ){ // 制約レイアウト contentH = allowedH - ( boxT = calc( attrs[ X.UI.Attr.Support.top.No ], allowedH ) ) - ( boxB = calc( attrs[ X.UI.Attr.Support.bottom.No ], allowedH ) ); } else { - 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 ); + 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 ); }; this.contentHeight = contentH + boxMinus; this.scrollHeight = this.contentHeight + this.contentT + this.contentB; @@ -609,7 +609,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( if( w - this.boxSizingOffsetLR < this.minContentWidth ) this.contentWidth = this.minContentWidth + this.boxSizingOffsetLR; this.lastContentWidth = this.contentWidth; - w !== this.contentWidth && xnode.css( 'width', _AbstractUINode.ceil( this.contentWidth ) + 'em' ); + w !== this.contentWidth && xnode.css( 'width', X.UI._AbstractUINode.ceil( this.contentWidth ) + 'em' ); if( h === X.UI.Attr.AUTO ){ this.contentHeight = h = xnode.css( 'height', 'auto' ).scrollHeight() / xnode._getCharSize(); // scrollHeight() ?? @@ -624,7 +624,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( } else if( h === X.UI.Attr.AUTO ){ if( w !== this.lastContentWidth ){ - xnode.css( 'width', _AbstractUINode.ceil( w ) + 'em' ); + xnode.css( 'width', X.UI._AbstractUINode.ceil( w ) + 'em' ); this.lastContentWidth = w; this.contentHeight = h = xnode.css( 'height', 'auto' ).scrollHeight() / xnode._getCharSize(); @@ -667,7 +667,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( */ postMesure : function(){ var attrs = this.attrObject || this.attrClass.prototype || X.UI.AttrClass, - calc = _AbstractUINode.calcValue, + calc = X.UI._AbstractUINode.calcValue, box = attrs[ X.UI.Attr.Support.sizing.No ], contentW, contentH, contentPlus, @@ -775,7 +775,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( ++counter[ type ]; } else { counter[ type ] = 1; - root.xnodeInteractiveLayer.listen( X.UI.Event.IdToName[ type ], eventRellay ); + root.xnodeInteractiveLayer.listen( X.UI.Event.IdToName[ type ], X.UI._eventRellay ); }; }; }; @@ -807,7 +807,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( if( !counter[ type ] ) return this; --counter[ type ]; if( counter[ type ] === 0 ){ - root.xnodeInteractiveLayer.unlisten( X.UI.Event.IdToName[ type ], eventRellay ); + root.xnodeInteractiveLayer.unlisten( X.UI.Event.IdToName[ type ], X.UI._eventRellay ); delete counter[ type ]; }; }; @@ -834,7 +834,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( } ); -_AbstractUINode.calcValue = function( styleValue, srcValue ){ +X.UI._AbstractUINode.calcValue = function( styleValue, srcValue ){ /* * String の場合は必ず % */ @@ -845,21 +845,21 @@ _AbstractUINode.calcValue = function( styleValue, srcValue ){ return styleValue; }; -_AbstractUINode.finalValue = function( styleValue, styleMin, styleMax, srcValue ){ - var calc = _AbstractUINode.calcValue, +X.UI._AbstractUINode.finalValue = function( styleValue, styleMin, styleMax, srcValue ){ + var calc = X.UI._AbstractUINode.calcValue, v = calc( styleValue, srcValue ), min = calc( styleMin, srcValue ), max = calc( styleMax, srcValue ); return v <= min ? min : max <= v ? max : v; }; -_AbstractUINode.ceil = function( v ){ +X.UI._AbstractUINode.ceil = function( v ){ if( 0 <= v ){ return ( v * 10 + 0.999 | 0 ) / 10; }; return ( -v * 10 + 0.999 | 0 ) / -10; }; -var AbstractUINode = X.Class.create( +X.UI.AbstractUINode = X.Class.create( 'AbstractUINode', X.Class.ABSTRACT | X.Class.SUPER_ACCESS, { diff --git a/0.6.x/js/ui/08_Box.js b/0.6.x/js/ui/08_Box.js index cdd5433..d089886 100644 --- a/0.6.x/js/ui/08_Box.js +++ b/0.6.x/js/ui/08_Box.js @@ -47,8 +47,8 @@ X.UI.Layout.Canvas = X.UI.Layout.create( { }); -var _Box = _AbstractUINode.inherits( - '_Box', +X.UI._Box = X.UI._AbstractUINode.inherits( + 'X.UI._Box', X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS, // 現状 super 指定がないとconstructor未定擬時に親のconstructor が使われない { layout : null, @@ -68,7 +68,7 @@ var _Box = _AbstractUINode.inherits( j = -1, uinodes, arg, _data, attrs, support; - if( !this.User.instanceOf( Box ) ){ + if( !this.User.instanceOf( X.UI.Box ) ){ //throw new Error( 'Box を継承したインスタンスだけが _Box のオーナーになれます' ); }; @@ -80,7 +80,7 @@ var _Box = _AbstractUINode.inherits( for( ; i < l; ++i ){ arg = args[ i ]; - if( arg.instanceOf && arg.instanceOf( AbstractUINode ) ){ + if( arg.instanceOf && arg.instanceOf( X.UI.AbstractUINode ) ){ _data = X.Class._getPrivate( arg ); if( !uinodes ) this.uinodes = uinodes = []; uinodes[ ++j ] = _data; @@ -153,7 +153,7 @@ var _Box = _AbstractUINode.inherits( }; }; - _AbstractUINode.prototype.creationComplete.apply( this, arguments ); + X.UI._AbstractUINode.prototype.creationComplete.apply( this, arguments ); }, calculate : function( isNeedsDetection, x, y, w, h ){ @@ -274,10 +274,10 @@ var _Box = _AbstractUINode.inherits( } ); -var Box = AbstractUINode.inherits( +X.UI.Box = X.UI.AbstractUINode.inherits( 'Box', X.Class.SUPER_ACCESS, - _Box, + X.UI._Box, { Constructor : function(){ X.Class._newPrivate( this, X.UI.Layout.Canvas, arguments ); @@ -334,7 +334,7 @@ var Box = AbstractUINode.inherits( * layout が設定されている Box のサブクラスに対して、layout を指定できない. * */ -Box.presets = function(){ +X.UI.Box.presets = function(){ var args = arguments, i = 0, l = args.length, @@ -386,7 +386,7 @@ Box.presets = function(){ ); }; - klass.presets = this.presets || Box.presets; + klass.presets = this.presets || X.UI.Box.presets; return klass; }; diff --git a/0.6.x/js/ui/11_VBox.js b/0.6.x/js/ui/11_VBox.js index 8a7fd98..35b574a 100644 --- a/0.6.x/js/ui/11_VBox.js +++ b/0.6.x/js/ui/11_VBox.js @@ -32,9 +32,9 @@ X.UI.Layout.Vertical = X.UI.Layout.create( { autoW = contentW === X.UI.Attr.AUTO; autoH = contentH === X.UI.Attr.AUTO; detectionPhase = autoW || autoH; - gapY = _AbstractUINode.calcValue( attrs[ data.supportAttrs.gapY.No ], contentH ); - childW = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW ); - childH = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH ); + gapY = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.gapY.No ], contentH ); + childW = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW ); + childH = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH ); _x = data.contentL; _y = data.contentT; @@ -70,7 +70,7 @@ X.UI.Layout.Vertical = X.UI.Layout.create( { } }); -var VBox = Box.presets( +X.UI.VBox = X.UI.Box.presets( X.UI.Layout.Vertical, 'VBox', { diff --git a/0.6.x/js/ui/12_HBox.js b/0.6.x/js/ui/12_HBox.js index 0ce6781..b57507a 100644 --- a/0.6.x/js/ui/12_HBox.js +++ b/0.6.x/js/ui/12_HBox.js @@ -33,9 +33,9 @@ X.UI.Layout.Horizontal = X.UI.Layout.create( { detectionPhase = autoW || autoH; _x = data.contentL; _y = data.contentT; - childW = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW ); - childH = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH ); - gapX = _AbstractUINode.calcValue( attrs[ data.supportAttrs.gapX.No ], contentW ); + childW = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW ); + childH = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH ); + gapX = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.gapX.No ], contentW ); if( l ){ _h = 0; @@ -68,7 +68,7 @@ X.UI.Layout.Horizontal = X.UI.Layout.create( { } }); -var HBox = Box.presets( +X.UI.HBox = X.UI.Box.presets( X.UI.Layout.Horizontal, 'HBox', { diff --git a/0.6.x/js/ui/13_TileBox.js b/0.6.x/js/ui/13_TileBox.js index 8ff5499..d118565 100644 --- a/0.6.x/js/ui/13_TileBox.js +++ b/0.6.x/js/ui/13_TileBox.js @@ -35,10 +35,10 @@ X.UI.Layout.Tile = X.UI.Layout.create( { _x = data.contentL; _y = data.contentT; _w = data.contentWidth; - gapX = _AbstractUINode.calcValue( attrs[ data.supportAttrs.gapX.No ], contentW ); - gapY = _AbstractUINode.calcValue( attrs[ data.supportAttrs.gapY.No ], contentH ); - childW = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW ); - childH = _AbstractUINode.calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH ); + gapX = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.gapX.No ], contentW ); + gapY = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.gapY.No ], contentH ); + childW = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.childWidth.No ], contentW ); + childH = X.UI._AbstractUINode.calcValue( attrs[ data.supportAttrs.childHeight.No ], contentH ); numH = X.UI.Attr.FLOOR( ( _w + gapX ) / ( childW + gapX ) ); numV = l % numH ? X.UI.Attr.FLOOR( l / numH ) + 1 : l / numH; _h = _y + data.contentB + ( childH + gapY ) * numH - gapY; @@ -73,7 +73,7 @@ X.UI.Layout.Tile = X.UI.Layout.create( { } }); -var TileBox = Box.presets( +X.UI.TileBox = X.UI.Box.presets( 'TileBox', X.UI.Layout.Tile, { diff --git a/0.6.x/js/ui/14_ChromeBox.js b/0.6.x/js/ui/14_ChromeBox.js index 6dd03f1..2db78ee 100644 --- a/0.6.x/js/ui/14_ChromeBox.js +++ b/0.6.x/js/ui/14_ChromeBox.js @@ -1,4 +1,4 @@ -var _ChromeBox = _Box.inherits( +X.UI._ChromeBox = X.UI._Box.inherits( '_ChromeBox', X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS, { @@ -32,10 +32,10 @@ var _ChromeBox = _Box.inherits( } ); -var ChromeBox = Box.inherits( +X.UI.ChromeBox = X.UI.Box.inherits( 'ChromeBox', X.Class.SUPER_ACCESS, - _ChromeBox, + X.UI._ChromeBox, { Constructor : function(){ X.Class._newPrivate( this, X.UI.Layout.Canvas, arguments ); diff --git a/0.6.x/js/ui/15_ScrollBox.js b/0.6.x/js/ui/15_ScrollBox.js index 1b9fb48..e97ddf9 100644 --- a/0.6.x/js/ui/15_ScrollBox.js +++ b/0.6.x/js/ui/15_ScrollBox.js @@ -1,4 +1,3 @@ -var _ScrollBox; (function(){ @@ -904,7 +903,7 @@ iScroll.prototype = { -_ScrollBox = _ChromeBox.inherits( +X.UI._ScrollBox = X.UI._ChromeBox.inherits( '_ScrollBox', X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS, { @@ -927,13 +926,13 @@ _ScrollBox = _ChromeBox.inherits( }, creationComplete : function(){ - _AbstractUINode.prototype.creationComplete.call( this, arguments ); + X.UI._AbstractUINode.prototype.creationComplete.call( this, arguments ); this.scrollManager = new iScroll( this.root, this.User, this.rawElement, this._containerNode.rawElement ); this._check(); }, calculate : function(){ - _AbstractUINode.prototype.calculate.call( this, arguments ); + X.UI._AbstractUINode.prototype.calculate.call( this, arguments ); this._check(); }, @@ -986,7 +985,7 @@ _ScrollBox = _ChromeBox.inherits( }, _remove : function(){ - _AbstractUINode.prototype._remove.call( this, arguments ); + X.UI._AbstractUINode.prototype._remove.call( this, arguments ); if( this.scrolling ){ // remove scroll }; @@ -997,10 +996,10 @@ _ScrollBox = _ChromeBox.inherits( })(); -var ScrollBox = ChromeBox.inherits( +X.UI.ScrollBox = X.UI.ChromeBox.inherits( 'ScrollBox', X.Class.SUPER_ACCESS, - _ScrollBox, + X.UI._ScrollBox, { Constructor : function(){ var args = [], diff --git a/0.6.x/js/ui/17_Text.js b/0.6.x/js/ui/17_Text.js index 58c6a02..10624d7 100644 --- a/0.6.x/js/ui/17_Text.js +++ b/0.6.x/js/ui/17_Text.js @@ -1,4 +1,4 @@ -var _Text = _AbstractUINode.inherits( +X.UI._Text = X.UI._AbstractUINode.inherits( '_Text', X.Class.PRIVATE_DATA, { @@ -19,10 +19,10 @@ var _Text = _AbstractUINode.inherits( } ); -var Text = AbstractUINode.inherits( +X.UI.Text = X.UI.AbstractUINode.inherits( 'Text', X.Class.SUPER_ACCESS, - _Text, + X.UI._Text, { Constructor : function( opt_content, opt_cssObj ){ X.Class._newPrivate( this, opt_content ); diff --git a/0.6.x/js/ui/20_PageRoot.js b/0.6.x/js/ui/20_PageRoot.js index a1821dd..11fe1df 100644 --- a/0.6.x/js/ui/20_PageRoot.js +++ b/0.6.x/js/ui/20_PageRoot.js @@ -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%' } -- 2.11.0