OSDN Git Service

Version 0.6.138, working X.UI.ScrollBox!, fix Node.prev & Node.next.
[pettanr/clientJs.git] / 0.6.x / js / 20_ui / 08_Box.js
index 9434254..dfe2e15 100644 (file)
@@ -51,8 +51,10 @@ X.UI.Layout.Canvas = X.UI.Layout.create( {
 \r
 X.UI._Box = X.UI._AbstractUINode.inherits(\r
        'X.UI._Box',\r
-       X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS, // 現状 super 指定がないとconstructor未定擬時に親のconstructor が使われない\r
+       X_Class.PRIVATE_DATA | X_Class.SUPER_ACCESS, // 現状 super 指定がないとconstructor未定擬時に親のconstructor が使われない\r
        {\r
+               supportAttrs    : XUI_Attr_createAttrDef( X.UI._AbstractUINode.prototype.supportAttrs, X.UI.Layout.Canvas.overrideAttrsForSelf ),\r
+               \r
                layout          : null,\r
                uinodes         : null,\r
                xnodes          : null,\r
@@ -66,11 +68,13 @@ X.UI._Box = X.UI._AbstractUINode.inherits(
 \r
                Constructor : function( layout, args ){\r
                        var i = 0,\r
-                               l = args.length,\r
+                               l = args.length || 1,\r
                                j = -1,\r
-                               uinodes, arg, _data, attrs, support;\r
+                               uinodes, arg, _data, attrs, support, p;\r
+                       \r
+                       //if( !args.length ) args = [ args ];\r
                        \r
-                       if( !this.User.instanceOf( X.UI.Box ) ){\r
+                       if( !this.User[ 'instanceOf' ]( X.UI.Box ) ){\r
                                //throw new Error( 'Box を継承したインスタンスだけが _Box のオーナーになれます' );\r
                        };                      \r
                        \r
@@ -82,7 +86,7 @@ X.UI._Box = X.UI._AbstractUINode.inherits(
                        \r
                        for( ; i < l; ++i ){\r
                                arg = args[ i ];\r
-                               if( arg.instanceOf && arg.instanceOf( X.UI.AbstractUINode ) ){\r
+                               if( arg[ 'instanceOf' ] && arg[ 'instanceOf' ]( X.UI.AbstractUINode ) ){\r
                                        _data = X_Class_getPrivate( arg );\r
                                        if( !uinodes ) this.uinodes = uinodes = [];\r
                                        uinodes[ ++j ] = _data;\r
@@ -90,10 +94,10 @@ X.UI._Box = X.UI._AbstractUINode.inherits(
                                                //throw new Error( 'インスタンスはすでに親に追加されています ' + arg );\r
                                        };\r
                                } else\r
-                               if( arg.instanceOf && arg.instanceOf( Node ) ){\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' ]( X.UI.Layout.Base ) ){\r
                                        //this.layout = arg;\r
                                } else\r
                                if( X_Type_isObject( arg ) ){\r
@@ -129,7 +133,7 @@ X.UI._Box = X.UI._AbstractUINode.inherits(
                        };\r
                        \r
                        this.phase = 1;\r
-                       this.User.dispatch( { type : X.UI.Event.INIT } );\r
+                       this.User[ 'dispatch' ]( { type : X.UI.Event.INIT } );\r
                },\r
                \r
                addToParent : function( parentXNode ){\r
@@ -137,7 +141,7 @@ X.UI._Box = X.UI._AbstractUINode.inherits(
                                l       = uinodes && uinodes.length,\r
                                i;\r
 \r
-                       parentXNode && parentXNode.append( this.xnode );\r
+                       parentXNode && parentXNode[ 'append' ]( this.xnode );\r
                        \r
                        if( l ){\r
                                for( i = 0; i < l; ++i ){\r
@@ -146,7 +150,7 @@ X.UI._Box = X.UI._AbstractUINode.inherits(
                        };\r
                        \r
                        this.phase = 2;\r
-                       this.User.dispatch( { type : X.UI.Event.ADDED } );\r
+                       this.User[ 'dispatch' ]( { type : X.UI.Event.ADDED } );\r
                },\r
                \r
        /* Rellay */\r
@@ -215,7 +219,7 @@ X.UI._Box = X.UI._AbstractUINode.inherits(
                                _p1 && data.initialize( this.root, this.rootData, this.User, this );\r
                                if( index <= num ){\r
                                        // _p2 && this.xnode.insertBefore( data.xnode, uinodes[ index + i ].xnode );\r
-                                       _p2 && uinodes[ index + i ].xnode.before( data.xnode );\r
+                                       _p2 && uinodes[ index + i ].xnode[ 'prev' ]( data.xnode );\r
                                        _p2 && data.addToParent( this.xnode );\r
                                        uinodes.splice( index + i, 0, data );\r
                                } else {\r
@@ -268,7 +272,7 @@ X.UI._Box = X.UI._AbstractUINode.inherits(
                                case 4:\r
                                case 3:\r
                                case 2:\r
-                                       this.xnode.remove();\r
+                                       this.xnode[ 'remove' ]();\r
                                case 1:\r
                                        delete this.root;\r
                                        delete this.rootData;\r
@@ -283,7 +287,7 @@ X.UI._Box = X.UI._AbstractUINode.inherits(
 \r
 X.UI.Box = X.UI.AbstractUINode.inherits(\r
        'Box',\r
-       X.Class.SUPER_ACCESS,\r
+       X_Class.SUPER_ACCESS,\r
        X.UI._Box,\r
        {\r
                Constructor : function(){\r
@@ -300,7 +304,7 @@ X.UI.Box = X.UI.AbstractUINode.inherits(
                        return this;\r
                },\r
                remove : function( node /* , node, node ... */ ){\r
-                       X_Class_getPrivate( this ).remove( Array.prototype.slice.call( arguments ) );\r
+                       X_Class_getPrivate( this )[ 'remove' ]( Array.prototype.slice.call( arguments ) );\r
                        return this;\r
                },\r
                removeAt : function( from, length ){\r
@@ -314,7 +318,7 @@ X.UI.Box = X.UI.AbstractUINode.inherits(
                        if( !uinodes || uinodes.length === 0 ) return ret;\r
                        for( i = 0, l = uinodes.length; i < l; ++i ){\r
                                node = uinodes[ i ].User;\r
-                               if( node.instanceOf( klass ) ) ret[ ret.length ] = node;\r
+                               if( node[ 'instanceOf' ]( klass ) ) ret[ ret.length ] = node;\r
                        };\r
                        return ret;\r
                },\r
@@ -353,7 +357,7 @@ X.UI.Box.presets = function(){
                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' ]( X.UI.Layout.Base ) ){\r
                        layout = arg;\r
                } else\r
                if( ( klassDef = X_Class_getClassDef( arg ) ) && klassDef.isPrivate ){\r
@@ -373,13 +377,13 @@ X.UI.Box.presets = function(){
        };\r
        \r
        if( privateKlass ){\r
-               supports = X.UI.Attr.createAttrDef( privateKlass.prototype.supportAttrs, layout.overrideAttrsForSelf );\r
+               supports = XUI_Attr_createAttrDef( privateKlass.prototype.supportAttrs, layout.overrideAttrsForSelf );\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
        } else {\r
-               supports = X.UI.Attr.createAttrDef( shadow.prototype.supportAttrs, layout.overrideAttrsForSelf );\r
+               supports = XUI_Attr_createAttrDef( shadow.prototype.supportAttrs, layout.overrideAttrsForSelf );\r
                \r
                klass = this.inherits(\r
                        boxName,\r