3 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
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
29 #define GENLIST_PART_INDEX_BG \
30 GENLIST_PART_RECT("bg", \
31 description { state: "default" 0.0; \
32 color: GENLIST_GROUPINDEX_LIST_BG_COLOR; \
34 description { state: "selected" 0.0; \
35 inherit: "default" 0.0; \
36 color: GENLIST_GROUPINDEX_LIST_PRESS_COLOR; \
38 description { state: "disabled" 0.0; \
39 inherit: "default" 0.0; \
40 color: GENLIST_GROUPINDEX_LIST_BG_COLOR; \
45 #define GENLIST_DESCRIPTION_INDEX_LIST \
46 description { state: "selected" 0.0; \
47 inherit: "default" 0.0; \
48 color: GENLIST_GROUPINDEX_LIST_FOCUS_COLOR; \
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; \
58 description { state: "selected" 0.0; \
59 inherit: "default" 0.0; \
60 color: GENLIST_GROUPINDEX_LINE_FOCUS_COLOR; \
65 #define GENLIST_PARAM_INDEX_LIST \
66 color: GENLIST_GROUPINDEX_LIST_COLOR; \
70 font: "Tizen:style=Bold"; \
71 size: GENLIST_GROUPINDEX_LIST_SIZE; \
72 text_class: "list_item"; \
76 #define GENLIST_PARAM_INDEX_LIST_TB \
80 style: "genlist_style_groupindex_text"; \
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; \
92 GENLIST_DESCRIPTION_DECORATE_PADDING \
93 GENLIST_DESCRIPTION_REORDER_PADDING \
94 GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
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; \
107 rel1.relative: 1 0; \
109 GENLIST_DESCRIPTION_DECORATE_PADDING \
110 GENLIST_DESCRIPTION_REORDER_PADDING \
111 GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
114 #define SLIDING_PER_FPS 1
115 #define SLIDING_FPS 60.0
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";
128 data.item: "texts" "elm.text";
131 public sliding_timer;
138 get_geometry(PART:"elm.text", x, y, w, h);
139 set_int(org_text_w, w);
141 set_state(PART:"elm.text", "sliding", 0.0);
142 get_geometry(PART:"elm.text", x, y, w, h);
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);
152 public sliding(val) {
155 if (get_int(text_w) < get_int(org_text_w)) {
156 set_int(end_timer, timer(0.5, "ender", 1));
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);
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;
172 if (val <= -get_int(text_w) + get_int(org_text_w)) {
173 set_int(end_timer, timer(0.5, "ender", 1));
175 set_int(sliding_timer, timer(1.0/SLIDING_FPS, "sliding", val));
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;
190 description { state: "sliding" 0.0;
195 GENLIST_DESCRIPTION_INDEX_LIST
197 GENLIST_PART_INDEX_LINE("elm.padding.left", "elm.padding.right", "elm.text", "elm.padding.bottom")
201 description { state: "default" 0.0;
211 GENLIST_PART_PADDING_GROUPINDEX_LEFT
212 GENLIST_PART_PADDING_GROUPINDEX_RIGHT
214 program { name: "default";
215 signal: "elm,state,default";
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);
225 GENLIST_PROGRAM_DISABLED( target: "elm.text"; target: "index_line"; )
226 program { name: "selected";
227 signal: "elm,state,selected";
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);
237 program { name: "unselected";
238 signal: "elm,state,unselected";
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);
248 program { name: "slide_start";
249 signal: "elm,state,slide,start";
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));
257 set_state(PART:"elm.text", "default", 0.0);
261 program { name: "slide_stop";
262 signal: "elm,state,slide,stop";
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";
283 data.item: "texts" "elm.text";
284 data.item: "contents" "elm.icon";
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;
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;
308 GENLIST_DESCRIPTION_INDEX_LIST
310 GENLIST_PART_INDEX_LINE("elm.padding.icon.right", "elm.padding.right", "elm.text", "elm.padding.bottom")
313 GENLIST_PROGRAM_DISABLED( target: "elm.text"; target: "index_line"; )
314 GENLIST_PROGRAM_SELECT( target: "elm.text"; target: "index_line"; target: "bg"; )