From: SubodhKumar Date: Fri, 4 Nov 2016 08:22:58 +0000 (+0530) Subject: edje entry: do not create object if theme source is not available. X-Git-Tag: accepted/tizen/common/20170102.152350~208 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b93dd32e122af3a8e8e5acbb2a33959ce274ade4;p=platform%2Fupstream%2Fefl.git edje entry: do not create object if theme source is not available. Summary: Object not created if theme source is not available. In many case we dont need or define all the theme sources for entry, even if the sources are null, edje object is being created. Test Plan: NA Reviewers: tasn, herdsman, cedric Reviewed By: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3199 Signed-off-by: Cedric BAIL Change-Id: I11f4517d8a872d8053ca0164f40088e6d6d47c56 Signed-off-by: SubodhKumar --- diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index 0895e6f..783efa1 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -691,30 +691,37 @@ _sel_update(Edje *ed, Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entr sel = calloc(1, sizeof(Sel)); en->sel = eina_list_append(en->sel, sel); - ob = edje_object_add(ed->base->evas); - edje_object_file_set(ob, ed->path, en->rp->part->source); - evas_object_smart_member_add(ob, smart); - evas_object_stack_below(ob, o); - evas_object_clip_set(ob, clip); - evas_object_pass_events_set(ob, EINA_TRUE); - evas_object_show(ob); - sel->obj_bg = ob; - _edje_subobj_register(ed, sel->obj_bg); - - ob = edje_object_add(ed->base->evas); - edje_object_file_set(ob, ed->path, en->rp->part->source2); - evas_object_smart_member_add(ob, smart); - evas_object_stack_above(ob, o); - evas_object_clip_set(ob, clip); - evas_object_pass_events_set(ob, EINA_TRUE); - evas_object_show(ob); - sel->obj_fg = ob; - _edje_subobj_register(ed, sel->obj_fg); - - /* TIZEN_ONLY(20161025): Add color class parent-child relationship with APIs */ - edje_object_color_class_parent_set(sel->obj_bg, ed->obj); - edje_object_color_class_parent_set(sel->obj_fg, ed->obj); - /* END */ + if (en->rp->part->source) + { + ob = edje_object_add(ed->base->evas); + edje_object_file_set(ob, ed->path, en->rp->part->source); + evas_object_smart_member_add(ob, smart); + evas_object_stack_below(ob, o); + evas_object_clip_set(ob, clip); + evas_object_pass_events_set(ob, EINA_TRUE); + evas_object_show(ob); + sel->obj_bg = ob; + _edje_subobj_register(ed, sel->obj_bg); + /* TIZEN_ONLY(20161025): Add color class parent-child relationship with APIs */ + edje_object_color_class_parent_set(sel->obj_bg, ed->obj); + /* END */ + } + + if (en->rp->part->source2) + { + ob = edje_object_add(ed->base->evas); + edje_object_file_set(ob, ed->path, en->rp->part->source2); + evas_object_smart_member_add(ob, smart); + evas_object_stack_above(ob, o); + evas_object_clip_set(ob, clip); + evas_object_pass_events_set(ob, EINA_TRUE); + evas_object_show(ob); + sel->obj_fg = ob; + _edje_subobj_register(ed, sel->obj_fg); + /* TIZEN_ONLY(20161025): Add color class parent-child relationship with APIs */ + edje_object_color_class_parent_set(sel->obj_fg, ed->obj); + /* END */ + } } else { @@ -1117,30 +1124,37 @@ _anchors_update(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entry *en) sel = calloc(1, sizeof(Sel)); an->sel = eina_list_append(an->sel, sel); - ob = edje_object_add(ed->base->evas); - edje_object_file_set(ob, ed->path, en->rp->part->source5); - evas_object_smart_member_add(ob, smart); - evas_object_stack_below(ob, o); - evas_object_clip_set(ob, clip); - evas_object_pass_events_set(ob, EINA_TRUE); - evas_object_show(ob); - sel->obj_bg = ob; - _edje_subobj_register(ed, sel->obj_bg); - - ob = edje_object_add(ed->base->evas); - edje_object_file_set(ob, ed->path, en->rp->part->source6); - evas_object_smart_member_add(ob, smart); - evas_object_stack_above(ob, o); - evas_object_clip_set(ob, clip); - evas_object_pass_events_set(ob, EINA_TRUE); - evas_object_show(ob); - sel->obj_fg = ob; - _edje_subobj_register(ed, sel->obj_fg); + if (en->rp->part->source5) + { + ob = edje_object_add(ed->base->evas); + edje_object_file_set(ob, ed->path, en->rp->part->source5); + evas_object_smart_member_add(ob, smart); + evas_object_stack_below(ob, o); + evas_object_clip_set(ob, clip); + evas_object_pass_events_set(ob, EINA_TRUE); + evas_object_show(ob); + sel->obj_bg = ob; + _edje_subobj_register(ed, sel->obj_bg); + /* TIZEN_ONLY(20161025): Add color class parent-child relationship with APIs */ + edje_object_color_class_parent_set(sel->obj_bg, ed->obj); + /* END */ + } - /* TIZEN_ONLY(20161025): Add color class parent-child relationship with APIs */ - edje_object_color_class_parent_set(sel->obj_bg, ed->obj); - edje_object_color_class_parent_set(sel->obj_fg, ed->obj); - /* END */ + if (en->rp->part->source6) + { + ob = edje_object_add(ed->base->evas); + edje_object_file_set(ob, ed->path, en->rp->part->source6); + evas_object_smart_member_add(ob, smart); + evas_object_stack_above(ob, o); + evas_object_clip_set(ob, clip); + evas_object_pass_events_set(ob, EINA_TRUE); + evas_object_show(ob); + sel->obj_fg = ob; + _edje_subobj_register(ed, sel->obj_fg); + /* TIZEN_ONLY(20161025): Add color class parent-child relationship with APIs */ + edje_object_color_class_parent_set(sel->obj_fg, ed->obj); + /* END */ + } ob = evas_object_rectangle_add(ed->base->evas); evas_object_color_set(ob, 0, 0, 0, 0); @@ -2839,27 +2853,32 @@ _edje_entry_real_part_init(Edje *ed, Edje_Real_Part *rp, Ecore_IMF_Context *ic) else evas_object_textblock_replace_char_set(rp->object, "*"); } - - en->cursor_bg = edje_object_add(ed->base->evas); - edje_object_file_set(en->cursor_bg, ed->path, rp->part->source3); - evas_object_smart_member_add(en->cursor_bg, ed->obj); - evas_object_stack_below(en->cursor_bg, rp->object); - evas_object_clip_set(en->cursor_bg, evas_object_clip_get(rp->object)); - evas_object_pass_events_set(en->cursor_bg, EINA_TRUE); - _edje_subobj_register(ed, en->cursor_bg); - - en->cursor_fg = edje_object_add(ed->base->evas); - edje_object_file_set(en->cursor_fg, ed->path, rp->part->source4); - evas_object_smart_member_add(en->cursor_fg, ed->obj); - evas_object_stack_above(en->cursor_fg, rp->object); - evas_object_clip_set(en->cursor_fg, evas_object_clip_get(rp->object)); - evas_object_pass_events_set(en->cursor_fg, EINA_TRUE); - _edje_subobj_register(ed, en->cursor_fg); - - /* TIZEN_ONLY(20161025): Add color class parent-child relationship with APIs */ - edje_object_color_class_parent_set(en->cursor_bg, ed->obj); - edje_object_color_class_parent_set(en->cursor_fg, ed->obj); - /* END */ + if (rp->part->source3) + { + en->cursor_bg = edje_object_add(ed->base->evas); + edje_object_file_set(en->cursor_bg, ed->path, rp->part->source3); + evas_object_smart_member_add(en->cursor_bg, ed->obj); + evas_object_stack_below(en->cursor_bg, rp->object); + evas_object_clip_set(en->cursor_bg, evas_object_clip_get(rp->object)); + evas_object_pass_events_set(en->cursor_bg, EINA_TRUE); + _edje_subobj_register(ed, en->cursor_bg); + /* TIZEN_ONLY(20161025): Add color class parent-child relationship with APIs */ + edje_object_color_class_parent_set(en->cursor_bg, ed->obj); + /* END */ + } + if (rp->part->source4) + { + en->cursor_fg = edje_object_add(ed->base->evas); + edje_object_file_set(en->cursor_fg, ed->path, rp->part->source4); + evas_object_smart_member_add(en->cursor_fg, ed->obj); + evas_object_stack_above(en->cursor_fg, rp->object); + evas_object_clip_set(en->cursor_fg, evas_object_clip_get(rp->object)); + evas_object_pass_events_set(en->cursor_fg, EINA_TRUE); + _edje_subobj_register(ed, en->cursor_fg); + /* TIZEN_ONLY(20161025): Add color class parent-child relationship with APIs */ + edje_object_color_class_parent_set(en->cursor_bg, ed->obj); + /* END */ + } /* A proxy to the main cursor. */ if (rp->part->cursor_mode == EDJE_ENTRY_CURSOR_MODE_BEFORE)