1 X.UI._ChromeBox = X.UI._Box.inherits(
\r
3 X_Class.PRIVATE_DATA | X_Class.SUPER_ACCESS,
\r
6 containerNode : null,
\r
8 Constructor : function( layout, args ){
\r
9 var uinodes, i, l, node, after, index = 0;
\r
11 this[ 'Super' ]( layout, args );
\r
13 uinodes = this.uinodes;
\r
14 l = i = uinodes.length;
\r
17 node = uinodes[ --i ];
\r
18 if( node.role === 3 ){
\r
19 if( this.containerNode ){
\r
20 //throw new Error( 'ContainerNode が複数設定されています!ContainerNode はクロームボックスにひとつ、生成時に設定できます ' + node );
\r
22 this.containerNode = node.User;
\r
23 this._containerNode = node;
\r
25 if( !this.chromeNodes ) this.chromeNodes = [];
\r
26 this.chromeNodes[ this.chromeNodes.length ] = node;
\r
29 if( !this.containerNode ){
\r
30 //throw new Error( 'ContainerNode が設定されてい\ません!ContainerNode はクロームボックスにひとつ、生成時に設定できます ' );
\r
33 for( i = 0, l = args.length; i < l; ++i ){
\r
35 if( node === this.containerNode ){
\r
39 if( node[ 'instanceOf' ] && node[ 'instanceOf' ]( Node ) ){
\r
47 X.UI.ChromeBox = X.UI.Box.inherits(
\r
49 X_Class.SUPER_ACCESS,
\r
52 Constructor : function(){
\r
53 X_Class_newPrivate( this, X.UI.Layout.Canvas, arguments );
\r
55 add : function( node /* , node, node ... */ ){
\r
56 X_Class_getPrivate( this ).containerNode.addAt( this.numNodes(), Array.prototype.slice.call( arguments ) );
\r
59 addAt : function( index, node /* , node, node ... */ ){
\r
60 X_Class_getPrivate( this ).containerNode.addAt( index, Array.prototype.slice.call( arguments, 1 ) );
\r
63 remove : function( node /* , node, node ... */ ){
\r
64 X_Class_getPrivate( this ).containerNode[ 'remove' ]( arguments );
\r
67 removeAt : function( from, length ){
\r
68 X_Class_getPrivate( this ).containerNode.removeAt( from, length );
\r
71 getNodesByClass : function( klass ){
\r
72 return X_Class_getPrivate( this ).containerNode.User.getNodesByClass( klass );
\r
74 getFirstChild : function(){
\r
75 return X_Class_getPrivate( this ).containerNode.User.getFirstChild();
\r
77 getLastChild : function(){
\r
78 return X_Class_getPrivate( this ).containerNode.User.getLastChild();
\r
80 getNodeByUID : function( uid ){
\r
81 return X_Class_getPrivate( this ).containerNode.User.getNodeByUID();
\r
83 getNodeAt : function( index ){
\r
84 return X_Class_getPrivate( this ).containerNode.User.getNodeAt( index );
\r
86 numNodes : function(){
\r
87 return X_Class_getPrivate( this ).containerNode.User.numNodes();
\r
89 getContainerNode : function(){
\r
90 return X_Class_getPrivate( this ).containerNode.User;
\r
92 getChromeNodeAt : function( index ){
\r
93 if( index < 0 ) return null;
\r
94 var nodes = X_Class_getPrivate( this ).chromeNodes;
\r
95 return nodes ? nodes[ index ].User || null : null;
\r
97 numChromeNodes : function(){
\r
98 var nodes = X_Class_getPrivate( this ).chromeNodes;
\r
99 return nodes ? nodes.length : 0;
\r