\r
-X.UI.Layout.Canvas = X.UI.Layout.create( {\r
+var XUI_Layout_Canvas = X[ 'UI' ][ 'Layout' ][ 'Canvas' ] = XUI_createLayout( {\r
name : 'CanvasLayout',\r
\r
overrideAttrsForSelf : {\r
selectable : false,\r
- role : [ 0, X.UI.Dirty.CLEAN, X.UI.Attr.USER.UINODE, X.UI.Attr.Type.INIT_ONLY | X.UI.Attr.Type.LIST, 'none,chrome,container' ],\r
+ role : [ 0, XUI_Dirty.CLEAN, XUI_Attr_USER.UINODE, XUI_Attr_Type.INIT_ONLY | XUI_Attr_Type.LIST, 'none,chrome,container' ],\r
\r
- width : [ '100%', X.UI.Dirty.LAYOUT, X.UI.Attr.USER.LAYOUT, X.UI.Attr.Type.LENGTH | X.UI.Attr.Type.PERCENT ],\r
- maxWidth : [ X.UI.Attr.AUTO, X.UI.Dirty.LAYOUT, X.UI.Attr.USER.LAYOUT, X.UI.Attr.Type.LENGTH | X.UI.Attr.Type.PERCENT ],\r
- height : [ 0, X.UI.Dirty.LAYOUT, X.UI.Attr.USER.LAYOUT, X.UI.Attr.Type.LENGTH | X.UI.Attr.Type.PERCENT ],\r
- maxHeight : [ X.UI.Attr.AUTO, X.UI.Dirty.LAYOUT, X.UI.Attr.USER.LAYOUT, X.UI.Attr.Type.LENGTH | X.UI.Attr.Type.PERCENT ]\r
+ width : [ '100%', XUI_Dirty.LAYOUT, XUI_Attr_USER.LAYOUT, XUI_Attr_Type.LENGTH | XUI_Attr_Type.PERCENT ],\r
+ maxWidth : [ XUI_Attr_AUTO, XUI_Dirty.LAYOUT, XUI_Attr_USER.LAYOUT, XUI_Attr_Type.LENGTH | XUI_Attr_Type.PERCENT ],\r
+ height : [ 0, XUI_Dirty.LAYOUT, XUI_Attr_USER.LAYOUT, XUI_Attr_Type.LENGTH | XUI_Attr_Type.PERCENT ],\r
+ maxHeight : [ XUI_Attr_AUTO, XUI_Dirty.LAYOUT, XUI_Attr_USER.LAYOUT, XUI_Attr_Type.LENGTH | XUI_Attr_Type.PERCENT ]\r
},\r
\r
overrideAttrsForChild : {\r
\r
data.preMesure( w, h );\r
\r
- if( isNeedsDetection && ( data.boxWidth === X.UI.Attr.AUTO || data.boxHeight === X.UI.Attr.AUTO ) ) return false;\r
+ if( isNeedsDetection && ( data.boxWidth === XUI_Attr_AUTO || data.boxHeight === XUI_Attr_AUTO ) ) return false;\r
\r
_x = data.contentL;\r
_y = data.contentT;\r
node.calculate( false, _x, _y, _w, _h );\r
};\r
} else\r
- if( data.contentHeight === X.UI.Attr.AUTO ){\r
- data.contentHeight = data.minContentHeight !== X.UI.Attr.AUTO ? data.minContentHeight : 0;\r
+ if( data.contentHeight === XUI_Attr_AUTO ){\r
+ data.contentHeight = data.minContentHeight !== XUI_Attr_AUTO ? data.minContentHeight : 0;\r
};\r
\r
data.postMesure();\r
- data.updateLayout( x + data.boxX, y + data.boxY );\r
- \r
+\r
+ if( !isNeedsDetection ){\r
+ data.boxX += x;\r
+ data.boxY += y; \r
+ };\r
return true;\r
}\r
});\r
\r
\r
-X.UI._Box = X.UI._AbstractUINode.inherits(\r
+var XUI_Box = XUI_AbstractUINode.inherits(\r
'X.UI._Box',\r
- X_Class.PRIVATE_DATA | X_Class.SUPER_ACCESS, // 現状 super 指定がないとconstructor未定擬時に親のconstructor が使われない\r
+ X_Class.PRIVATE_DATA, // 現状 super 指定がないとconstructor未定擬時に親のconstructor が使われない\r
{\r
- supportAttrs : XUI_Attr_createAttrDef( X.UI._AbstractUINode.prototype.supportAttrs, X.UI.Layout.Canvas.overrideAttrsForSelf ),\r
+ supportAttrs : XUI_Attr_createAttrDef( XUI_AbstractUINode.prototype.supportAttrs, XUI_Layout_Canvas.overrideAttrsForSelf ),\r
\r
layout : null,\r
uinodes : null,\r
pointerChildren : true,\r
through : false,\r
\r
- scrollingX : 0,\r
- scrollingY : 0,\r
+ scrollingX : 0, // TODO 現在のスクロール位置\r
+ scrollingY : 0, // TODO \r
\r
Constructor : function( layout, args ){\r
var i = 0,\r
if( arg[ 'instanceOf' ] && arg[ 'instanceOf' ]( Node ) ){\r
//this.layout = arg;\r
} else\r
- if( arg[ 'instanceOf' ] && arg[ 'instanceOf' ]( X.UI.Layout.Base ) ){\r
+ if( arg[ 'instanceOf' ] && arg[ 'instanceOf' ]( XUI_LayoutBase ) ){\r
//this.layout = arg;\r
} else\r
if( X_Type_isObject( arg ) ){\r
};\r
\r
this.phase = 1;\r
- this.User[ 'dispatch' ]( { type : X.UI.Event.INIT } );\r
+ this.User[ 'dispatch' ]( { type : XUI_Event.INIT } );\r
},\r
\r
addToParent : function( parentXNode ){\r
};\r
\r
this.phase = 2;\r
- this.User[ 'dispatch' ]( { type : X.UI.Event.ADDED } );\r
+ this.User[ 'dispatch' ]( { type : XUI_Event.ADDED } );\r
},\r
\r
/* Rellay */\r
}; \r
};\r
\r
- X.UI._AbstractUINode.prototype.creationComplete.apply( this, arguments );\r
+ XUI_AbstractUINode.prototype.creationComplete.apply( this, arguments );\r
},\r
\r
calculate : function( isNeedsDetection, x, y, w, h ){\r
this.phase = 4;\r
return ret;\r
},\r
+ \r
+ updateLayout : function(){\r
+ var uinodes = this.uinodes, i, l;\r
+\r
+ if( uinodes && ( l = uinodes.length ) ){\r
+ for( i = 0; i < l; ++i ){\r
+ uinodes[ i ].updateLayout();\r
+ }; \r
+ };\r
+ XUI_AbstractUINode.prototype.updateLayout.call( this );\r
+ },\r
\r
capcher : function( x, y ){\r
var uinodes, child, _x, _y, hit, i;\r
\r
X.UI.Box = X.UI.AbstractUINode.inherits(\r
'Box',\r
- X_Class.SUPER_ACCESS,\r
- X.UI._Box,\r
+ X_Class.NONE,\r
+ XUI_Box,\r
{\r
Constructor : function(){\r
- X_Class_newPrivate( this, X.UI.Layout.Canvas, arguments );\r
+ X_Class_newPrivate( this, XUI_Layout_Canvas, arguments );\r
},\r
\r
add : function( node /* , node, node ... */ ){\r
arg = args[ i ];\r
if( !arg ) continue;\r
// レイアウトの preset ができるのは layout が未定義な Box だけ\r
- if( !shadow.prototype.layout && arg[ 'instanceOf' ] && arg[ 'instanceOf' ]( X.UI.Layout.Base ) ){\r
+ if( !shadow.prototype.layout && arg[ 'instanceOf' ] && arg[ 'instanceOf' ]( XUI_LayoutBase ) ){\r
layout = arg;\r
} else\r
if( ( klassDef = X_Class_getClassDef( arg ) ) && klassDef.isPrivate ){\r
\r
klass = this.inherits( privateKlass );\r
privateKlass.prototype.supportAttrs = supports,\r
- privateKlass.prototype.attrClass = X.UI.Attr.preset( privateKlass.prototype.attrClass, supports, attrs );\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
\r
{\r
layout : layout,\r
supportAttrs : supports,\r
- attrClass : X.UI.Attr.preset( shadow.prototype.attrClass, supports, attrs )\r
+ attrClass : XUI_Attr_preset( shadow.prototype.attrClass, supports, attrs )\r
}\r
)\r
); \r