[Genlist] Remove unused images & very old old codes
[platform/core/uifw/efl-theme-tizen.git] / themes / widgets / genlist / genlist_groupindex.edc
1 /*
2  * efl-theme-tizen
3  * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Apache License, Version 2.0 (the License);
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an AS IS BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18
19 /*
20  * vim:ts=3:expandtab
21 */
22
23 #define GROUPINDEX_PADDING_SIZE_LEFT 26
24 #define GROUPINDEX_PADDING_SIZE_RIGHT 26
25 #define GROUPINDEX_TEXT_HEIGHT 38
26 #define GROUPINDEX_ICON_SIZE 64
27
28
29 #define GENLIST_PART_INDEX_BG \
30       GENLIST_PART_RECT("bg",  \
31          description { state: "default" 0.0; \
32             color: GENLIST_GROUPINDEX_LIST_BG_COLOR; \
33          } \
34          description { state: "selected" 0.0; \
35             inherit: "default" 0.0; \
36             color: GENLIST_GROUPINDEX_LIST_PRESS_COLOR; \
37          } \
38          description { state: "disabled" 0.0; \
39             inherit: "default" 0.0; \
40             color: GENLIST_GROUPINDEX_LIST_BG_COLOR; \
41          } \
42       )
43
44  // group index
45 #define GENLIST_DESCRIPTION_INDEX_LIST \
46    description { state: "selected" 0.0; \
47       inherit: "default" 0.0; \
48       color: GENLIST_GROUPINDEX_LIST_FOCUS_COLOR; \
49    }
50
51 #define GENLIST_PART_INDEX_LINE(LEFT, RIGHT, TOP, BOTTOM) \
52          GENLIST_PART_RECT("index_line", \
53             GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
54                color: GENLIST_GROUPINDEX_LINE_COLOR; \
55                min: 0 4; \
56                max: -1 4; \
57             ) \
58             description { state: "selected" 0.0; \
59                inherit: "default" 0.0; \
60                color: GENLIST_GROUPINDEX_LINE_FOCUS_COLOR; \
61             } \
62          )
63
64 // Group Index
65 #define GENLIST_PARAM_INDEX_LIST \
66    color: GENLIST_GROUPINDEX_LIST_COLOR; \
67    text { \
68       align: 0 0.5; \
69       min: 0 1; \
70       font: "Tizen:style=Bold"; \
71       size: GENLIST_GROUPINDEX_LIST_SIZE; \
72       text_class: "list_item"; \
73    }
74
75 // Group Index
76 #define GENLIST_PARAM_INDEX_LIST_TB \
77    text { \
78       align: 0 0.5; \
79       min: 0 1; \
80       style: "genlist_style_groupindex_text"; \
81    }
82
83 #define GENLIST_PART_PADDING_GROUPINDEX_LEFT \
84          GENLIST_PART_EXPANDED_PAD \
85          GENLIST_PART_RECT("elm.padding.left", \
86             GENLIST_DESCRIPTION_L("elm.swallow.pad",  \
87                color: GENLIST_LIST_BG_COLOR; \
88                min: GROUPINDEX_PADDING_SIZE_LEFT 0; \
89                max: GROUPINDEX_PADDING_SIZE_LEFT -1; \
90                fixed: 1 0; \
91             ) \
92             GENLIST_DESCRIPTION_DECORATE_PADDING \
93             GENLIST_DESCRIPTION_REORDER_PADDING \
94             GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
95          )
96
97 #define GENLIST_PART_PADDING_GROUPINDEX_RIGHT \
98          GENLIST_PART_RECT("elm.padding.right", \
99             description { state: "default" 0.0; \
100                color: GENLIST_LIST_BG_COLOR; \
101                min: GROUPINDEX_PADDING_SIZE_RIGHT 0; \
102                max: GROUPINDEX_PADDING_SIZE_RIGHT -1; \
103                fixed: 1 0; \
104                align: 1.0 0.5; \
105                rel1.to: "base"; \
106                rel2.to: "base"; \
107                rel1.relative: 1 0; \
108             } \
109             GENLIST_DESCRIPTION_DECORATE_PADDING \
110             GENLIST_DESCRIPTION_REORDER_PADDING \
111             GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
112          )
113
114 #define SLIDING_PER_FPS 1
115 #define SLIDING_FPS     60.0
116 // 2.1.1
117    group { GENLIST_NAME("groupindex/default")
118       alias: "elm/genlist/item/grouptitle/default";
119       alias: "elm/genlist/item_odd/grouptitle/default";
120       alias: "elm/genlist/item_compress/grouptitle/default";
121       alias: "elm/genlist/item_compress_odd/grouptitle/default";
122       alias: "elm/genlist/tree/grouptitle/default";
123       alias: "elm/genlist/tree_odd/grouptitle/default";
124       alias: "elm/genlist/tree_compress/grouptitle/default";
125       alias: "elm/genlist/tree_compress_odd/grouptitle/default";
126       GENLIST_PROLOG
127
128       data.item: "texts" "elm.text";
129
130       script {
131          public sliding_timer;
132          public end_timer;
133          public text_w;
134          public org_text_w;
135
136          public get_width() {
137             new x, y, w, h;
138             get_geometry(PART:"elm.text", x, y, w, h);
139             set_int(org_text_w, w);
140
141             set_state(PART:"elm.text", "sliding", 0.0);
142             get_geometry(PART:"elm.text", x, y, w, h);
143             set_int(text_w, w);
144          }
145          public ender(val) {
146             if (get_int(sliding_timer)) cancel_timer(get_int(sliding_timer));
147             set_int(sliding_timer, 0);
148             if (get_int(end_timer)) cancel_timer(get_int(end_timer));
149             set_int(end_timer, 0);
150             set_state(PART:"elm.text", "default", 0.0);
151          }
152          public sliding(val) {
153             if (val == 0) {
154                get_width();
155                if (get_int(text_w) < get_int(org_text_w)) {
156                   set_int(end_timer, timer(0.5, "ender", 1));
157                   return;
158                }
159             }
160             /*
161             new buf[128];
162             snprintf(buf, 127, "val:%d <= org_w:%d - sliding_w:%d  ",
163                val, get_int(org_text_w), get_int(text_w));
164             set_text(PART:"dbg", buf);
165             */
166             custom_state(PART:"elm.text", "sliding", 0.0);
167             set_state_val(PART:"elm.text", STATE_REL1_OFFSET, val, 0);
168             set_state_val(PART:"elm.text", STATE_REL2_OFFSET, val, 0);
169             set_state(PART:"elm.text", "custom", 0.0);
170             val -= SLIDING_PER_FPS;
171
172             if (val <= -get_int(text_w) + get_int(org_text_w)) {
173                set_int(end_timer, timer(0.5, "ender", 1));
174             } else
175                set_int(sliding_timer, timer(1.0/SLIDING_FPS, "sliding", val));
176          }
177       }
178
179       parts {
180          GENLIST_PART_BASE
181          GENLIST_PART_INDEX_BG
182          GENLIST_PART_PADDING_TOP_SIZE(20)
183          GENLIST_PART_PADDING_BOTTOM_SIZE(14)
184          GENLIST_PART_TEXTBLOCK("elm.text",
185             GENLIST_DESCRIPTION_LRT("elm.padding.left", "elm.padding.right", "elm.padding.top",
186                GENLIST_PARAM_INDEX_LIST_TB
187                min: 0 GROUPINDEX_TEXT_HEIGHT;
188                fixed: 0 1;
189             )
190             description { state: "sliding" 0.0;
191                inherit: "default";
192                text.min: 1 1;
193                align: 0 0;
194             }
195             GENLIST_DESCRIPTION_INDEX_LIST
196          )
197          GENLIST_PART_INDEX_LINE("elm.padding.left", "elm.padding.right", "elm.text", "elm.padding.bottom")
198          /*
199          part { name: "dbg";
200             type: TEXT;
201             description { state: "default" 0.0;
202                color: 255 0 0 255;
203                text {
204                   font: "Sans";
205                   size: 12;
206                   align: 1.0 1.0;
207                }
208             }
209          }
210          */
211         GENLIST_PART_PADDING_GROUPINDEX_LEFT
212         GENLIST_PART_PADDING_GROUPINDEX_RIGHT
213       }
214       program { name: "default";
215          signal: "elm,state,default";
216          source: "elm";
217          script {
218             ender(1);
219             set_state(PART:"elm.text", "default", 0.0);
220             set_state(PART:"index_line", "default", 0.0);
221             set_state(PART:"bg", "default", 0.0);
222          }
223       }
224       programs {
225          GENLIST_PROGRAM_DISABLED( target: "elm.text"; target: "index_line"; )
226          program { name: "selected";
227             signal: "elm,state,selected";
228             source: "elm";
229             script {
230                if (!get_int(sliding_timer) && !get_int(end_timer)) {
231                   set_state(PART:"elm.text", "selected", 0.0);
232                   set_state(PART:"index_line", "selected", 0.0);
233                   set_state(PART:"bg", "selected", 0.0);
234                }
235             }
236          }
237          program { name: "unselected";
238             signal: "elm,state,unselected";
239             source: "elm";
240             script {
241                if (!get_int(sliding_timer) && !get_int(end_timer)) {
242                   set_state(PART:"elm.text", "default", 0.0);
243                   set_state(PART:"index_line", "default", 0.0);
244                   set_state(PART:"bg", "default", 0.0);
245                }
246             }
247          }
248          program { name: "slide_start";
249             signal: "elm,state,slide,start";
250             source: "";
251             script {
252                set_state(PART:"index_line", "default", 0.0);
253                set_state(PART:"bg", "default", 0.0);
254                if (!get_int(sliding_timer) && !get_int(end_timer)) {
255                   set_int(sliding_timer, timer(0.5, "sliding", 0));
256                } else {
257                   set_state(PART:"elm.text", "default", 0.0);
258                }
259             }
260          }
261          program { name: "slide_stop";
262             signal: "elm,state,slide,stop";
263             source: "elm";
264             script {
265                ender(0);
266             }
267          }
268       }
269    }
270
271 //2.1.3
272    group { GENLIST_NAME("groupindex.icon/default")
273       alias: "elm/genlist/item/grouptitle.icon/default";
274       alias: "elm/genlist/item_odd/grouptitle.icon/default";
275       alias: "elm/genlist/item_compress/grouptitle.icon/default";
276       alias: "elm/genlist/item_compress_odd/grouptitle.icon/default";
277       alias: "elm/genlist/tree/grouptitle.icon/default";
278       alias: "elm/genlist/tree_odd/grouptitle.icon/default";
279       alias: "elm/genlist/tree_compress/grouptitle.icon/default";
280       alias: "elm/genlist/tree_compress_odd/grouptitle.icon/default";
281       GENLIST_PROLOG
282
283       data.item: "texts" "elm.text";
284       data.item: "contents" "elm.icon";
285
286       parts {
287          GENLIST_PART_BASE
288          GENLIST_PART_INDEX_BG
289          GENLIST_PART_PADDING_LEFT_SIZE(GROUPINDEX_PADDING_SIZE_LEFT)
290          GENLIST_PART_PADDING_RIGHT_SIZE(GROUPINDEX_PADDING_SIZE_RIGHT)
291          GENLIST_PART_PADDING_TOP_SIZE(6)
292          GENLIST_PART_PADDING_BOTTOM_SIZE(6)
293          GENLIST_PART_ICON("elm.icon",
294             GENLIST_DESCRIPTION_LTB("elm.padding.left",
295                "elm.padding.top", "elm.padding.bottom",
296                min: GROUPINDEX_ICON_SIZE GROUPINDEX_ICON_SIZE;
297                max: GROUPINDEX_ICON_SIZE GROUPINDEX_ICON_SIZE;
298                fixed: 1 0;
299             )
300          )
301          GENLIST_PART_PADDING_L_SIZE("elm.padding.icon.right", "elm.icon", 16)
302          GENLIST_PART_TEXT("elm.text",
303             GENLIST_DESCRIPTION_LRT("elm.padding.icon.right", "elm.padding.right", "elm.padding.top",
304                GENLIST_PARAM_INDEX_LIST
305                min: 0 GROUPINDEX_TEXT_HEIGHT;
306                fixed: 0 1;
307             )
308             GENLIST_DESCRIPTION_INDEX_LIST
309          )
310          GENLIST_PART_INDEX_LINE("elm.padding.icon.right", "elm.padding.right", "elm.text", "elm.padding.bottom")
311       }
312       programs {
313          GENLIST_PROGRAM_DISABLED( target: "elm.text"; target: "index_line"; )
314          GENLIST_PROGRAM_SELECT( target: "elm.text"; target: "index_line"; target: "bg"; )
315       }
316    }