this.rootData = rootData;\r
this.parent = parent;\r
this.parentData = parentData;\r
- //this.xnode = X.Dom.Node.create( 'div' );\r
+ //this.xnode = X_Doc_create( 'div' );\r
this.phase = 1;\r
\r
this.dispatch( X.UI.Event.INIT );\r
quartet = !!( type & X.UI.Attr.Type.QUARTET ),\r
_v, i, l, nodes, root, roots;\r
\r
- if( X.Type.isString( v ) ){\r
+ if( X_Type_isString( v ) ){\r
//v = v.toLowercase();\r
if( url || fontName ){\r
// good\r
if( v.indexOf( ' ' ) !== -1 ){\r
v = v.split( ' ' );\r
} else\r
- if( color && X.Type.isNumber( _v = X.Dom.Style.parseColor( v ) ) ){\r
+ if( color && X_Type_isNumber( _v = X_Node_CSS_objToIEFilterText( v ) ) ){\r
v = _v;\r
} else {\r
// bad\r
};\r
};\r
\r
- if( ( quartet || combi ) && !X.Type.isArray( v ) ){\r
+ if( ( quartet || combi ) && !X_Type_isArray( v ) ){\r
v = [ v ];\r
};\r
\r
- if( X.Type.isNumber( v ) ){\r
+ if( X_Type_isNumber( v ) ){\r
if( \r
( length && ( 0 <= v ) ) ||\r
( minusLen && ( v <= 0 ) ) ||\r
return;\r
};\r
} else\r
- if( X.Type.isBoolean( v ) && !flag ){\r
+ if( X_Type_isBoolean( v ) && !flag ){\r
return;\r
} else\r
- if( X.Type.isArray( v ) ){\r
+ if( X_Type_isArray( v ) ){\r
if( v.length <= 4 && quartet ){\r
type &= ~X.UI.Attr.Type.QUARTET;\r
switch( v.length ){\r
break;\r
case X.UI.Attr.Support.width.No :\r
this.autoWidth = v === X.UI.Attr.AUTO;\r
- this.percentWidth = X.Type.isString( v );\r
+ this.percentWidth = X_Type_isString( v );\r
break;\r
case X.UI.Attr.Support.height.No :\r
this.autoHeight = v === X.UI.Attr.AUTO;\r
- this.percentHeight = X.Type.isString( v );\r
+ this.percentHeight = X_Type_isString( v );\r
break;\r
};\r
\r
url = !!( type & X.UI.Attr.Type.URL ),\r
fontName = !!( type & X.UI.Attr.Type.FONT_NAME );\r
\r
- if( X.Type.isNumber( v ) ){\r
+ if( X_Type_isNumber( v ) ){\r
if( auto && v === X.UI.Attr.AUTO ) return 'auto';\r
if( length || minusLen ) return v + 'em';\r
if( numerical ) return v;\r
return '#' + v.toString( 16 );\r
};\r
};\r
- if( X.Type.isString( v ) ){\r
+ if( X_Type_isString( v ) ){\r
if( percent || minusPct || url || fontName ) return v;\r
};\r
},\r
list = support[ 4 ];\r
if( list ) return list[ v ];\r
\r
- if( type & X.UI.Attr.Type.COLOR && X.Type.isNumber( v ) ) return v;\r
- if( !( type & X.UI.Attr.Type.NUMERICAL ) && X.Type.isNumber( v ) ) return v + 'em';\r
+ if( type & X.UI.Attr.Type.COLOR && X_Type_isNumber( v ) ) return v;\r
+ if( !( type & X.UI.Attr.Type.NUMERICAL ) && X_Type_isNumber( v ) ) return v + 'em';\r
return v;\r
},\r
\r
},\r
\r
/**\r
- * X.Dom.BoxModel の情報を引きながら top,left,width,height,padding,border の設定\r
+ * X_Node_BoxModel の情報を引きながら top,left,width,height,padding,border の設定\r
*/\r
updateLayout : function( x, y ){\r
this.boxX = x;\r
this.xnode\r
.css( 'left', x ? x + 'em' : 0 )\r
.css( 'top', y ? y + 'em' : 0 )\r
- .css( 'width', this.contentWidth ? X.UI._AbstractUINode.ceil( this.contentWidth ) + '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
if( xnode._xnodes && xnode._xnodes.length ){\r
if( w === X.UI.Attr.AUTO ){\r
- w = this.contentWidth = xnode.css( 'width', 'auto' ).width() / xnode._getCharSize();\r
- //console.log( xnode.width() + ' ' + xnode._getCharSize() + ' > ' + w );\r
+ w = this.contentWidth = xnode.css( 'width', 'auto' ).width() / X_Node_CSS_getCharSize( xnode );\r
\r
this.scrollWidth = w + this.contentL + this.contentR;\r
if( this.maxContentWidth < w - this.boxSizingOffsetLR ) this.contentWidth = this.maxContentWidth + this.boxSizingOffsetLR;\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
+ this.contentHeight = h = xnode.css( 'height', 'auto' ).scrollHeight() / X_Node_CSS_getCharSize( xnode ); // scrollHeight() ??\r
this.scrollHeight = h + this.contentT + this.contentB;\r
if( this.maxContentHeight < h - this.boxSizingOffsetTB ) this.contentHeight = this.maxContentHeight + this.boxSizingOffsetTB;\r
if( h - this.boxSizingOffsetTB < this.minContentHeight ) this.contentHeight = this.minContentHeight + this.boxSizingOffsetTB;\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
+ this.contentHeight = h = xnode.css( 'height', 'auto' ).scrollHeight() / X_Node_CSS_getCharSize( xnode );\r
this.scrollWidth = w + this.contentL + this.contentR;\r
this.scrollHeight = h + this.contentT + this.contentB;\r
if( this.maxContentHeight < h - this.boxSizingOffsetTB ) this.contentHeight = this.maxContentHeight + this.boxSizingOffsetTB;\r
if( h - this.boxSizingOffsetTB < this.minContentHeight ) this.contentHeight = this.minContentHeight + this.boxSizingOffsetTB; \r
} else {\r
this.contentHeight = this.lastContentHeight = h =\r
- this.lastContentHeight === -1 ? xnode.css( 'height', 'auto' ).scrollHeight() / xnode._getCharSize() : this.lastContentHeight;\r
+ this.lastContentHeight === -1 ? xnode.css( 'height', 'auto' ).scrollHeight() / X_Node_CSS_getCharSize( xnode ) : this.lastContentHeight;\r
this.scrollWidth = w + this.contentL + this.contentR;\r
this.scrollHeight = h + this.contentT + this.contentB;\r
};\r
} else\r
if( dirty !== X.UI.Dirty.LAYOUT ){\r
this.contentWidth = this.lastContentWidth = w; //xnode.width();\r
- this.contentHeight = this.lastContentHeight = xnode.css( 'height', 'auto' ).scrollHeight() / xnode._getCharSize();\r
+ this.contentHeight = this.lastContentHeight = xnode.css( 'height', 'auto' ).scrollHeight() / X_Node_CSS_getCharSize( xnode );\r
this.scrollWidth = this.contentWidth + this.contentL + this.contentR;\r
this.scrollHeight = this.contentHeight + this.contentT + this.contentB;\r
} else {\r
++counter[ type ];\r
} else {\r
counter[ type ] = 1; \r
- root.xnodeInteractiveLayer.listen( X.UI.Event.IdToName[ type ], X.UI._eventRellay );\r
+ root.xnodeInteractiveLayer.listen( X.UI.Event.IdToName[ type ], X_UI_eventRellay );\r
};\r
};\r
};\r
if( !counter[ type ] ) return this;\r
--counter[ type ];\r
if( counter[ type ] === 0 ){\r
- root.xnodeInteractiveLayer.unlisten( X.UI.Event.IdToName[ type ], X.UI._eventRellay );\r
+ root.xnodeInteractiveLayer.unlisten( X.UI.Event.IdToName[ type ], X_UI_eventRellay );\r
delete counter[ type ];\r
};\r
};\r
/*\r
* String の場合は必ず %\r
*/ \r
- if( X.Type.isString( styleValue ) ){\r
+ if( X_Type_isString( styleValue ) ){\r
return srcValue * parseFloat( styleValue ) / 100;\r
};\r
- if( !X.Type.isNumber( styleValue ) ) return 0;\r
+ if( !X_Type_isNumber( styleValue ) ) return 0;\r
return styleValue;\r
};\r
\r
X.Class.ABSTRACT | X.Class.SUPER_ACCESS,\r
{\r
parent : function(){\r
- return X.Class._getPrivate( this ).parent;\r
+ return X_Class_getPrivate( this ).parent;\r
},\r
root : function(){\r
- return X.Class._getPrivate( this ).root;\r
+ return X_Class_getPrivate( this ).root;\r
},\r
\r
/*\r
* サポートされていない場合は無視される.親のレイアウトによって変わる\r
*/\r
attr : function( nameOrObject, valueOrUnit ){\r
- var p = X.Class._getPrivate( this ),\r
+ var p = X_Class_getPrivate( this ),\r
layout, k, def, attrs, v;\r
- if( nameOrObject && X.Type.isObject( nameOrObject ) ){\r
+ if( nameOrObject && X_Type_isObject( nameOrObject ) ){\r
// setter\r
layout = p.parentData && p.parentData.layout.overrideAttrsForChild; // root には parent がない\r
for( k in nameOrObject ){\r
+ if( X_EMPTY_OBJECT[ k ] ) continue;\r
// 親のレイアウトマネージャの許可しない\r
if( layout && !layout[ k ] ){\r
continue;\r
};\r
};\r
} else\r
- if( X.Type.isString( nameOrObject ) ){\r
+ if( X_Type_isString( nameOrObject ) ){\r
if( valueOrUnit !== undefined ){\r
if( 'em,%'.indexOf( valueOrUnit ) === -1 ){\r
// setter\r
},\r
\r
listen : function( type, arg1, arg2, arg3 ){\r
- X.Class._getPrivate( this ).listen( type, arg1, arg2, arg3 );\r
+ X_Class_getPrivate( this ).listen( type, arg1, arg2, arg3 );\r
return this;\r
},\r
listenOnce : function( type, arg1, arg2, arg3 ){\r
- X.Class._getPrivate( this ).listenOnce( type, arg1, arg2, arg3 );\r
+ X_Class_getPrivate( this ).listenOnce( type, arg1, arg2, arg3 );\r
return this;\r
},\r
listening : function( type, arg1, arg2, arg3 ){\r
- return X.Class._getPrivate( this ).listening( type, arg1, arg2, arg3 );\r
+ return X_Class_getPrivate( this ).listening( type, arg1, arg2, arg3 );\r
},\r
unlisten : function( type, arg1, arg2, arg3 ){\r
- X.Class._getPrivate( this ).unlisten( type, arg1, arg2, arg3 );\r
+ X_Class_getPrivate( this ).unlisten( type, arg1, arg2, arg3 );\r
return this;\r
},\r
dispatch : function( e ){\r
- return X.Class._getPrivate( this ).dispatch( e );\r
+ return X_Class_getPrivate( this ).dispatch( e );\r
},\r
\r
getNextNode : function(){\r
\r
},\r
nodeIndex : function( v ){\r
- var data = X.Class._getPrivate( this );\r
+ var data = X_Class_getPrivate( this );\r
if( typeof v === 'number' ){\r
// data.nodeIndex( v );\r
return this;\r
},\r
getX : function(){\r
// dirty の場合、rootData.calculate\r
- return X.Class._getPrivate( this ).boxX;\r
+ return X_Class_getPrivate( this ).boxX;\r
},\r
getY : function(){\r
// dirty の場合、rootData.calculate\r
- return X.Class._getPrivate( this ).boxY;\r
+ return X_Class_getPrivate( this ).boxY;\r
},\r
getAbsoluteX : function(){\r
// dirty の場合、rootData.calculate\r
- return X.Class._getPrivate( this ).absoluteX;\r
+ return X_Class_getPrivate( this ).absoluteX;\r
},\r
getAbsoluteY: function(){\r
// dirty の場合、rootData.calculate\r
- return X.Class._getPrivate( this ).absoluteY;\r
+ return X_Class_getPrivate( this ).absoluteY;\r
},\r
getWidth : function(){\r
// dirty の場合、rootData.calculate\r
- return X.Class._getPrivate( this ).boxWidth;\r
+ return X_Class_getPrivate( this ).boxWidth;\r
},\r
getHeight : function(){\r
// dirty の場合、rootData.calculate\r
- return X.Class._getPrivate( this ).boxHeight;\r
+ return X_Class_getPrivate( this ).boxHeight;\r
},\r
scrollTo : function( x, y ){\r
- X.Class._getPrivate( this ).scrollTo( x, y );\r
+ X_Class_getPrivate( this ).scrollTo( x, y );\r
},\r
getScrollX : function( v ){\r
// dirty の場合、rootData.calculate\r
- return X.Class._getPrivate( this ).scrollX( v );\r
+ return X_Class_getPrivate( this ).scrollX( v );\r
},\r
getScrollY : function( v ){\r
// dirty の場合、rootData.calculate\r
- return X.Class._getPrivate( this ).scrollY( v );\r
+ return X_Class_getPrivate( this ).scrollY( v );\r
},\r
disabled : function( v ){\r
- return X.Class._getPrivate( this ).disabled( v );\r
+ return X_Class_getPrivate( this ).disabled( v );\r
},\r
cursor : function( v ){\r
- return X.Class._getPrivate( this ).cursor( v );\r
+ return X_Class_getPrivate( this ).cursor( v );\r
}\r
}\r
);\r