text_class: "list_item"; \
}
+// Group Index
+#define GENLIST_PARAM_INDEX_LIST_TB \
+ text { \
+ align: 0 0.5; \
+ min: 0 1; \
+ style: "genlist_style_groupindex_text"; \
+ }
+
+#define GENLIST_PART_PADDING_GROUPINDEX_LEFT \
+ GENLIST_PART_EXPANDED_PAD \
+ GENLIST_PART_RECT("elm.padding.left", \
+ GENLIST_DESCRIPTION_L("elm.swallow.pad", \
+ color: GENLIST_LIST_BG_COLOR; \
+ min: GROUPINDEX_PADDING_SIZE_LEFT 0; \
+ max: GROUPINDEX_PADDING_SIZE_LEFT -1; \
+ fixed: 1 0; \
+ ) \
+ GENLIST_DESCRIPTION_DECORATE_PADDING \
+ GENLIST_DESCRIPTION_REORDER_PADDING \
+ GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
+ )
+
+#define GENLIST_PART_PADDING_GROUPINDEX_RIGHT \
+ GENLIST_PART_RECT("elm.padding.right", \
+ description { state: "default" 0.0; \
+ color: GENLIST_LIST_BG_COLOR; \
+ min: GROUPINDEX_PADDING_SIZE_RIGHT 0; \
+ max: GROUPINDEX_PADDING_SIZE_RIGHT -1; \
+ fixed: 1 0; \
+ align: 1.0 0.5; \
+ rel1.to: "base"; \
+ rel2.to: "base"; \
+ rel1.relative: 1 0; \
+ } \
+ GENLIST_DESCRIPTION_DECORATE_PADDING \
+ GENLIST_DESCRIPTION_REORDER_PADDING \
+ GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
+ )
+
+#define SLIDING_PER_FPS 1
+#define SLIDING_FPS 60.0
// 2.1.1
group { GENLIST_NAME("groupindex/default")
alias: "elm/genlist/item/grouptitle/default";
data.item: "texts" "elm.text";
+ script {
+ public sliding_timer;
+ public end_timer;
+ public text_w;
+ public org_text_w;
+
+ public get_width() {
+ new x, y, w, h;
+ get_geometry(PART:"elm.text", x, y, w, h);
+ set_int(org_text_w, w);
+
+ set_state(PART:"elm.text", "sliding", 0.0);
+ get_geometry(PART:"elm.text", x, y, w, h);
+ set_int(text_w, w);
+ }
+ public ender(val) {
+ if (get_int(sliding_timer)) cancel_timer(get_int(sliding_timer));
+ set_int(sliding_timer, 0);
+ if (get_int(end_timer)) cancel_timer(get_int(end_timer));
+ set_int(end_timer, 0);
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ public sliding(val) {
+ if (val == 0) {
+ get_width();
+ if (get_int(text_w) < get_int(org_text_w)) {
+ set_int(end_timer, timer(0.5, "ender", 1));
+ return;
+ }
+ }
+ /*
+ new buf[128];
+ snprintf(buf, 127, "val:%d <= org_w:%d - sliding_w:%d ",
+ val, get_int(org_text_w), get_int(text_w));
+ set_text(PART:"dbg", buf);
+ */
+ custom_state(PART:"elm.text", "sliding", 0.0);
+ set_state_val(PART:"elm.text", STATE_REL1_OFFSET, val, 0);
+ set_state_val(PART:"elm.text", STATE_REL2_OFFSET, val, 0);
+ set_state(PART:"elm.text", "custom", 0.0);
+ val -= SLIDING_PER_FPS;
+
+ if (val <= -get_int(text_w) + get_int(org_text_w)) {
+ set_int(end_timer, timer(0.5, "ender", 1));
+ } else
+ set_int(sliding_timer, timer(1.0/SLIDING_FPS, "sliding", val));
+ }
+ }
+
parts {
GENLIST_PART_BASE
GENLIST_PART_INDEX_BG
- GENLIST_PART_PADDING_LEFT_SIZE(GROUPINDEX_PADDING_SIZE_LEFT)
- GENLIST_PART_PADDING_RIGHT_SIZE(GROUPINDEX_PADDING_SIZE_RIGHT)
GENLIST_PART_PADDING_TOP_SIZE(20)
GENLIST_PART_PADDING_BOTTOM_SIZE(14)
- GENLIST_PART_TEXT("elm.text",
+ GENLIST_PART_TEXTBLOCK("elm.text",
GENLIST_DESCRIPTION_LRT("elm.padding.left", "elm.padding.right", "elm.padding.top",
- GENLIST_PARAM_INDEX_LIST
+ GENLIST_PARAM_INDEX_LIST_TB
min: 0 GROUPINDEX_TEXT_HEIGHT;
fixed: 0 1;
)
+ description { state: "sliding" 0.0;
+ inherit: "default";
+ text.min: 1 1;
+ align: 0 0;
+ }
GENLIST_DESCRIPTION_INDEX_LIST
)
GENLIST_PART_INDEX_LINE("elm.padding.left", "elm.padding.right", "elm.text", "elm.padding.bottom")
+ /*
+ part { name: "dbg";
+ type: TEXT;
+ description { state: "default" 0.0;
+ color: 255 0 0 255;
+ text {
+ font: "Sans";
+ size: 12;
+ align: 1.0 1.0;
+ }
+ }
+ }
+ */
+ GENLIST_PART_PADDING_GROUPINDEX_LEFT
+ GENLIST_PART_PADDING_GROUPINDEX_RIGHT
+ }
+ program { name: "default";
+ signal: "elm,state,default";
+ source: "elm";
+ script {
+ ender(1);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"index_line", "default", 0.0);
+ set_state(PART:"bg", "default", 0.0);
+ }
}
programs {
GENLIST_PROGRAM_DISABLED( target: "elm.text"; target: "index_line"; )
- GENLIST_PROGRAM_SELECT( target: "elm.text"; target: "index_line"; target: "bg"; )
+ program { name: "selected";
+ signal: "elm,state,selected";
+ source: "elm";
+ script {
+ if (!get_int(sliding_timer) && !get_int(end_timer)) {
+ set_state(PART:"elm.text", "selected", 0.0);
+ set_state(PART:"index_line", "selected", 0.0);
+ set_state(PART:"bg", "selected", 0.0);
+ }
+ }
+ }
+ program { name: "unselected";
+ signal: "elm,state,unselected";
+ source: "elm";
+ script {
+ if (!get_int(sliding_timer) && !get_int(end_timer)) {
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"index_line", "default", 0.0);
+ set_state(PART:"bg", "default", 0.0);
+ }
+ }
+ }
+ program { name: "slide_start";
+ signal: "elm,state,slide,start";
+ source: "";
+ script {
+ set_state(PART:"index_line", "default", 0.0);
+ set_state(PART:"bg", "default", 0.0);
+ if (!get_int(sliding_timer) && !get_int(end_timer)) {
+ set_int(sliding_timer, timer(0.5, "sliding", 0));
+ } else {
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+ }
+ program { name: "slide_stop";
+ signal: "elm,state,slide,stop";
+ source: "elm";
+ script {
+ ender(0);
+ }
+ }
}
}