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 / 00_XUI.js
1 /*\r
2  * init_only,\r
3  * always,\r
4  * \r
5  * uinode によって指定可能な attr は異なる\r
6  * + 直接 xnode.css() に渡す値\r
7  * + uinode 内で加工してから xnode.css() に渡す値\r
8  *    ChromeBox での css3 の fallback\r
9  * + layoutManager で使う値\r
10  *    x, y, gap, childW, childH など\r
11  * + uinode で使う値\r
12  *    mouseDisabled など\r
13  */\r
14 \r
15 X.UI = {\r
16         State : {\r
17                 DEFAULT     : 0,\r
18                 HOVER       : 1,\r
19                 FOCUSED     : 2,\r
20                 DISABLED    : 4,\r
21                 CHECKED     : 8,\r
22                 FIRST_CHILD : 16,\r
23                 LAST_CHILD  : 32\r
24         },\r
25         \r
26         Dirty : {\r
27                 CLEAN   : 0,\r
28                 PAINT   : 1, // 再描画のみ必要\r
29                 LAYOUT  : 2, // レイアウト(ボックスサイズ)の再計算が必要\r
30                 FONT    : 3, // フォントサイズが変更された\r
31                 CONTENT : 4  // コンテンツが変更された\r
32         },\r
33         \r
34         currentRootData : null,\r
35         \r
36         Layout : {\r
37                 Base : X_Class_create(\r
38                         'X.UI.Layout.Base',\r
39                         {\r
40                                 overrideAttrsForSelf  : null,\r
41                                 overrideAttrsForChild : null,\r
42                                 calculate             : X_emptyFunction //function( data, isNeedsDetection, x, y, w, h )\r
43                         }\r
44                 ),\r
45                 create : function( props ){\r
46                         return X_Class_override( new X.UI.Layout.Base, props, true );\r
47                 }\r
48         }\r
49 };\r
50 \r
51 /*\r
52  * 'none,chrome,container' を受け取ったら、\r
53  * {\r
54  *      'none' : 1,\r
55  *  'chrome' : 2,\r
56  *  'container' : 3,\r
57  *  1 : 'none',\r
58  *  2 : 'chrome',\r
59  *  3 : 'container'\r
60  * } こんな object を返す。\r
61  */\r
62 function XUI_createChecker( str ){\r
63         var ret = {},\r
64                 ary = str.split( ',' ),\r
65                 l   = ary.length,\r
66                 i   = 0, v;\r
67         for( ; i < l; ){\r
68                 v = ary[ i ];\r
69                 ret[ v ] = ++i;\r
70                 ret[ i ] = v;\r
71         };\r
72         return ret;\r
73 };\r