OSDN Git Service

Version 0.6.190, fix X.UI.ScrollBox & X.UI.Gesture.
[pettanr/clientJs.git] / 0.6.x / js / 20_ui / 17_Text.js
index 5dacb25..08cec6d 100644 (file)
@@ -1,6 +1,9 @@
 var X_UI_Text_SUPPORT_ATTRS = {\r
-               content   : [ '', XUI_Dirty.CONTENT, XUI_Attr_USER.UINODE, XUI_Attr_Type.STRING ]\r
-};\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
@@ -8,7 +11,9 @@ var XUI_Text = XUI_AbstractUINode.inherits(
        {\r
                content     : '',\r
                \r
-               usableAttrs     : XUI_Attr_createAttrDef( XUI_AbstractUINode.prototype.usableAttrs, X_UI_Text_SUPPORT_ATTRS ),\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
@@ -31,13 +36,23 @@ var XUI_Text = XUI_AbstractUINode.inherits(
                        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 ) && this.dataFeild ){\r
-                               this.User.content( itemData[ this.dataFeild ] || '' );\r
+                               this.setContent( itemData[ this.dataFeild ] || '' );\r
                        };\r
                }\r
        }\r
@@ -53,12 +68,14 @@ X.UI.Text = X.UI.AbstractUINode.inherits(
                        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
+                       content !== v && data.setContent( v );\r
+                       return this;\r
                }\r
        }\r
 );
\ No newline at end of file