OSDN Git Service

Version 0.6.97, rename X.Dom.Image -> X.Util.Image.
[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         Util : {\r
35                 createChecker : function( str ){\r
36                         var ret = {},\r
37                                 ary = str.split( ',' ),\r
38                                 l   = ary.length,\r
39                                 i   = 0, v;\r
40                         for( ; i < l; ){\r
41                                 v = ary[ i ];\r
42                                 ret[ v ] = ++i;\r
43                                 ret[ i ] = v;\r
44                         };\r
45                         return ret;\r
46                 }\r
47         },\r
48         \r
49         currentRootData : null,\r
50         \r
51         Layout : {\r
52                 Base : X.Class.create(\r
53                         'X.UI.Layout.Base',\r
54                         {\r
55                                 overrideAttrsForSelf  : null,\r
56                                 overrideAttrsForChild : null,\r
57                                 calculate             : X.emptyFunction //function( data, isNeedsDetection, x, y, w, h )\r
58                         }\r
59                 ),\r
60                 create : function( props ){\r
61                         return X.Class._override( new X.UI.Layout.Base, props, true );\r
62                 }\r
63         }\r
64 };\r
65 \r