diff --git a/legacy/elementary/src/bin/test.c b/legacy/elementary/src/bin/test.c index bbb7a04ca3..b8a916e564 100644 --- a/legacy/elementary/src/bin/test.c +++ b/legacy/elementary/src/bin/test.c @@ -731,7 +731,7 @@ my_bt_13(void *data, Evas_Object *obj, void *event_info) elm_box_pack_end(bx, bx2); evas_object_show(bx2); - // HACK! not exposed! (should expose some later?) + // FIXME: HACK! not exposed! (should expose some later?) elm_widget_focus_set(en, 1); evas_object_show(win); @@ -763,6 +763,7 @@ my_bt_14(void *data, Evas_Object *obj, void *event_info) elm_box_pack_end(bx, sc); en = elm_entry_add(win); + // FIXME: HACK! not exposed! evas_object_propagate_events_set(en, 0); elm_entry_entry_set(en, "This is an entry widget in this window that
" @@ -819,7 +820,7 @@ my_bt_14(void *data, Evas_Object *obj, void *event_info) elm_box_pack_end(bx, bx2); evas_object_show(bx2); - // HACK! not exposed! (should expose some later?) + // FIXME: HACK! not exposed! (should expose some later?) elm_widget_focus_set(en, 1); evas_object_resize(win, 320, 300); diff --git a/legacy/elementary/src/lib/elm_entry.c b/legacy/elementary/src/lib/elm_entry.c index cb7d692d84..bacfc8a174 100644 --- a/legacy/elementary/src/lib/elm_entry.c +++ b/legacy/elementary/src/lib/elm_entry.c @@ -130,7 +130,6 @@ _signal_cursor_changed(void *data, Evas_Object *obj, const char *emission, const Widget_Data *wd = elm_widget_data_get(data); Evas_Coord cx, cy, cw, ch; evas_object_smart_callback_call(data, "cursor,changed", NULL); - // FIXME: handle auto-scroll within parent (get cursor - if not visible // jump so it is) edje_object_part_text_cursor_geometry_get(wd->ent, "elm.text", &cx, &cy, &cw, &ch); @@ -149,7 +148,28 @@ static void _signal_anchor_up(void *data, Evas_Object *obj, const char *emission, const char *source) { Widget_Data *wd = elm_widget_data_get(data); + char *buf, *buf2, *p, *p2, *n; + int buflen; printf("UP %s\n", emission); + p = strchr(emission, ','); + if (p) + { + n = p + 1; + buflen = 200 + strlen(n); + buf = alloca(buflen); + p2 = p -1; + while (p2 >= emission) + { + if (*p2 == ',') break; + p2--; + } + p2++; + buf2 = alloca(5 + p - p2); + strncpy(buf2, p2, p - p2); + buf2[p - p2] = 0; + snprintf(buf, buflen, "anchor,%s,clicked,*s", buf2, n); + evas_object_smart_callback_call(data, buf, NULL); + } } static void