rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d36dadb1dda6251c9cfcbfd480b41b1a55fadf98
commit d36dadb1dda6251c9cfcbfd480b41b1a55fadf98 Author: Vyacheslav Reutskiy <[email protected]> Date: Fri Aug 12 19:19:55 2016 +0300 ewe_ruler: fix the dashes position DO NOT add packed to box objects as members to enother object. @fix Change-Id: Iaa8552ac95c7196b1ad2d02c2632a18652c777df --- src/bin/ui/workspace/workspace.c | 4 ++-- src/lib/ewe_ruler.c | 25 +++++++++++++++++-------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c index c3eb52c..f89aed8 100644 --- a/src/bin/ui/workspace/workspace.c +++ b/src/bin/ui/workspace/workspace.c @@ -704,8 +704,8 @@ _container_changed(void *data, /* shift the abs scale zero mark */ - ewe_ruler_zero_offset_set(area->ruler_h.obj, NULL, geom->x - x); - ewe_ruler_zero_offset_set(area->ruler_v.obj, NULL, geom->y - y); + ewe_ruler_zero_offset_set(area->ruler_h.obj, NULL, scale_x); + ewe_ruler_zero_offset_set(area->ruler_v.obj, NULL, scale_y); /* shift the rel scale zero mark */ if (area->ruler_h.scale_rel) diff --git a/src/lib/ewe_ruler.c b/src/lib/ewe_ruler.c index 6b03456..46abcdc 100644 --- a/src/lib/ewe_ruler.c +++ b/src/lib/ewe_ruler.c @@ -104,14 +104,13 @@ _add_dashes(Ewe_Ruler_Smart_Data *sd) { object = edje_object_add(canvas); edje_object_file_set(object, EWE_THEME, scale->full_style); - evas_object_smart_member_add(object, sd->obj); - evas_object_clip_set(object, sd->clip); scale->dashes = eina_list_append(scale->dashes, object); if (sd->horizontal) evas_object_size_hint_min_set(object, scale->mark_step, sd->geometry.height); else evas_object_size_hint_min_set(object, sd->geometry.width, scale->mark_step); elm_box_pack_end(scale->box, object); + evas_object_show(object); } } else @@ -410,7 +409,6 @@ _ewe_ruler_scale_add(Eo *obj, sd->scales = eina_list_append(sd->scales, ret); ret->box = elm_box_add(obj); - elm_box_align_set(ret->box, 0.0, 0.0); elm_box_horizontal_set(ret->box, sd->horizontal); evas_object_smart_member_add(ret->box, obj); evas_object_clip_set(ret->box, sd->clip); @@ -855,9 +853,6 @@ _ewe_ruler_efl_canvas_group_group_resize(Eo *obj, Evas_Coord w, Evas_Coord h) { - Ewe_Ruler_Scale *scale; - Eina_List *l; - if ((w == sd->geometry.width) && (h == sd->geometry.height)) return; sd->size_changed = EINA_TRUE; @@ -867,8 +862,6 @@ _ewe_ruler_efl_canvas_group_group_resize(Eo *obj, efl_canvas_group_resize(eo_super(obj, MY_CLASS), w, h); evas_object_resize(sd->clip, w, h); evas_object_resize(sd->bg, w, h); - EINA_LIST_FOREACH(sd->scales, l, scale) - evas_object_resize(scale->box, w, h); evas_object_smart_changed(obj); } @@ -888,6 +881,21 @@ _ewe_ruler_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, { _dashes_size_set(sd, scale); } + EINA_LIST_FOREACH(sd->scales, ls, scale) + { + int dashes_count = eina_list_count(scale->dashes); + if (sd->horizontal) + { + evas_object_size_hint_min_set(scale->box, dashes_count * scale->mark_step, sd->geometry.height); + evas_object_resize(scale->box, dashes_count * scale->mark_step, sd->geometry.height); + } + else + { + evas_object_size_hint_min_set(scale->box, sd->geometry.width, dashes_count * scale->mark_step); + evas_object_resize(scale->box, sd->geometry.width, dashes_count * scale->mark_step); + } + + } } if (sd->position_changed) { @@ -900,6 +908,7 @@ _ewe_ruler_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, evas_object_move(scale->box, sd->geometry.x + offset, sd->geometry.y); else evas_object_move(scale->box, sd->geometry.x, sd->geometry.y + offset); + } } sd->position_changed = EINA_FALSE; --
