+var X_UI_Text_SUPPORT_ATTRS = {\r
+ content : [ '' , XUI_Dirty.CONTENT, XUI_Attr_USER.UINODE, XUI_Attr_Type.STRING ],\r
+ bgColor : [ NaN, XUI_Dirty.PAINT, XUI_Attr_USER.XNODE, XUI_Attr_Type.COLOR ]\r
+},\r
+\r
+X_UI_Text_usableAttrs = XUI_Attr_createAttrDef( XUI_AbstractUINode.prototype.usableAttrs, X_UI_Text_SUPPORT_ATTRS );\r
+\r
var XUI_Text = XUI_AbstractUINode.inherits(\r
'_Text',\r
X_Class.NONE,\r
{\r
content : '',\r
\r
+ usableAttrs : __textAttrs = X_UI_Text_usableAttrs,\r
+ \r
+ attrClass : XUI_Attr_preset( XUI_AbstractUINode.prototype.attrClass, X_UI_Text_usableAttrs ),\r
+ \r
Constructor : function( user, content ){\r
if( !( user[ 'instanceOf' ]( X.UI.Text ) ) ){\r
alert( 'Text を継承したインスタンスだけが _Text のオーナーになれます' );\r
this.User = user;\r
this.xnode = X_Doc_create( 'div' );\r
\r
- if( X_Type_isString( content ) && content ){\r
- this.content = content;\r
+ if( content != null ){\r
+ this.content = '' + content;\r
};\r
},\r
\r
};\r
\r
XUI_AbstractUINode.prototype.creationComplete.apply( this, arguments ); \r
+ },\r
+ \r
+ setContent : function( v ){\r
+ if( this.content !== v ){\r
+ this.content = v;\r
+ this.xnode && this.xnode[ 'text' ]( v );\r
+ this.rootData.reserveCalc();\r
+ if( this.dirty < XUI_Dirty.CONTENT ) this.dirty = XUI_Dirty.CONTENT;\r
+ };\r
+ return this;\r
+ },\r
+ \r
+ setItemData : function( itemData ){\r
+ if( this.itemData === itemData ) return;\r
+ \r
+ XUI_AbstractUINode.prototype.setItemData.apply( this, arguments );\r
+ \r
+ if( X_Type_isObject( itemData = this.itemData ) && itemData[ this.dataFeild ] != null ){\r
+ this.setContent( '' + itemData[ this.dataFeild ] );\r
+ };\r
}\r
}\r
);\r
X_Type_isObject( opt_attrObj = opt_attrObj || opt_content ) && this[ 'attr' ]( opt_attrObj );\r
},\r
content : function( v ){\r
- var data = X_Pair_get( this );\r
- if( data.content !== v ){\r
- data.xnode && data.xnode[ 'text' ]( v );\r
- data.rootData.reserveCalc();\r
- if( data.dirty < XUI_Dirty.CONTENT ) data.dirty = XUI_Dirty.CONTENT;\r
+ var data = X_Pair_get( this ),\r
+ content = data.content;\r
+ \r
+ if( v === undefined ){\r
+ return content;\r
};\r
+ v += '';\r
+ content !== v && data.setContent( v );\r
+ return this;\r
}\r
}\r
);
\ No newline at end of file