\r
var XUI_Box = XUI_AbstractUINode.inherits(\r
'X.UI._Box',\r
- X_Class.PRIVATE_DATA, // 現状 super 指定がないとconstructor未定擬時に親のconstructor が使われない\r
+ X_Class.NONE,\r
{\r
supportAttrs : XUI_Attr_createAttrDef( XUI_AbstractUINode.prototype.supportAttrs, XUI_Layout_Canvas.overrideAttrsForSelf ),\r
\r
scrollingX : 0, // TODO 現在のスクロール位置\r
scrollingY : 0, // TODO \r
\r
- Constructor : function( layout, args ){\r
+ Constructor : function( user, layout, args ){\r
var i = 0,\r
l = args.length || 1,\r
j = -1,\r
\r
//if( !args.length ) args = [ args ];\r
\r
- if( !this.User[ 'instanceOf' ]( X.UI.Box ) ){\r
+ if( !user[ 'instanceOf' ]( X.UI.Box ) ){\r
//throw new Error( 'Box を継承したインスタンスだけが _Box のオーナーになれます' );\r
}; \r
\r
+ this.User = user;\r
+ \r
this.xnode = X_Doc_create( 'div' );\r
\r
// すでに定義されていればそちらを採用\r
for( ; i < l; ++i ){\r
arg = args[ i ];\r
if( arg[ 'instanceOf' ] && arg[ 'instanceOf' ]( X.UI.AbstractUINode ) ){\r
- _data = X_Class_getPrivate( arg );\r
+ _data = X_Pair_get( arg );\r
if( !uinodes ) this.uinodes = uinodes = [];\r
uinodes[ ++j ] = _data;\r
if( _data.parent ){\r
\r
//console.log( '### AddAt ' + this.phase )\r
for( l = _uinodes.length; i < l; ++i ){\r
- data = X_Class_getPrivate( _uinodes[ i ] );\r
+ data = X_Pair_get( _uinodes[ i ] );\r
_p1 = p1 && data.phase < 1;\r
_p2 = p2 && data.phase < 2;\r
_p1 && data.initialize( this.root, this.rootData, this.User, this );\r
\r
//console.log( '### AddAt ' + this.phase )\r
for( ; i; ){\r
- data = X_Class_getPrivate( _uinodes[ --i ] );\r
+ data = X_Pair_get( _uinodes[ --i ] );\r
if( ( n = uinodes.indexOf( data ) ) !== -1 ){\r
uinodes.splice( n, 1 );\r
data._remove();\r
X.UI.Box = X.UI.AbstractUINode.inherits(\r
'Box',\r
X_Class.NONE,\r
- XUI_Box,\r
{\r
Constructor : function(){\r
- X_Class_newPrivate( this, XUI_Layout_Canvas, arguments );\r
+ X_Pair_create( this, XUI_Box( this, XUI_Layout_Canvas, arguments ) );\r
},\r
\r
add : function( node /* , node, node ... */ ){\r
- X_Class_getPrivate( this ).addAt( this.numNodes() + 1, Array.prototype.slice.call( arguments ) );\r
+ X_Pair_get( this ).addAt( this.numNodes() + 1, Array.prototype.slice.call( arguments ) );\r
return this;\r
},\r
addAt : function( index, node /* , node, node ... */ ){\r
if( index < 0 ) index = 0;\r
- X_Class_getPrivate( this ).addAt( arguments[ 0 ], Array.prototype.slice.call( arguments, 1 ) );\r
+ X_Pair_get( this ).addAt( arguments[ 0 ], Array.prototype.slice.call( arguments, 1 ) );\r
return this;\r
},\r
remove : function( node /* , node, node ... */ ){\r
- X_Class_getPrivate( this )[ 'remove' ]( Array.prototype.slice.call( arguments ) );\r
+ X_Pair_get( this )[ 'remove' ]( Array.prototype.slice.call( arguments ) );\r
return this;\r
},\r
removeAt : function( from, length ){\r
- X_Class_getPrivate( this ).removeAt( from, length );\r
+ X_Pair_get( this ).removeAt( from, length );\r
return this;\r
},\r
getNodesByClass : function( klass ){\r
var ret = [],\r
- uinodes = X_Class_getPrivate( this ).uinodes,\r
+ uinodes = X_Pair_get( this ).uinodes,\r
i, l, node;\r
if( !uinodes || uinodes.length === 0 ) return ret;\r
for( i = 0, l = uinodes.length; i < l; ++i ){\r
return this.getNodeAt( 0 );\r
},\r
getLastChild : function(){\r
- var uinodes = X_Class_getPrivate( this ).uinodes;\r
+ var uinodes = X_Pair_get( this ).uinodes;\r
return uinodes && uinodes.length && uinodes[ uinodes.length - 1 ].User || null;\r
},\r
getNodeAt : function( index ){\r
if( index < 0 ) return null;\r
- var uinodes = X_Class_getPrivate( this ).uinodes;\r
+ var uinodes = X_Pair_get( this ).uinodes;\r
return uinodes && uinodes[ index ].User || null;\r
},\r
numNodes : function(){\r
- var uinodes = X_Class_getPrivate( this ).uinodes;\r
+ var uinodes = X_Pair_get( this ).uinodes;\r
return uinodes && uinodes.length || 0;\r
}\r
}\r
};\r
\r
if( privateKlass ){\r
+ /*\r
+ * スーパークラスの属性定義リストをレイアウトの持つ属性定義で上書きした新しい属性定義リストを作る。\r
+ */\r
supports = XUI_Attr_createAttrDef( privateKlass.prototype.supportAttrs, layout.overrideAttrsForSelf );\r
\r
klass = this.inherits( privateKlass );\r
- privateKlass.prototype.supportAttrs = supports,\r
+ privateKlass.prototype.supportAttrs = supports;\r
privateKlass.prototype.attrClass = XUI_Attr_preset( privateKlass.prototype.attrClass, supports, attrs );\r
} else {\r
supports = XUI_Attr_createAttrDef( shadow.prototype.supportAttrs, layout.overrideAttrsForSelf );\r