[EGIT] [core/efl] master 01/01: eet: initialize descriptor class' func.type_get and func.type_set

2021-05-24 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3db14bf8dd85a57826b048d8be1dc827c1752076

commit 3db14bf8dd85a57826b048d8be1dc827c1752076
Author: Jaehyun Cho 
Date:   Mon May 24 17:50:03 2021 +0900

eet: initialize descriptor class' func.type_get and func.type_set

Summary:
Descriptor class' func.type_get and func.type_set are initialized with
NULL.

Change-Id: I94526c2421c1fa2924a705cd2341130905df1da0

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12279
---
 src/lib/eet/eet_data.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/eet/eet_data.c b/src/lib/eet/eet_data.c
index 3815db3d4f..3ed40b7c9b 100644
--- a/src/lib/eet/eet_data.c
+++ b/src/lib/eet/eet_data.c
@@ -1945,6 +1945,8 @@ 
eet_eina_stream_data_descriptor_class_set(Eet_Data_Descriptor_Class *eddc,
eddc->func.hash_foreach = (void (*)(void *, int (*)(void *, const char *, 
void *, void *), void *))_eet_eina_hash_foreach;
eddc->func.hash_add = (void *(*)(void *, const char *, void 
*))_eet_eina_hash_add_alloc;
eddc->func.hash_free = (void (*)(void *))_eet_eina_hash_free;
+   eddc->func.type_get = NULL;
+   eddc->func.type_set = NULL;
 
/* This will cause an ABI incompatibility */
eddc->func.array_alloc = _eet_mem_alloc;

-- 




[EGIT] [admin/devs] master 01/01: update sanghyeonlee's pub key

2021-03-26 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/admin/devs.git/commit/?id=b8354ff1744bf6e7aeb0169e29916017399a6280

commit b8354ff1744bf6e7aeb0169e29916017399a6280
Author: Jaehyun Cho 
Date:   Fri Mar 26 17:13:52 2021 +0900

update sanghyeonlee's pub key
---
 developers/sanghyeonlee/id_rsa.pub | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/developers/sanghyeonlee/id_rsa.pub 
b/developers/sanghyeonlee/id_rsa.pub
index 694d3bc..382e738 100644
--- a/developers/sanghyeonlee/id_rsa.pub
+++ b/developers/sanghyeonlee/id_rsa.pub
@@ -1 +1 @@
-ssh-rsa 
B3NzaC1yc2EDAQABAAABAQClq5KwmQn5pFILPDyMxoek6lxpR2uAzD47kqZ1sfRKlG980vmBEJosg5Wwt6wg8rKvoAt0e3tcU6WngOvNLstwFkBVvGl9VXKwKvUOEEN5nwcjUBKw337B3xjQm9Iwe5XFVJW6tgE2woPYSFJ3XFqxmMxSQBPNYC2WGrniFAfCUwPaOmtz0jby9DfuzOXtH6smo9+WU0qaDquNl/DCnkKPBhCT6J/8uEGiDlxnbW+z3dBOpkoUfKPWz8UgWf11QYMk/qbLcnnADBp+NBJPQormARmf+8fM+Z9Td90VXVrAsVUV8ej1VQNVcpx6svIpOpFxlmZES6fDC33NlOQ/N8fL
 sh10233lee@sh10233lee-linux
+ssh-rsa 
B3NzaC1yc2EDAQABAAABgQDE2WJn2/SAIKHIhI3UyfhYnoBynXJJF1vEWjet7BL4p3zEi26W5nZn6NgZl+GQWq/rgg+lhJ1fDm1hjGiNqnDj/NteRGuWSUvgcyGOB9PfDR/zAX3Prt7fKd+e3YttuMjUpAFO6UjSRT8OLKHOCbrSf5Iyolz1yzdGaBGJFcwWkkW1voXf+4pEAKl4JiMFN8JYcoC+hgdQlBQ4K2oHVsz2fmTKO8IxyZoNACtu05/sh4vTtO6jrXFgzBrU9wVqOZVqPkrLDfUFVAKR3bCa4yB5wxTDoZpAp9NOJfKzhc+nYXixM/Gb7C4+MSmo8tDHsE8JFWGnBHFiytfqIfMdA2ROnidNR5MkvwZyVtUUSP9+4k2HZgedkTPLJo0ULWIBk1T6BKTjgjIOSewl0xx9H4JZ8u4UMgGP0pw/wz1/5m6LlWWv+QESUTG4XCGoW4WRtEu4sHZ4
 [...]

-- 




[EGIT] [core/efl] master 01/01: edje_entry: fix a potential error of null deref

2021-02-03 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d3d3af369bd84a7e0a4d4d2e4e9708104c2bbdf7

commit d3d3af369bd84a7e0a4d4d2e4e9708104c2bbdf7
Author: Jaehyun Cho 
Date:   Thu Feb 4 11:00:14 2021 +0900

edje_entry: fix a potential error of null deref

Summary:
This is a patch to fix a potential error of null dereferencing.
This patch is based on D12087.

Reviewers: Hermet, jsuya

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12241
---
 src/lib/edje/edje_entry.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c
index ab48c3dd3a..b62c12b631 100644
--- a/src/lib/edje/edje_entry.c
+++ b/src/lib/edje/edje_entry.c
@@ -1279,6 +1279,8 @@ _anchors_update(Evas_Textblock_Cursor *c EINA_UNUSED, 
Evas_Object *o, Entry *en)
{
   Evas_Textblock_Rectangle *r;
 
+  if (!range) break;
+
   r = range->data;
   *(&(sel->rect)) = *r;
   if (_is_anchors_outside_viewport(y, r->y, r->h, vy, tvh) ||

-- 




[EGIT] [core/efl] master 01/01: elm_gesture_layer: fix crash caused by elm_gesture_layer_cb_del in cb

2020-09-07 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=cb059ea0afde20535d1521da510f74411b96a605

commit cb059ea0afde20535d1521da510f74411b96a605
Author: Jaehyun Cho 
Date:   Mon Sep 7 14:35:12 2020 +0900

elm_gesture_layer: fix crash caused by elm_gesture_layer_cb_del in cb

elm_gesture_layer_cb_del can be called in Elm_Gesture_Event_Cb cb set by
elm_gesture_layer_cb_set and cb_info of the cb is free in the cb.

This causes crash if cb_info is searched with EINA_INLIST_FOREACH.
---
 src/lib/elementary/elm_gesture_layer.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_gesture_layer.c 
b/src/lib/elementary/elm_gesture_layer.c
index e7fb88348c..5e6932c0af 100644
--- a/src/lib/elementary/elm_gesture_layer.c
+++ b/src/lib/elementary/elm_gesture_layer.c
@@ -614,8 +614,10 @@ _state_report(Gesture_Info *gesture,
 * send ptr to user
 * callback */
  {
+Eina_Inlist *itr;
 Func_Data *cb_info;
-EINA_INLIST_FOREACH(gesture->cbs[gesture->state], cb_info)
+/* elm_gesture_layer_cb_del can be called in Elm_Gesture_Event_Cb cb */
+EINA_INLIST_FOREACH_SAFE(gesture->cbs[gesture->state], itr, cb_info)
flags |= cb_info->cb(cb_info->user_data, info);
  }
 

-- 




[EGIT] [core/efl] master 01/01: edje_embryo: fix memory leak in ALLOC_COPY_DESC

2020-08-04 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=cc0328d9e50573ec45715238258c167622702fc1

commit cc0328d9e50573ec45715238258c167622702fc1
Author: Jaehyun Cho 
Date:   Tue Aug 4 15:11:35 2020 +0900

edje_embryo: fix memory leak in ALLOC_COPY_DESC

Summary:
If memory allocation fails in ALLOC_COPY_DESC, then the allocated memory
is not free.
To fix this memory leak, memory allocation of Edje_Real_Part_State is
done prior to ALLOC_COPY_DESC.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12082
---
 src/lib/edje/edje_embryo.c | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c
index b4ffbfc32d..bb3828ab3d 100644
--- a/src/lib/edje/edje_embryo.c
+++ b/src/lib/edje/edje_embryo.c
@@ -2089,6 +2089,11 @@ _edje_embryo_fn_custom_state(Embryo_Program *ep, 
Embryo_Cell *params)
if (!(parent = _edje_part_description_find(ed, rp, name, val, EINA_TRUE)))
  return 0;
 
+   rp->custom = eina_mempool_malloc(_edje_real_part_state_mp, sizeof 
(Edje_Real_Part_State));
+   if (!rp->custom) return 0;
+
+   memset(rp->custom, 0, sizeof (Edje_Real_Part_State));
+
/* now create the custom state */
switch (rp->part->type)
  {
@@ -2123,17 +2128,13 @@ case EDJE_PART_TYPE_##Short:
   \
 ALLOC_COPY_DESC(VECTOR, Vector, d, vg);
  }
 
-   if (!d) return 0;
-
-   rp->custom = eina_mempool_malloc(_edje_real_part_state_mp, sizeof 
(Edje_Real_Part_State));
-   if (!rp->custom)
+   if (!d)
  {
-free(d);
+eina_mempool_free(_edje_real_part_state_mp, rp->custom);
+rp->custom = NULL;
 return 0;
  }
 
-   memset(rp->custom, 0, sizeof (Edje_Real_Part_State));
-
*d = *parent;
 
d->state.name = (char *)eina_stringshare_add("custom");

-- 




[EGIT] [core/efl] master 01/01: edje_embryo: fix null pointer dereference in ALLOC_COPY_DESC

2020-08-03 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9dde786ffeebcac4975f3a1e2084b860d1087a2f

commit 9dde786ffeebcac4975f3a1e2084b860d1087a2f
Author: Jaehyun Cho 
Date:   Mon Aug 3 20:22:08 2020 +0900

edje_embryo: fix null pointer dereference in ALLOC_COPY_DESC

To fix null pointer dereference in ALLOC_COPY_DESC, allocated variable
"new" is checked.
---
 src/lib/edje/edje_embryo.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c
index ef4c3f8ef9..b4ffbfc32d 100644
--- a/src/lib/edje/edje_embryo.c
+++ b/src/lib/edje/edje_embryo.c
@@ -2102,6 +2102,7 @@ case EDJE_PART_TYPE_##Short:  
 \
Edje_Part_Description_##Type * new; \
tmp = (Edje_Part_Description_##Type *)parent;   \
new = calloc(1, sizeof (Edje_Part_Description_##Type)); \
+   if (!new) break;\
new->Spec = tmp->Spec;  \
To = >common;  \
break;  \

-- 




[EGIT] [core/efl] master 01/01: edje_embryo: fix to use parameter of macro ALLOC_COPY_DESC

2020-08-03 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6f981794ad64c1c43a7c79d9d8de4999aa600318

commit 6f981794ad64c1c43a7c79d9d8de4999aa600318
Author: Jaehyun Cho 
Date:   Mon Aug 3 19:22:27 2020 +0900

edje_embryo: fix to use parameter of macro ALLOC_COPY_DESC

The parameter "To" of macro ALLOC_COPY_DESC is not used.
To use the parameter "To", "d" is replaced to "To".
---
 src/lib/edje/edje_embryo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c
index df102b35b8..ef4c3f8ef9 100644
--- a/src/lib/edje/edje_embryo.c
+++ b/src/lib/edje/edje_embryo.c
@@ -2103,7 +2103,7 @@ case EDJE_PART_TYPE_##Short:  
 \
tmp = (Edje_Part_Description_##Type *)parent;   \
new = calloc(1, sizeof (Edje_Part_Description_##Type)); \
new->Spec = tmp->Spec;  \
-   d = >common;   \
+   To = >common;  \
break;  \
 }
 

-- 




[EGIT] [core/efl] master 01/01: evas_gl_core: fix memory leak of EVGL_Resource

2020-08-03 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=52df41b2179d2b2b01dd8b31054d38dc28e4327e

commit 52df41b2179d2b2b01dd8b31054d38dc28e4327e
Author: Jaehyun Cho 
Date:   Mon Aug 3 15:54:35 2020 +0900

evas_gl_core: fix memory leak of EVGL_Resource

If eng_data is NULL and rsc is not NULL in _internal_resources_destroy,
then the allocated EVGL_Resource rsc is not free.

To resolve this memory leak, eng_data and rsc are checked separately.
---
 src/modules/evas/engines/gl_common/evas_gl_core.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_core.c 
b/src/modules/evas/engines/gl_common/evas_gl_core.c
index 96d0807c39..786c54c825 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_core.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_core.c
@@ -88,7 +88,13 @@ error:
 static void
 _internal_resources_destroy(void *eng_data, EVGL_Resource *rsc)
 {
-   if ((!eng_data) || (!rsc)) return;
+   if (!rsc) return;
+
+   if (!eng_data)
+ {
+free(rsc);
+return;
+ }
 
if (rsc->context)
  evgl_engine->funcs->context_destroy(eng_data, rsc->context);

-- 




[EGIT] [core/efl] master 01/01: elc_naviframe: fix to show pushed item if top item is deleted

2020-07-01 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1e06c01f823ce652de5d9b21c19d2677d2788844

commit 1e06c01f823ce652de5d9b21c19d2677d2788844
Author: Jaehyun Cho 
Date:   Wed Jul 1 15:49:40 2020 +0900

elc_naviframe: fix to show pushed item if top item is deleted

If top item is deleted in "transition,finished" smart callback by user
before _on_item_push_finished is not finished, then pushed item is
hidden in _on_item_push_finished and no item is visible.

To resolve the above issue, _on_item_push_finished does not hide
pushed item if pushed item becomes top item.
---
 src/lib/elementary/elc_naviframe.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/src/lib/elementary/elc_naviframe.c 
b/src/lib/elementary/elc_naviframe.c
index 894d88e641..e68d5803b2 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -1088,6 +1088,13 @@ _on_item_push_finished(void *data,
 
ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd);
 
+   /* If pushed item becomes top item, then do not hide pushed item view.
+* If top item is deleted in "transition,finished" smart callback by user
+* before this function is called, then pushed item becomes top item.
+*/
+   if (EO_OBJ(it) == elm_naviframe_top_item_get(WIDGET(it)))
+ return;
+
evas_object_hide(VIEW(it));
 
elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");

-- 




[EGIT] [core/efl] master 01/01: evas_object_table: fix not to use hint_fill on elm_table

2020-06-16 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d2291f55dc1b904a98d12611a466223949aa294f

commit d2291f55dc1b904a98d12611a466223949aa294f
Author: Jaehyun Cho 
Date:   Tue Jun 16 20:40:59 2020 +0900

evas_object_table: fix not to use hint_fill on elm_table

Summary:
The hint_fill logic in evas_object_table was designed to be used for
Efl.Ui.Table not for elm_table.
Since Efl.Ui.Table does not use evas_object_table logic, hint_fill logic
in evas_object_table is removed.

Reviewers: YOhoho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11982
---
 src/lib/evas/canvas/evas_object_table.c | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_table.c 
b/src/lib/evas/canvas/evas_object_table.c
index e07496adb1..9d261bcd84 100644
--- a/src/lib/evas/canvas/evas_object_table.c
+++ b/src/lib/evas/canvas/evas_object_table.c
@@ -328,7 +328,6 @@ _evas_object_table_calculate_hints_homogeneous(Evas_Object 
*o, Evas_Table_Data *
Evas_Object_Table_Option *opt;
Evas_Coord minw, minh, o_minw, o_minh;
Eina_Bool expand_h, expand_v;
-   Eina_Bool fill_h, fill_v;
 
o_minw = 0;
o_minh = 0;
@@ -349,8 +348,6 @@ _evas_object_table_calculate_hints_homogeneous(Evas_Object 
*o, Evas_Table_Data *
(child, >pad.l, >pad.r, >pad.t, >pad.b);
 evas_object_size_hint_align_get(child, >align.h, >align.v);
 evas_object_size_hint_weight_get(child, , );
-//only for Efl.Ui.Table
-efl_gfx_hint_fill_get(child, _h, _v);
 
 child_minw = opt->min.w + opt->pad.l + opt->pad.r;
 child_minh = opt->min.h + opt->pad.t + opt->pad.b;
@@ -376,13 +373,13 @@ 
_evas_object_table_calculate_hints_homogeneous(Evas_Object *o, Evas_Table_Data *
  expand_v = 1;
   }
 
-opt->fill_h = fill_h;
+opt->fill_h = 0;
 if (opt->align.h < 0.0)
   {
  opt->align.h = 0.5;
  opt->fill_h = 1;
   }
-opt->fill_v = fill_v;
+opt->fill_v = 0;
 if (opt->align.v < 0.0)
   {
  opt->align.v = 0.5;

-- 




[EGIT] [core/efl] efl-1.24 28/31: edje_cc_handlers: update documentation of "fixed" to be clearer

2020-06-15 Thread Jaehyun Cho
stefan pushed a commit to branch efl-1.24.

http://git.enlightenment.org/core/efl.git/commit/?id=b9d126d2e2c45b5e1a856dd621af30761b2cc3ab

commit b9d126d2e2c45b5e1a856dd621af30761b2cc3ab
Author: Jaehyun Cho 
Date:   Thu Jun 11 18:57:30 2020 +0900

edje_cc_handlers: update documentation of "fixed" to be clearer

Summary:
Since "fixed" does not affect the group size by the part's min size, the
documentation is updated to be clearer.

Reviewers: woohyun, raster

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11934
---
 src/bin/edje/edje_cc_handlers.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 16996932ff..0ced3e3308 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -8830,8 +8830,8 @@ st_collections_group_parts_part_description_align(void)
 This affects the minimum size calculation. See
 edje_object_size_min_calc() and edje_object_size_min_restricted_calc().
 This tells the min size calculation routine that this part does not
-change size in width or height (1 for it doesn't, 0 for it does), so
-the routine should not try and expand or contract the part.
+change group size in width or height (1 for it doesn't, 0 for it does),
+so the routine should not try and expand or contract the group.
 
 Defaults: 0 0
 @endproperty

-- 




[EGIT] [core/efl] master 01/01: edje_cc_handlers: update documentation of "fixed" to be clearer

2020-06-11 Thread Jaehyun Cho
woohyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6ff0241706ea1f823c626faced4e318c0b36e6c8

commit 6ff0241706ea1f823c626faced4e318c0b36e6c8
Author: Jaehyun Cho 
Date:   Thu Jun 11 18:57:30 2020 +0900

edje_cc_handlers: update documentation of "fixed" to be clearer

Summary:
Since "fixed" does not affect the group size by the part's min size, the
documentation is updated to be clearer.

Reviewers: woohyun, raster

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11934
---
 src/bin/edje/edje_cc_handlers.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 16996932ff..0ced3e3308 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -8830,8 +8830,8 @@ st_collections_group_parts_part_description_align(void)
 This affects the minimum size calculation. See
 edje_object_size_min_calc() and edje_object_size_min_restricted_calc().
 This tells the min size calculation routine that this part does not
-change size in width or height (1 for it doesn't, 0 for it does), so
-the routine should not try and expand or contract the part.
+change group size in width or height (1 for it doesn't, 0 for it does),
+so the routine should not try and expand or contract the group.
 
 Defaults: 0 0
 @endproperty

-- 




[EGIT] [core/efl] master 01/01: elc_naviframe: fix to delete item once by elm_object_item_del in pop_cb

2020-03-05 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2f9b4a7080b0b3ed1cf3f98e73f19e7fa135afae

commit 2f9b4a7080b0b3ed1cf3f98e73f19e7fa135afae
Author: Jaehyun Cho 
Date:   Fri Mar 6 13:25:04 2020 +0900

elc_naviframe: fix to delete item once by elm_object_item_del in pop_cb

If elm_object_item_del is called in pop_cb and pop_cb returns
EINA_FALSE, then the given item is destructed by _item_noref when
efl_unref is called after pop_cb.

After the above destruction, efl_del is called after the above efl_unref
and it deletes the item again.

Not to delete item after the item is destructed, efl_del after pop_cb is
removed.
---
 src/bin/elementary/test_naviframe.c | 43 ++---
 src/lib/elementary/elc_naviframe.c  |  4 +---
 2 files changed, 41 insertions(+), 6 deletions(-)

diff --git a/src/bin/elementary/test_naviframe.c 
b/src/bin/elementary/test_naviframe.c
index 81696148ba..36e4bdb332 100644
--- a/src/bin/elementary/test_naviframe.c
+++ b/src/bin/elementary/test_naviframe.c
@@ -65,6 +65,43 @@ _promote(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
elm_naviframe_item_promote(data);
 }
 
+Eina_Bool
+_pop_cb(void *data EINA_UNUSED, Elm_Object_Item *it)
+{
+   elm_object_item_del(it);
+
+   /* If EINA_TRUE is returned, pop transition effect happens and then the item
+* is automatically deleted.
+* If EINA_FALSE is returned, pop transition effect does not happen and the
+* item is not automatically deleted.
+*/
+   return EINA_FALSE;
+}
+
+void
+_page9(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Evas_Object *bt, *bt2, *nf = data;
+   Elm_Object_Item *it;
+
+   bt = elm_button_add(nf);
+   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   BUTTON_TEXT_SET(bt, "Page 8");
+
+   bt2 = elm_button_add(nf);
+   evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   BUTTON_TEXT_SET(bt2, "Page 1");
+   evas_object_smart_callback_add(bt2, "clicked", _promote,
+  evas_object_data_get(nf, "page1"));
+
+   it = elm_naviframe_item_push(nf, "Page 9", bt, bt2, NULL, NULL);
+   elm_object_item_part_text_set(it, "subtitle", "Callback for naviframe item 
pop is set");
+
+   elm_naviframe_item_pop_cb_set(it, _pop_cb, NULL);
+
+   evas_object_smart_callback_add(bt, "clicked", _navi_pop, nf);
+}
+
 void
 _page8(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
 {
@@ -78,9 +115,9 @@ _page8(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 
bt2 = elm_button_add(nf);
evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   BUTTON_TEXT_SET(bt2, "Page 1");
-   evas_object_smart_callback_add(bt2, "clicked", _promote,
-  evas_object_data_get(nf, "page1"));
+   BUTTON_TEXT_SET(bt2, "Page 9");
+   evas_object_smart_callback_add(bt2, "clicked", _page9, nf);
+
content = _content_new(nf, img6);
it = elm_naviframe_item_push(nf, "Page 8", bt, bt2, content, NULL);
elm_object_item_part_text_set(it, "subtitle", "Overlap style!");
diff --git a/src/lib/elementary/elc_naviframe.c 
b/src/lib/elementary/elc_naviframe.c
index 10368cb014..894d88e641 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -1733,9 +1733,7 @@ _elm_naviframe_item_pop(Eo *obj, Elm_Naviframe_Data *sd)
 if (!it->pop_cb(it->pop_data, eo_item))
   {
  efl_unref(eo_item);
- if (it->delete_me)
-   efl_del(eo_item);
- else
+ if (!it->delete_me)
{
   /* To avoid multiple item pops, the auto pushed button 
deletes
  its clicked callback once it is called.

-- 




[EGIT] [core/efl] master 01/01: edje_load: fix possible null pointer dereference

2020-02-26 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=070333c8cc72effb209d9023e3ace681e35dced5

commit 070333c8cc72effb209d9023e3ace681e35dced5
Author: Jaehyun Cho 
Date:   Wed Feb 26 16:52:38 2020 +0900

edje_load: fix possible null pointer dereference
---
 src/lib/edje/edje_load.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index a3c2e3ca15..553d989a81 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -954,8 +954,10 @@ _edje_object_file_set_internal(Evas_Object *obj, const 
Eina_File *file, const ch
  case EDJE_PART_TYPE_VECTOR:
rp->type = EDJE_RP_TYPE_VECTOR;
rp->typedata.vector = calloc(1, 
sizeof(Edje_Real_Part_Vector));
-   if (!rp->typedata.vector) memerr = EINA_TRUE;
-   rp->typedata.vector->current_id = -1;
+   if (!rp->typedata.vector)
+ memerr = EINA_TRUE;
+   else
+ rp->typedata.vector->current_id = -1;
break;
 
  default:

-- 




[EGIT] [core/efl] master 01/01: database_expr: fix memory leak when type error happens

2020-02-24 Thread Jaehyun Cho
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4f88dfd10db05568b912e2ab76f62af5ab78aa23

commit 4f88dfd10db05568b912e2ab76f62af5ab78aa23
Author: Jaehyun Cho 
Date:   Mon Feb 24 15:52:25 2020 +0100

database_expr: fix memory leak when type error happens

Summary: Memory leak is fixed when type error happens.

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11400
---
 src/lib/eolian/database_expr.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/eolian/database_expr.c b/src/lib/eolian/database_expr.c
index 38794a2f3c..b6d79bb19c 100644
--- a/src/lib/eolian/database_expr.c
+++ b/src/lib/eolian/database_expr.c
@@ -529,7 +529,10 @@ eval_exp(const Eolian_Unit *unit, Eolian_Expression *expr,
 
 /* assert int here, as we're clearly dealing with enum */
 if (!(mask & EOLIAN_MASK_INT))
-  return expr_type_error(expr, EOLIAN_MASK_INT, mask);
+  {
+ free(fulln);
+ return expr_type_error(expr, EOLIAN_MASK_INT, mask);
+  }
 
 etpd = eolian_unit_alias_by_name_get(unit, fulln);
 if (etpd && cb) cb((const Eolian_Object *)etpd, data);

-- 




[EGIT] [core/efl] master 01/01: Revert "elm_spinner: Fixed to apply the %d format."

2020-02-24 Thread Jaehyun Cho
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c8f26d96919f22e1d76e60c29c9dd9aac963293c

commit c8f26d96919f22e1d76e60c29c9dd9aac963293c
Author: Jaehyun Cho 
Date:   Fri Feb 21 09:07:13 2020 +

Revert "elm_spinner: Fixed to apply the %d format."

This reverts commit b8a24679a6f7995ccc1da19eb86c6c2ef6826d1a.

Differential Revision: https://phab.enlightenment.org/D11394
---
 src/lib/elementary/elm_slider.c| 102 ++---
 src/lib/elementary/elm_widget_slider.h |   1 -
 2 files changed, 6 insertions(+), 97 deletions(-)

diff --git a/src/lib/elementary/elm_slider.c b/src/lib/elementary/elm_slider.c
index a533fd5188..2c6c26b84d 100644
--- a/src/lib/elementary/elm_slider.c
+++ b/src/lib/elementary/elm_slider.c
@@ -1348,45 +1348,17 @@ 
_elm_slider_part_indicator_efl_ui_format_format_cb_set(Eo *obj, void *_pd EINA_U
efl_canvas_group_change(pd->obj);
 }
 
-static Eina_Bool
-_do_format_string(Elm_Slider_Data *sd, Eina_Strbuf *str, const Eina_Value 
value)
-{
-   switch (sd->indi_format_int)
- {
-  case 0:
-{
-   double v = 0.0;
-   if (!eina_value_double_convert(, ))
- ERR("Format conversion failed");
-   eina_strbuf_append_printf(str, sd->indi_template, v);
-   break;
-}
-  case 1:
-{
-   int v = 0;
-   if (!eina_value_int_convert(, ))
- ERR("Format conversion failed");
-   eina_strbuf_append_printf(str, sd->indi_template, v);
-   break;
-}
-  default:
- return EINA_FALSE;
- }
-   return EINA_TRUE;
-}
-
 static Eina_Bool
 _indi_default_format_cb(void *data, Eina_Strbuf *str, const Eina_Value value)
 {
+   const Eina_Value_Type *type = eina_value_type_get();
Elm_Slider_Data *sd = efl_data_scope_get(data, ELM_SLIDER_CLASS);
+   double v;
 
-   if (!_do_format_string(sd, str, value))
- {
-/* Fallback to just printing the value if format string fails (legacy 
behavior) */
-char *v = eina_value_to_string();
-eina_strbuf_append(str, v);
-free(v);
- }
+   if (type != EINA_VALUE_TYPE_DOUBLE) return EINA_FALSE;
+
+   eina_value_get(, );
+   eina_strbuf_append_printf(str, sd->indi_template, v);
 
return EINA_TRUE;
 }
@@ -1403,67 +1375,6 @@ _indi_default_format_free_cb(void *data)
  }
 }
 
-static Eina_Bool
-_is_valid_digit(char x)
-{
-   return ((x >= '0' && x <= '9') || (x == '.')) ? EINA_TRUE : EINA_FALSE;
-}
-
-static Eina_Bool
-_format_string_check(const char *fmt)
-{
-   const char *itr;
-   Eina_Bool found = EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-
-   for (itr = fmt; *itr; itr++)
- {
-if (itr[0] != '%') continue;
-if (itr[1] == '%')
-  {
- itr++;
- continue;
-  }
-
-if (!found)
-  {
- found = EINA_TRUE;
- for (itr++; *itr; itr++)
-   {
-  // FIXME: This does not properly support int64 or unsigned.
-  if ((*itr == 'd') || (*itr == 'u') || (*itr == 'i') ||
-  (*itr == 'o') || (*itr == 'x') || (*itr == 'X'))
-{
-   ret = EINA_TRUE;
-   break;
-}
-  else if ((*itr == 'f') || (*itr == 'F'))
-{
-   ret = EINA_FALSE;
-   break;
-}
-  else if (_is_valid_digit(*itr))
-{
-   continue;
-}
-  else
-{
-   ERR("Format string '%s' has unknown format element '%c' 
in format. It must have one format element of type 's', 'f', 'F', 'd', 'u', 
'i', 'o', 'x' or 'X'", fmt, *itr);
-   found = EINA_FALSE;
-   break;
-}
-   }
- if (!(*itr)) break;
-  }
-else
-  {
- break;
-  }
- }
-
-   return ret;
-}
-
 EOLIAN static void
 _elm_slider_part_indicator_efl_ui_format_format_string_set(Eo *obj, void *_pd 
EINA_UNUSED, const char *template, Efl_Ui_Format_String_Type type EINA_UNUSED)
 {
@@ -1472,7 +1383,6 @@ 
_elm_slider_part_indicator_efl_ui_format_format_string_set(Eo *obj, void *_pd EI
 
if (!template) return;
eina_stringshare_replace(>indi_template, template);
-   sd->indi_format_int = _format_string_check(sd->indi_template);
 
efl_ui_format_func_set(efl_part(pd->obj, "indicator"), pd->obj, 
_indi_default_format_cb, _indi_default_format_free_cb);
 }
diff --git a/src/lib/elementary/elm_widget_slider.h 
b/src/lib/elementary/elm_widget_slider.h
index c18f554e8c..8290045f8d 100644
--- a/src/lib/elementary/elm_widget_slider.h
+

[EGIT] [core/efl] master 01/01: elm_index: keep backward compatibility on size calculation

2020-02-06 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e938a34f05e2869ff622495e14a0c1d41ed1fe77

commit e938a34f05e2869ff622495e14a0c1d41ed1fe77
Author: Jaehyun Cho 
Date:   Fri Feb 7 15:54:01 2020 +0900

elm_index: keep backward compatibility on size calculation

To keep backward compatibility on size calculation, elm_index implements
group_calculate and the size calculation in the removed sizing_eval is
added to the implemented group_calculate in elm_index.
---
 src/lib/elementary/elm_index.c | 12 
 1 file changed, 12 insertions(+)

diff --git a/src/lib/elementary/elm_index.c b/src/lib/elementary/elm_index.c
index 00ac57c711..6a4751c6e2 100644
--- a/src/lib/elementary/elm_index.c
+++ b/src/lib/elementary/elm_index.c
@@ -516,6 +516,17 @@ _elm_index_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Index_Data *sd)
return int_ret;
 }
 
+EOLIAN static void
+_elm_index_efl_canvas_group_group_calculate(Eo *obj, Elm_Index_Data *_pd 
EINA_UNUSED)
+{
+   Evas_Coord minw = -1, minh = -1;
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+
+   edje_object_size_min_calc(wd->resize_obj, , );
+   evas_object_size_hint_min_set(obj, minw, minh);
+   evas_object_size_hint_max_set(obj, -1, -1);
+}
+
 EOLIAN static void
 _elm_index_item_efl_object_destructor(Eo *eo_item EINA_UNUSED, 
Elm_Index_Item_Data *it)
 {
@@ -1693,6 +1704,7 @@ 
_elm_index_item_efl_access_widget_action_elm_actions_get(const Eo *eo_it EINA_UN
 /* Internal EO APIs and hidden overrides */
 
 #define ELM_INDEX_EXTRA_OPS \
+   EFL_CANVAS_GROUP_CALC_OPS(elm_index), \
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_index)
 
 #include "elm_index_item_eo.c"

-- 




[EGIT] [core/efl] master 01/02: efl_ui_spotlight: rename Manager_XXX and Indicator_XXX

2020-01-22 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3e21d343492686d38ae8cb488a929e3af07d8d4e

commit 3e21d343492686d38ae8cb488a929e3af07d8d4e
Author: Jaehyun Cho 
Date:   Thu Jan 23 12:55:12 2020 +0900

efl_ui_spotlight: rename Manager_XXX and Indicator_XXX

Summary:
In spotlight classes, "Manager" and "Indicator" are used as prefix in
the class names.
e.g. Efl.Ui.Spotlight.Manager_Plain, Efl.Ui.Spotlight.Indicator_Icon

However, those classes are basically manager and indicator classes with
different features. Therefore, "Manager" and "Indicator" should be used
as postfix in the class names.
e.g. Efl.Ui.Spotlight.Plain_Manager, Efl.Ui.Spotlight.Icon_Indicator

However, for the easier usage of C APIs, c_prefix of those classes are
remained to be "efl_ui_spotlight_manager_xxx" and
"efl_ui_spotlight_indicator_xxx".

Reviewers: segfaultxavi, bu5hm4n, zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11142
---
 src/bin/elementary/test_ui_pager.c |  2 +-
 src/bin/elementary/test_ui_pager_scroll.c  |  2 +-
 src/bin/elementary/test_ui_spotlight.c |  2 +-
 src/bin/elementary/test_ui_tab_pager.c |  4 +--
 src/examples/elementary/efl_ui_slideshow_example.c |  4 +--
 src/lib/elementary/Efl_Ui.h|  6 ++--
 src/lib/elementary/efl_ui_pager.c  |  2 +-
 src/lib/elementary/efl_ui_spotlight_container.c|  8 ++---
 ...or_icon.c => efl_ui_spotlight_icon_indicator.c} | 20 ++--
 ..._icon.eo => efl_ui_spotlight_icon_indicator.eo} |  3 +-
 ...er_plain.c => efl_ui_spotlight_plain_manager.c} | 32 +-
 ..._plain.eo => efl_ui_spotlight_plain_manager.eo} |  3 +-
 ..._scroll.c => efl_ui_spotlight_scroll_manager.c} | 38 +++---
 ...croll.eo => efl_ui_spotlight_scroll_manager.eo} |  3 +-
 ...er_stack.c => efl_ui_spotlight_stack_manager.c} | 28 
 ..._stack.eo => efl_ui_spotlight_stack_manager.eo} |  3 +-
 src/lib/elementary/efl_ui_spotlight_util.c |  2 +-
 src/lib/elementary/efl_ui_stack.c  |  2 +-
 src/lib/elementary/meson.build | 16 -
 src/tests/elementary/efl_ui_test_spotlight.c   |  4 +--
 20 files changed, 94 insertions(+), 90 deletions(-)

diff --git a/src/bin/elementary/test_ui_pager.c 
b/src/bin/elementary/test_ui_pager.c
index 34792f3832..c9ec2d6222 100644
--- a/src/bin/elementary/test_ui_pager.c
+++ b/src/bin/elementary/test_ui_pager.c
@@ -316,7 +316,7 @@ static void indicator_icon_btn_cb(void *data, const 
Efl_Event *ev EINA_UNUSED)
 {
Params *params = data;
 
-   params->indicator = efl_add(EFL_PAGE_INDICATOR_ICON_CLASS, params->pager);
+   params->indicator = efl_add(EFL_PAGE_ICON_INDICATOR_CLASS, params->pager);
efl_ui_pager_indicator_set(params->pager, params->indicator);
 }
 
diff --git a/src/bin/elementary/test_ui_pager_scroll.c 
b/src/bin/elementary/test_ui_pager_scroll.c
index c60ac486b2..7c1211e31b 100644
--- a/src/bin/elementary/test_ui_pager_scroll.c
+++ b/src/bin/elementary/test_ui_pager_scroll.c
@@ -369,7 +369,7 @@ static void indicator_icon_btn_cb(void *data,
 {
Params *params = data;
 
-   params->indicator = efl_add(EFL_PAGE_INDICATOR_ICON_CLASS, params->pager);
+   params->indicator = efl_add(EFL_PAGE_ICON_INDICATOR_CLASS, params->pager);
efl_ui_pager_indicator_set(params->pager, params->indicator);
 }
 
diff --git a/src/bin/elementary/test_ui_spotlight.c 
b/src/bin/elementary/test_ui_spotlight.c
index f38dfca754..cf52bb750a 100644
--- a/src/bin/elementary/test_ui_spotlight.c
+++ b/src/bin/elementary/test_ui_spotlight.c
@@ -396,7 +396,7 @@ indicator_icon_btn_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
 {
Params *params = data;
 
-   params->indicator = efl_new(EFL_UI_SPOTLIGHT_INDICATOR_ICON_CLASS);
+   params->indicator = efl_new(EFL_UI_SPOTLIGHT_ICON_INDICATOR_CLASS);
efl_ui_spotlight_indicator_set(params->spotlight, params->indicator);
 }
 
diff --git a/src/bin/elementary/test_ui_tab_pager.c 
b/src/bin/elementary/test_ui_tab_pager.c
index 62e4e7df09..2500b4d484 100644
--- a/src/bin/elementary/test_ui_tab_pager.c
+++ b/src/bin/elementary/test_ui_tab_pager.c
@@ -527,14 +527,14 @@ _tab_cb(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info)
 static void
 _tran_set_btn_scroll_cb(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-   Efl_Ui_Spotlight_Manager_Scroll *scroll = 
efl_new(EFL_UI_SPOTLIGHT_MANAGER_SCROLL_CLASS);
+   Efl_Ui_Spotlight_Scroll_Manager *scroll = 
efl_new(EFL_UI_SPOTLIGHT_SCROLL_MANAGER_CLASS);
efl_ui_spotlight_manager_set(data, scroll);
 }
 
 static void
 _tran_set_btn_stack_cb(void *data, const Efl_Event *ev EINA_UNUSED)

[EGIT] [core/efl] master 02/02: efl_ui_spotlight: rename Stack_Manager to Fade_Manager

2020-01-22 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=09e3972d14aaf2b61690d119660490cf9d9929a4

commit 09e3972d14aaf2b61690d119660490cf9d9929a4
Author: Jaehyun Cho 
Date:   Thu Jan 23 12:55:16 2020 +0900

efl_ui_spotlight: rename Stack_Manager to Fade_Manager

Summary:
Since Stack_Manager displays fade in/out transition effects, the class
name is renamed from Stack_Manager to Fade_Manager.

Depends on D11142

Reviewers: segfaultxavi, bu5hm4n, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11143
---
 src/bin/elementary/test_ui_tab_pager.c |  2 +-
 src/examples/elementary/efl_ui_slideshow_example.c |  2 +-
 src/lib/elementary/Efl_Ui.h|  2 +-
 ...k_manager.c => efl_ui_spotlight_fade_manager.c} | 28 +++---
 ...manager.eo => efl_ui_spotlight_fade_manager.eo} |  4 ++--
 src/lib/elementary/efl_ui_spotlight_util.c |  2 +-
 src/lib/elementary/efl_ui_stack.c  |  2 +-
 src/lib/elementary/meson.build |  4 ++--
 src/tests/elementary/efl_ui_test_spotlight.c   |  4 ++--
 9 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/src/bin/elementary/test_ui_tab_pager.c 
b/src/bin/elementary/test_ui_tab_pager.c
index 2500b4d484..1cc0055051 100644
--- a/src/bin/elementary/test_ui_tab_pager.c
+++ b/src/bin/elementary/test_ui_tab_pager.c
@@ -534,7 +534,7 @@ _tran_set_btn_scroll_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
 static void
 _tran_set_btn_stack_cb(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-   Efl_Ui_Spotlight_Scroll_Manager *stack = 
efl_new(EFL_UI_SPOTLIGHT_STACK_MANAGER_CLASS);
+   Efl_Ui_Spotlight_Scroll_Manager *stack = 
efl_new(EFL_UI_SPOTLIGHT_FADE_MANAGER_CLASS);
efl_ui_spotlight_manager_set(data, stack);
 }
 
diff --git a/src/examples/elementary/efl_ui_slideshow_example.c 
b/src/examples/elementary/efl_ui_slideshow_example.c
index f1429843d0..4be9865bd3 100644
--- a/src/examples/elementary/efl_ui_slideshow_example.c
+++ b/src/examples/elementary/efl_ui_slideshow_example.c
@@ -94,7 +94,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
efl_event_callback_add(efl_added, 
EFL_UI_SPOTLIGHT_EVENT_TRANSITION_END, _container_end, NULL),
efl_pack_table(table, efl_added, 0, 0, 1, 1));
efl_ui_spotlight_indicator_set(container, 
efl_new(EFL_UI_SPOTLIGHT_ICON_INDICATOR_CLASS));
-   efl_ui_spotlight_manager_set(container, 
efl_new(EFL_UI_SPOTLIGHT_STACK_MANAGER_CLASS));
+   efl_ui_spotlight_manager_set(container, 
efl_new(EFL_UI_SPOTLIGHT_FADE_MANAGER_CLASS));
 
for (int i = 0; i < IMG_NUM; i++)
  {
diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h
index 64497913db..c010581c74 100644
--- a/src/lib/elementary/Efl_Ui.h
+++ b/src/lib/elementary/Efl_Ui.h
@@ -268,7 +268,7 @@ typedef Eo Efl_Ui_Spotlight_Indicator;
 # include 
 # include 
 # include 
-# include 
+# include 
 # include 
 # include 
 # include 
diff --git a/src/lib/elementary/efl_ui_spotlight_stack_manager.c 
b/src/lib/elementary/efl_ui_spotlight_fade_manager.c
similarity index 79%
rename from src/lib/elementary/efl_ui_spotlight_stack_manager.c
rename to src/lib/elementary/efl_ui_spotlight_fade_manager.c
index 253a7259f4..da70a3848f 100644
--- a/src/lib/elementary/efl_ui_spotlight_stack_manager.c
+++ b/src/lib/elementary/efl_ui_spotlight_fade_manager.c
@@ -14,12 +14,12 @@ typedef struct {
int ids[2]; //only used when in animation
Eina_Size2D page_size;
Eina_Bool animation;
-} Efl_Ui_Spotlight_Stack_Manager_Data;
+} Efl_Ui_Spotlight_Fade_Manager_Data;
 
-#define MY_CLASS EFL_UI_SPOTLIGHT_STACK_MANAGER_CLASS
+#define MY_CLASS EFL_UI_SPOTLIGHT_FADE_MANAGER_CLASS
 
 static void
-_geom_sync(Eo *obj EINA_UNUSED, Efl_Ui_Spotlight_Stack_Manager_Data *pd)
+_geom_sync(Eo *obj EINA_UNUSED, Efl_Ui_Spotlight_Fade_Manager_Data *pd)
 {
Eina_Rect group_pos = efl_gfx_entity_geometry_get(pd->container);
Eina_Rect goal = EINA_RECT_EMPTY();
@@ -37,7 +37,7 @@ _geom_sync(Eo *obj EINA_UNUSED, 
Efl_Ui_Spotlight_Stack_Manager_Data *pd)
 static void
 _running_cb(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-   Efl_Ui_Spotlight_Stack_Manager_Data *pd = efl_data_scope_safe_get(data, 
MY_CLASS);
+   Efl_Ui_Spotlight_Fade_Manager_Data *pd = efl_data_scope_safe_get(data, 
MY_CLASS);
double absolut_position;
 
EINA_SAFETY_ON_NULL_RETURN(pd);
@@ -58,7 +58,7 @@ _hide_object_cb(void *data, const Efl_Event *ev)
 }
 
 EOLIAN static void
-_efl_ui_spotlight_stack_manager_efl_ui_spotlight_manager_bind(Eo *obj, 
Efl_Ui_Spotlight_Stack_Manager_Data *pd, Efl_Ui_Spotlight_Container *spotlight)
+_efl_ui_spotlight_fade_manager_efl_ui_spotlight_manager_bind(Eo *obj, 
Efl_Ui_Spotlight_Fade_Manager_Data *pd, Efl_Ui_Spotlight_Containe

[EGIT] [core/efl] master 01/01: Revert "efl_mono: remove class ExtensionTag"

2020-01-21 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=700d87b3709c5eeb6fa7a238b24ae93e6fad4d68

commit 700d87b3709c5eeb6fa7a238b24ae93e6fad4d68
Author: Jaehyun Cho 
Date:   Wed Jan 22 11:33:41 2020 +0900

Revert "efl_mono: remove class ExtensionTag"

Extension Methods' classes have methods with same names and parameters.
e.g. Text(this Efl.Ui.ItemFactory fac)

Although the where clause contains different classes, they cannot be
identified as different methods by C# compiler.
e.g. Text(this Efl.Ui.ItemFactory fac) where T : Efl.Ui.Button
e.g. Text(this Efl.Ui.ItemFactory fac) where T : Efl.Ui.Check

As a result, to avoid ambiguous methods, ExtensionTag should be used as
a second parameter of each method.
e.g. Text(this Efl.Ui.ItemFactory fac, ExtensionTagmagic = null) where T : Efl.Ui.Button
e.g. Text(this Efl.Ui.ItemFactory fac, ExtensionTagmagic = null) where T : Efl.Ui.Check

This reverts commit 76631f502a8234c04ed8124bfdebe62ed5bdf954.
---
 src/bin/eolian_mono/eolian/mono/function_definition.hh | 10 ++
 src/bin/eolian_mono/eolian/mono/part_definition.hh |  5 +++--
 src/bindings/mono/efl_mono/Bind.cs | 14 ++
 3 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh 
b/src/bin/eolian_mono/eolian/mono/function_definition.hh
index fcc8a88f15..3c30cdd3fe 100644
--- a/src/bin/eolian_mono/eolian/mono/function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh
@@ -284,8 +284,9 @@ struct property_extension_method_definition_generator
   if (property.setter.is_engaged())
 {
   attributes::type_def prop_type = property.setter->parameters[0].type;
-  if (!as_generator(scope_tab(2) << "public static 
Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this 
Efl.Ui.ItemFactory fac) where T : "
-<< 
name_helpers::klass_full_concrete_or_interface_name(cls) <<  " {\n"
+  if (!as_generator(scope_tab(2) << "public static 
Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this 
Efl.Ui.ItemFactory fac, Efl.Csharp.ExtensionTag<"
+<< 
name_helpers::klass_full_concrete_or_interface_name(cls)
+<< ", T>magic = null) where T : " << 
name_helpers::klass_full_concrete_or_interface_name(cls) <<  " {\n"
 << scope_tab(2) << scope_tab << "return new 
Efl.BindableProperty<" << type(true) << ">(\"" << property.name << "\", fac);\n"
 << scope_tab(2) << "}\n\n"
 ).generate(sink, std::make_tuple(prop_type, 
prop_type), context))
@@ -300,8 +301,9 @@ struct property_extension_method_definition_generator
   if (property.setter.is_engaged())
 {
   attributes::type_def prop_type = property.setter->parameters[0].type;
-  if (!as_generator(scope_tab(2) << "public static 
Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this 
Efl.BindablePart part) where T : "
-<< 
name_helpers::klass_full_concrete_or_interface_name(cls) <<  " {\n"
+  if (!as_generator(scope_tab(2) << "public static 
Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this 
Efl.BindablePart part, Efl.Csharp.ExtensionTag<"
+<< 
name_helpers::klass_full_concrete_or_interface_name(cls)
+<< ", T>magic = null) where T : " << 
name_helpers::klass_full_concrete_or_interface_name(cls) <<  " {\n"
 << scope_tab(2) << scope_tab << 
"Contract.Requires(part != null, nameof(part));\n"
 << scope_tab(2) << scope_tab << "return new 
Efl.BindableProperty<" << type(true) << ">(part.PartName, \"" << property.name 
<< "\", part.Binder);\n"
 << scope_tab(2) << "}\n\n"
diff --git a/src/bin/eolian_mono/eolian/mono/part_definition.hh 
b/src/bin/eolian_mono/eolian/mono/part_definition.hh
index d87b0b56ac..4facf27209 100644
--- a/src/bin/eolian_mono/eolian/mono/part_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/part_definition.hh
@@ -70,8 +70,

[EGIT] [core/efl] master 01/01: efl_ui_spotlight_manager: fix not to change sub objects' color

2020-01-21 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a1350a0e3ea3ae51160ec1d9f95e4cf7346b0acc

commit a1350a0e3ea3ae51160ec1d9f95e4cf7346b0acc
Author: Jaehyun Cho 
Date:   Tue Jan 21 19:32:34 2020 +0900

efl_ui_spotlight_manager: fix not to change sub objects' color

Summary:
Widget's group_member_add() sets its sub objects' color with the
parent's color.
Since spotlight managers call group_member_add() with spotlight
container and its sub objects, the sub objects' color can be changed.
e.g. packed rectangle's color is changed to white (default color value)

To resolve the above issue, spotlight managers set data "_elm_leaveme"
before calling group_member_add() not to change sub objects' color.

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11134
---
 .../elementary/efl_ui_spotlight_manager_plain.c| 25 ++
 .../elementary/efl_ui_spotlight_manager_plain.eo   |  1 +
 .../elementary/efl_ui_spotlight_manager_scroll.c   |  3 +++
 .../elementary/efl_ui_spotlight_manager_stack.c| 19 +++-
 4 files changed, 47 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_spotlight_manager_plain.c 
b/src/lib/elementary/efl_ui_spotlight_manager_plain.c
index d9c52ab3db..81c954e62f 100644
--- a/src/lib/elementary/efl_ui_spotlight_manager_plain.c
+++ b/src/lib/elementary/efl_ui_spotlight_manager_plain.c
@@ -10,6 +10,7 @@ typedef struct {
Efl_Ui_Spotlight_Container * container;
Eina_Size2D page_size;
Efl_Ui_Widget *current_content;
+   Efl_Gfx_Entity *clipper;
Eina_Bool animation;
double last_pos;
 } Efl_Ui_Spotlight_Manager_Plain_Data;
@@ -36,6 +37,7 @@ _geom_sync(Eo *obj EINA_UNUSED, 
Efl_Ui_Spotlight_Manager_Plain_Data *pd)
goal.size = pd->page_size;
goal.y = (group_pos.y + group_pos.h/2)-pd->page_size.h/2;
goal.x = (group_pos.x + group_pos.w/2)-pd->page_size.w/2;
+   efl_gfx_entity_geometry_set(pd->clipper, goal);
efl_gfx_entity_geometry_set(entity, goal);
 }
 
@@ -48,8 +50,15 @@ 
_efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_bind(Eo *obj, Efl_Ui_Sp
 
 pd->container = spotlight;
 
+pd->clipper = efl_add(EFL_CANVAS_RECTANGLE_CLASS,
+  evas_object_evas_get(spotlight));
+evas_object_static_clip_set(pd->clipper, EINA_TRUE);
+efl_canvas_group_member_add(spotlight, pd->clipper);
+
 for (int i = 0; i < efl_content_count(spotlight) ; ++i) {
Efl_Gfx_Entity *elem = efl_pack_content_get(spotlight, i);
+   efl_key_data_set(elem, "_elm_leaveme", spotlight);
+   efl_canvas_object_clipper_set(elem, pd->clipper);
efl_canvas_group_member_add(pd->container, elem);
efl_gfx_entity_visible_set(elem, EINA_FALSE);
 }
@@ -81,6 +90,8 @@ _content_changed(Eo *obj, Efl_Ui_Spotlight_Manager_Plain_Data 
*pd)
 EOLIAN static void
 _efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_content_add(Eo *obj, 
Efl_Ui_Spotlight_Manager_Plain_Data *pd, Efl_Gfx_Entity *subobj, int index 
EINA_UNUSED)
 {
+   efl_key_data_set(subobj, "_elm_leaveme", pd->container);
+   efl_canvas_object_clipper_set(subobj, pd->clipper);
efl_canvas_group_member_add(pd->container, subobj);
efl_gfx_entity_visible_set(subobj, EINA_FALSE);
_content_changed(obj, pd);
@@ -89,6 +100,8 @@ 
_efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_content_add(Eo *obj, Ef
 EOLIAN static void
 _efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_content_del(Eo *obj, 
Efl_Ui_Spotlight_Manager_Plain_Data *pd, Efl_Gfx_Entity *subobj, int index 
EINA_UNUSED)
 {
+   efl_key_data_set(subobj, "_elm_leaveme", NULL);
+   efl_canvas_object_clipper_set(subobj, NULL);
efl_canvas_group_member_remove(pd->container, subobj);
if (pd->current_content == subobj)
  pd->current_content = NULL;
@@ -147,5 +160,17 @@ 
_efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_animated_transition_get
return pd->animation;
 }
 
+EOLIAN static void
+_efl_ui_spotlight_manager_plain_efl_object_invalidate(Eo *obj, 
Efl_Ui_Spotlight_Manager_Plain_Data *pd)
+{
+   efl_del(pd->clipper);
+
+   for (int i = 0; i < efl_content_count(pd->container); ++i)
+ {
+efl_canvas_object_clipper_set(efl_pack_content_get(pd->container, i), 
NULL);
+ }
+
+   efl_invalidate(efl_super(obj, MY_CLASS));
+}
 
 #include "efl_ui_spotlight_manager_plain.eo.c"
diff --git a/src/lib/elementary/efl_ui_spotlight_manager_plain.eo 
b/src/lib/elementary/efl_ui_spotlight_manager_plain.eo
index fd4f5d9664..23bf0e443e 100644
--- a/src/lib/elementary/efl_ui_spotlight_manager_plain.eo
+++ b/src/lib/elementary/efl_ui_spo

[EGIT] [core/efl] master 01/01: efl_canvas_animation: rename Animation_XXX to XXX_Animation

2020-01-19 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=40b73758a05d159086b286f26ebd4d1da19da4f9

commit 40b73758a05d159086b286f26ebd4d1da19da4f9
Author: Jaehyun Cho 
Date:   Mon Jan 20 12:53:09 2020 +0900

efl_canvas_animation: rename Animation_XXX to XXX_Animation

Summary:
In animation classes, "Animation" is not used as a namespace but it is
used as a prefix in the class names.
e.g. Efl.Canvas.Animation_Alpha

However, those classes are basically animation classes with different
features. Therefore, "Animation" should be used as a postfix in the
class names.
e.g. Efl.Canvas.Animation_Alpha -> Efl.Canvas.Alpha_Animation

However, for the easier usage of C APIs, c_prefix of animation classes
are remained to be "efl_animation_xxx".

Reviewers: segfaultxavi, bu5hm4n, zmike, Hermet, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11108
---
 src/bin/elementary/test_efl_anim_alpha.c   |  4 +-
 src/bin/elementary/test_efl_anim_group_parallel.c  |  8 +--
 .../elementary/test_efl_anim_group_sequential.c|  8 +--
 src/bin/elementary/test_efl_anim_interpolator.c|  2 +-
 src/bin/elementary/test_efl_anim_pause.c   |  4 +-
 src/bin/elementary/test_efl_anim_repeat.c  |  4 +-
 src/bin/elementary/test_efl_anim_rotate.c  | 12 ++--
 src/bin/elementary/test_efl_anim_scale.c   | 12 ++--
 src/bin/elementary/test_efl_anim_start_delay.c |  4 +-
 src/bin/elementary/test_efl_anim_translate.c   |  8 +--
 src/examples/evas/efl-canvas-animation.c   | 10 ++--
 .../elementary/efl_ui_spotlight_manager_stack.c|  2 +-
 src/lib/evas/Efl_Canvas.h  | 14 ++---
 src/lib/evas/Evas_Common.h | 54 -
 src/lib/evas/Evas_Eo.h | 68 +++---
 ...mation_alpha.c => efl_canvas_alpha_animation.c} | 22 +++
 ...tion_alpha.eo => efl_canvas_alpha_animation.eo} |  4 +-
 .../canvas/efl_canvas_alpha_animation_private.h| 19 ++
 src/lib/evas/canvas/efl_canvas_animation.eo|  4 +-
 .../canvas/efl_canvas_animation_alpha_private.h| 19 --
 .../canvas/efl_canvas_animation_group_private.h| 16 -
 .../canvas/efl_canvas_animation_rotate_private.h   | 30 --
 .../canvas/efl_canvas_animation_scale_private.h| 25 
 .../efl_canvas_animation_translate_private.h   | 16 -
 ...mation_group.c => efl_canvas_group_animation.c} | 36 ++--
 ...tion_group.eo => efl_canvas_group_animation.eo} |  6 +-
 .../canvas/efl_canvas_group_animation_private.h| 16 +
 ...lel.c => efl_canvas_parallel_group_animation.c} | 10 ++--
 ...l.eo => efl_canvas_parallel_group_animation.eo} |  5 +-
 ... efl_canvas_parallel_group_animation_private.h} |  0
 ...tion_rotate.c => efl_canvas_rotate_animation.c} | 30 +-
 ...on_rotate.eo => efl_canvas_rotate_animation.eo} |  6 +-
 .../canvas/efl_canvas_rotate_animation_private.h   | 30 ++
 ...mation_scale.c => efl_canvas_scale_animation.c} | 30 +-
 ...tion_scale.eo => efl_canvas_scale_animation.eo} |  6 +-
 .../canvas/efl_canvas_scale_animation_private.h| 25 
 ...l.c => efl_canvas_sequential_group_animation.c} | 10 ++--
 ...eo => efl_canvas_sequential_group_animation.eo} |  4 +-
 ...fl_canvas_sequential_group_animation_private.h} |  0
 ...ranslate.c => efl_canvas_translate_animation.c} | 30 +-
 ...nslate.eo => efl_canvas_translate_animation.eo} |  6 +-
 .../efl_canvas_translate_animation_private.h   | 16 +
 src/lib/evas/canvas/meson.build| 28 -
 43 files changed, 334 insertions(+), 329 deletions(-)

diff --git a/src/bin/elementary/test_efl_anim_alpha.c 
b/src/bin/elementary/test_efl_anim_alpha.c
index b364319279..3c5f62ca64 100644
--- a/src/bin/elementary/test_efl_anim_alpha.c
+++ b/src/bin/elementary/test_efl_anim_alpha.c
@@ -90,13 +90,13 @@ test_efl_anim_alpha(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void *
efl_event_callback_array_add(btn, animation_stats_cb(), ad);
 
//Show Animation
-   Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, 
win);
+   Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ALPHA_ANIMATION_CLASS, 
win);
efl_animation_alpha_set(show_anim, 0.0, 1.0);
efl_animation_duration_set(show_anim, 1.0);
efl_animation_final_state_keep_set(show_anim, EINA_TRUE);
 
//Hide Animation
-   Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, 
win);
+   Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ALPHA_ANIMATION_CLASS, 
win);
efl_animation_alpha_set(hide_anim, 1.0, 0.0);
efl_animation_duration_set(hide_anim, 1.0);
efl_animation_final_state_keep_set(hide_anim,

[EGIT] [core/efl] master 01/01: evas_gesture: change getter methods to read-only properties

2020-01-15 Thread Jaehyun Cho
xartigas pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=090df4331b9c680d50b884ccac8f39c0f312fc16

commit 090df4331b9c680d50b884ccac8f39c0f312fc16
Author: Jaehyun Cho 
Date:   Wed Jan 15 14:35:03 2020 +0100

evas_gesture: change getter methods to read-only properties

Summary:
From language bindings' perspective, it seems better that read-only
properties are provided instead of getter methods.

ref T8557

Reviewers: segfaultxavi, CHAN

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8557

Differential Revision: https://phab.enlightenment.org/D11094
---
 src/lib/evas/gesture/efl_canvas_gesture_flick.c |  4 ++--
 src/lib/evas/gesture/efl_canvas_gesture_flick.eo| 20 ++--
 src/lib/evas/gesture/efl_canvas_gesture_momentum.c  |  2 +-
 src/lib/evas/gesture/efl_canvas_gesture_momentum.eo | 10 +++---
 src/lib/evas/gesture/efl_canvas_gesture_zoom.c  |  4 ++--
 src/lib/evas/gesture/efl_canvas_gesture_zoom.eo | 20 ++--
 6 files changed, 40 insertions(+), 20 deletions(-)

diff --git a/src/lib/evas/gesture/efl_canvas_gesture_flick.c 
b/src/lib/evas/gesture/efl_canvas_gesture_flick.c
index 1095a84652..faa8e3812f 100644
--- a/src/lib/evas/gesture/efl_canvas_gesture_flick.c
+++ b/src/lib/evas/gesture/efl_canvas_gesture_flick.c
@@ -16,13 +16,13 @@ _efl_canvas_gesture_flick_efl_object_constructor(Eo *obj, 
Efl_Canvas_Gesture_Fli
 }
 
 EOLIAN static Eina_Vector2
-_efl_canvas_gesture_flick_momentum_get(Eo *obj EINA_UNUSED, 
Efl_Canvas_Gesture_Flick_Data *pd)
+_efl_canvas_gesture_flick_momentum_get(const Eo *obj EINA_UNUSED, 
Efl_Canvas_Gesture_Flick_Data *pd)
 {
return pd->momentum;
 }
 
 EOLIAN static double
-_efl_canvas_gesture_flick_angle_get(Eo *obj EINA_UNUSED, 
Efl_Canvas_Gesture_Flick_Data *pd)
+_efl_canvas_gesture_flick_angle_get(const Eo *obj EINA_UNUSED, 
Efl_Canvas_Gesture_Flick_Data *pd)
 {
return pd->angle;
 }
diff --git a/src/lib/evas/gesture/efl_canvas_gesture_flick.eo 
b/src/lib/evas/gesture/efl_canvas_gesture_flick.eo
index bec2f127c8..a624a529f9 100644
--- a/src/lib/evas/gesture/efl_canvas_gesture_flick.eo
+++ b/src/lib/evas/gesture/efl_canvas_gesture_flick.eo
@@ -10,15 +10,23 @@ class @beta Efl.Canvas.Gesture_Flick extends 
Efl.Canvas.Gesture
]]
c_prefix: efl_gesture_flick;
methods {
-  momentum_get {
- [[Gets flick gesture momentum value, this is, the direction in which 
the
+  @property momentum {
+ [[The flick gesture momentum value, this is, the direction in which 
the
pointer was flicked.]]
- return: Eina.Vector2; [[The momentum vector.]]
+ get {
+ }
+ values {
+momentum: Eina.Vector2; [[The momentum vector.]]
+ }
   }
-  angle_get {
- [[Gets flick gesture direction angle, this is, the angle in which the
+  @property angle {
+ [[The flick gesture direction angle, this is, the angle in which the
pointer was flicked.]]
- return: double; [[The angle value.]]
+ get {
+ }
+ values {
+angle: double; [[The angle value.]]
+ }
   }
}
implements {
diff --git a/src/lib/evas/gesture/efl_canvas_gesture_momentum.c 
b/src/lib/evas/gesture/efl_canvas_gesture_momentum.c
index e7eb34ad2b..91d2ca8f1d 100644
--- a/src/lib/evas/gesture/efl_canvas_gesture_momentum.c
+++ b/src/lib/evas/gesture/efl_canvas_gesture_momentum.c
@@ -16,7 +16,7 @@ _efl_canvas_gesture_momentum_efl_object_constructor(Eo *obj, 
Efl_Canvas_Gesture_
 }
 
 EOLIAN static Eina_Vector2
-_efl_canvas_gesture_momentum_momentum_get(Eo *obj EINA_UNUSED, 
Efl_Canvas_Gesture_Momentum_Data *pd)
+_efl_canvas_gesture_momentum_momentum_get(const Eo *obj EINA_UNUSED, 
Efl_Canvas_Gesture_Momentum_Data *pd)
 {
return pd->momentum;
 }
diff --git a/src/lib/evas/gesture/efl_canvas_gesture_momentum.eo 
b/src/lib/evas/gesture/efl_canvas_gesture_momentum.eo
index d3bd578e1c..715743c49b 100644
--- a/src/lib/evas/gesture/efl_canvas_gesture_momentum.eo
+++ b/src/lib/evas/gesture/efl_canvas_gesture_momentum.eo
@@ -10,9 +10,13 @@ class @beta Efl.Canvas.Gesture_Momentum extends 
Efl.Canvas.Gesture
]]
c_prefix: efl_gesture_momentum;
methods {
-  momentum_get {
- [[Gets the momentum value, this is, the direction in which the action 
occurred.]]
- return: Eina.Vector2; [[The momentum vector.]]
+  @property momentum {
+ [[The momentum value, this is, the direction in which the action 
occurred.]]
+ get {
+ }
+ values {
+momentum: Eina.Vector2; [[The momentum vector.]]
+ }
   }
}
implements {
diff --git a/src/lib/evas/gesture/efl_canvas_gesture_zoom.c 
b/src/lib/evas/gesture/efl_canvas_gesture_zoom.c
index 3ac4ffcbf4..9ea7533aeb 100644
--- a/src

[EGIT] [core/efl] master 01/01: efl_canvas_animation_group: preserve each animation's duration

2020-01-15 Thread Jaehyun Cho
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7661473f282f021fde1574f91fc8d6e7bf946382

commit 7661473f282f021fde1574f91fc8d6e7bf946382
Author: Jaehyun Cho 
Date:   Wed Jan 15 09:44:30 2020 +

efl_canvas_animation_group: preserve each animation's duration

To preserve each animation's duration, group animation's duration is
copied to each animation's duration only if group animation's duration
is set.

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D11104
---
 src/lib/evas/canvas/efl_canvas_animation_group.c | 15 ---
 src/lib/evas/canvas/efl_canvas_animation_group_private.h |  1 +
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_animation_group.c 
b/src/lib/evas/canvas/efl_canvas_animation_group.c
index b6a771501f..7dc7c24bb8 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_group.c
+++ b/src/lib/evas/canvas/efl_canvas_animation_group.c
@@ -7,8 +7,14 @@ _efl_canvas_animation_group_animation_add(Eo *eo_obj,
 {
if (!animation) return;
 
-   double duration = efl_animation_duration_get(efl_super(eo_obj, MY_CLASS));
-   efl_animation_duration_set(animation, duration);
+   /* To preserve each animation's duration, group animation's duration is
+* copied to each animation's duration only if group animation's duration is
+* set. */
+   if (pd->is_duration_set)
+ {
+double duration = efl_animation_duration_get(efl_super(eo_obj, 
MY_CLASS));
+efl_animation_duration_set(animation, duration);
+ }
 
Eina_Bool keep_final_state = efl_animation_final_state_keep_get(eo_obj);
efl_animation_final_state_keep_set(animation, keep_final_state);
@@ -50,6 +56,8 @@ 
_efl_canvas_animation_group_efl_canvas_animation_duration_set(Eo *eo_obj,
 
Efl_Canvas_Animation_Group_Data *pd,
 double duration)
 {
+   EINA_SAFETY_ON_FALSE_RETURN(duration >= 0.0);
+
efl_animation_duration_set(efl_super(eo_obj, MY_CLASS), duration);
duration = efl_animation_duration_get(eo_obj);
 
@@ -59,6 +67,8 @@ 
_efl_canvas_animation_group_efl_canvas_animation_duration_set(Eo *eo_obj,
  {
 efl_animation_duration_set(anim, duration);
  }
+
+   pd->is_duration_set = EINA_TRUE;
 }
 
 EOLIAN static void
@@ -96,7 +106,6 @@ _efl_canvas_animation_group_efl_object_constructor(Eo 
*eo_obj,
 Efl_Canvas_Animation_Group_Data 
*pd)
 {
eo_obj = efl_constructor(efl_super(eo_obj, MY_CLASS));
-
pd->animations = NULL;
 
return eo_obj;
diff --git a/src/lib/evas/canvas/efl_canvas_animation_group_private.h 
b/src/lib/evas/canvas/efl_canvas_animation_group_private.h
index 685e8f6063..335053d9c1 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_group_private.h
+++ b/src/lib/evas/canvas/efl_canvas_animation_group_private.h
@@ -12,4 +12,5 @@
 typedef struct _Efl_Canvas_Animation_Group_Data
 {
Eina_List *animations;
+   Eina_Bool is_duration_set : 1; //EINA_TRUE if duration is set
 } Efl_Canvas_Animation_Group_Data;

-- 




[EGIT] [core/efl] master 01/01: efl_mono: remove class ExtensionTag

2020-01-15 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=76631f502a8234c04ed8124bfdebe62ed5bdf954

commit 76631f502a8234c04ed8124bfdebe62ed5bdf954
Author: Jaehyun Cho 
Date:   Wed Jan 15 18:45:38 2020 +0900

efl_mono: remove class ExtensionTag

Summary:
Since class BindablePart and class BindableProperty use generic type
constraint as "where T : ", class ExtensionTag is no longer
needed.

Reviewers: SanghyeonLee, felipealmeida, YOhoho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11101
---
 src/bin/eolian_mono/eolian/mono/function_definition.hh | 10 --
 src/bin/eolian_mono/eolian/mono/part_definition.hh |  5 ++---
 src/bindings/mono/efl_mono/Bind.cs | 14 --
 3 files changed, 6 insertions(+), 23 deletions(-)

diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh 
b/src/bin/eolian_mono/eolian/mono/function_definition.hh
index df6f62a2fb..0c2adebe42 100644
--- a/src/bin/eolian_mono/eolian/mono/function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh
@@ -285,9 +285,8 @@ struct property_extension_method_definition_generator
   if (property.setter.is_engaged())
 {
   attributes::type_def prop_type = property.setter->parameters[0].type;
-  if (!as_generator(scope_tab(2) << "public static 
Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this 
Efl.Ui.ItemFactory fac, Efl.Csharp.ExtensionTag<"
-<< 
name_helpers::klass_full_concrete_or_interface_name(cls)
-<< ", T>magic = null) where T : " << 
name_helpers::klass_full_concrete_or_interface_name(cls) <<  " {\n"
+  if (!as_generator(scope_tab(2) << "public static 
Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this 
Efl.Ui.ItemFactory fac) where T : "
+<< 
name_helpers::klass_full_concrete_or_interface_name(cls) <<  " {\n"
 << scope_tab(2) << scope_tab << "return new 
Efl.BindableProperty<" << type(true) << ">(\"" << property.name << "\", fac);\n"
 << scope_tab(2) << "}\n\n"
 ).generate(sink, std::make_tuple(prop_type, 
prop_type), context))
@@ -302,9 +301,8 @@ struct property_extension_method_definition_generator
   if (property.setter.is_engaged())
 {
   attributes::type_def prop_type = property.setter->parameters[0].type;
-  if (!as_generator(scope_tab(2) << "public static 
Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this 
Efl.BindablePart part, Efl.Csharp.ExtensionTag<"
-<< 
name_helpers::klass_full_concrete_or_interface_name(cls)
-<< ", T>magic = null) where T : " << 
name_helpers::klass_full_concrete_or_interface_name(cls) <<  " {\n"
+  if (!as_generator(scope_tab(2) << "public static 
Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this 
Efl.BindablePart part) where T : "
+<< 
name_helpers::klass_full_concrete_or_interface_name(cls) <<  " {\n"
 << scope_tab(2) << scope_tab << 
"Contract.Requires(part != null, nameof(part));\n"
 << scope_tab(2) << scope_tab << "return new 
Efl.BindableProperty<" << type(true) << ">(part.PartName, \"" << property.name 
<< "\", part.Binder);\n"
 << scope_tab(2) << "}\n\n"
diff --git a/src/bin/eolian_mono/eolian/mono/part_definition.hh 
b/src/bin/eolian_mono/eolian/mono/part_definition.hh
index 4facf27209..d87b0b56ac 100644
--- a/src/bin/eolian_mono/eolian/mono/part_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/part_definition.hh
@@ -70,9 +70,8 @@ struct part_extension_method_definition_generator
 bindableClass = "Efl.BindableFactoryPart";
 
   if (!as_generator(
-scope_tab(2) << "public static " << bindableClass << "<" << 
part_klass_name << "> " << name_helpers::managed_part_name(part)

[EGIT] [core/efl] master 01/01: efl_gesture: rename Efl.Gesture.Events to Efl.Canvas.Gesture_Events

2020-01-13 Thread Jaehyun Cho
xartigas pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=914fa2fd7c197c8baf57e4601f0a506d2b68f373

commit 914fa2fd7c197c8baf57e4601f0a506d2b68f373
Author: Jaehyun Cho 
Date:   Mon Jan 13 14:24:30 2020 +0100

efl_gesture: rename Efl.Gesture.Events to Efl.Canvas.Gesture_Events

Summary:
Since the current Efl.Gesture.Events has canvas gesture events only,
Efl.Gesture.Events should be renamed to Efl.Canvas.Gesture_Events.

If other types of gesture events are newlly required later, which are
not based on canvas, then class Efl.XXX.Gesture_Events is required to
be introduced.

Reviewers: CHAN, segfaultxavi, bu5hm4n, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11073
---
 src/lib/evas/Efl_Canvas.h  |  2 +-
 src/lib/evas/Evas_Eo.h |  2 +-
 src/lib/evas/canvas/efl_canvas_object.eo   |  2 +-
 src/lib/evas/gesture/efl_canvas_gesture.c  |  2 +-
 src/lib/evas/gesture/efl_canvas_gesture.eo |  4 ++--
 src/lib/evas/gesture/efl_canvas_gesture_double_tap.eo  |  2 +-
 .../{efl_gesture_events.eo => efl_canvas_gesture_events.eo}| 10 +-
 src/lib/evas/gesture/efl_canvas_gesture_flick.eo   |  2 +-
 src/lib/evas/gesture/efl_canvas_gesture_long_tap.eo|  2 +-
 src/lib/evas/gesture/efl_canvas_gesture_momentum.eo|  2 +-
 src/lib/evas/gesture/efl_canvas_gesture_private.h  |  2 +-
 src/lib/evas/gesture/efl_canvas_gesture_tap.eo |  2 +-
 src/lib/evas/gesture/efl_canvas_gesture_triple_tap.eo  |  2 +-
 src/lib/evas/gesture/efl_canvas_gesture_zoom.eo|  2 +-
 src/lib/evas/gesture/meson.build   |  2 +-
 15 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/src/lib/evas/Efl_Canvas.h b/src/lib/evas/Efl_Canvas.h
index 1963aa2a55..dc3f61a43b 100644
--- a/src/lib/evas/Efl_Canvas.h
+++ b/src/lib/evas/Efl_Canvas.h
@@ -121,7 +121,7 @@ extern "C" {
 #include 
 #include 
 #include 
-#include 
+#include 
 
 
 #ifdef __cplusplus
diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
index 1137426a30..d9cc99932c 100644
--- a/src/lib/evas/Evas_Eo.h
+++ b/src/lib/evas/Evas_Eo.h
@@ -214,7 +214,7 @@ struct _Efl_Canvas_Object_Animation_Event
 #include "gesture/efl_canvas_gesture_recognizer_flick.eo.h"
 #include "gesture/efl_canvas_gesture_recognizer_zoom.eo.h"
 #include "gesture/efl_canvas_gesture_manager.eo.h"
-#include "gesture/efl_gesture_events.eo.h"
+#include "gesture/efl_canvas_gesture_events.eo.h"
 
 #include "canvas/efl_canvas_object.eo.h"
 #include "canvas/efl_canvas_object_animation.eo.h"
diff --git a/src/lib/evas/canvas/efl_canvas_object.eo 
b/src/lib/evas/canvas/efl_canvas_object.eo
index dbee3db658..bc02e56197 100644
--- a/src/lib/evas/canvas/efl_canvas_object.eo
+++ b/src/lib/evas/canvas/efl_canvas_object.eo
@@ -11,7 +11,7 @@ struct Efl.Event_Animator_Tick {
 
 abstract Efl.Canvas.Object extends Efl.Loop_Consumer implements 
Efl.Gfx.Entity, Efl.Gfx.Color, Efl.Gfx.Stack,
 Efl.Input.Interface, Efl.Gfx.Hint,
-Efl.Gfx.Mapping, Efl.Canvas.Pointer, 
Efl.Gesture.Events, Efl.Canvas.Object_Animation
+Efl.Gfx.Mapping, Efl.Canvas.Pointer, 
Efl.Canvas.Gesture_Events, Efl.Canvas.Object_Animation
 {
[[Efl canvas object abstract class
 
diff --git a/src/lib/evas/gesture/efl_canvas_gesture.c 
b/src/lib/evas/gesture/efl_canvas_gesture.c
index 0cc7f8d423..26f279f557 100644
--- a/src/lib/evas/gesture/efl_canvas_gesture.c
+++ b/src/lib/evas/gesture/efl_canvas_gesture.c
@@ -49,4 +49,4 @@ _efl_canvas_gesture_timestamp_get(const Eo *obj EINA_UNUSED, 
Efl_Canvas_Gesture_
 }
 
 #include "efl_canvas_gesture.eo.c"
-#include "efl_gesture_events.eo.c"
+#include "efl_canvas_gesture_events.eo.c"
diff --git a/src/lib/evas/gesture/efl_canvas_gesture.eo 
b/src/lib/evas/gesture/efl_canvas_gesture.eo
index eaced25ad8..22334e245e 100644
--- a/src/lib/evas/gesture/efl_canvas_gesture.eo
+++ b/src/lib/evas/gesture/efl_canvas_gesture.eo
@@ -1,5 +1,5 @@
 import efl_canvas_gesture_types;
-parse efl_gesture_events;
+parse efl_canvas_gesture_events;
 
 abstract @beta Efl.Canvas.Gesture extends Efl.Object
 {
@@ -11,7 +11,7 @@ abstract @beta Efl.Canvas.Gesture extends Efl.Object
 
  Typically this class is not used directly, instead, some sub-class of it 
(like
  @Efl.Canvas.Gesture_Tap or @Efl.Canvas.Gesture_Zoom) is retrieved from 
gesture events
- (like @[Efl.Gesture.Events.gesture,tap] or 
@[Efl.Gesture.Events.gesture,zoom]).
+ (like @[Efl.Canvas.Gesture_Events.gesture,tap]

[EGIT] [core/efl] master 01/01: eolian_mono: add missing tabs to apply indentation

2020-01-13 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=66c485d232bc2952d473fd7c877c952588a17ce6

commit 66c485d232bc2952d473fd7c877c952588a17ce6
Author: Jaehyun Cho 
Date:   Mon Jan 13 20:43:22 2020 +0900

eolian_mono: add missing tabs to apply indentation

Missing tabs are added to apply indentation.
---
 src/bin/eolian_mono/eolian/mono/events.hh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/eolian_mono/eolian/mono/events.hh 
b/src/bin/eolian_mono/eolian/mono/events.hh
index 2b85c7e1a0..2acfcbb4b5 100644
--- a/src/bin/eolian_mono/eolian/mono/events.hh
+++ b/src/bin/eolian_mono/eolian/mono/events.hh
@@ -229,7 +229,7 @@ struct pack_event_info_and_call_visitor
   return as_generator(
   indent.inc() << "Contract.Requires(e != null, 
nameof(e));\n"
   << indent.inc() << "IntPtr info = 
e.arg.NativeHandle;\n"
-  << "CallNativeEventCallback(" << library_name << ", 
\"_" << evt_c_name << "\", IntPtr.Zero, null);\n"
+  << indent.inc() << "CallNativeEventCallback(" << 
library_name << ", \"_" << evt_c_name << "\", IntPtr.Zero, null);\n"
   ).generate(sink, attributes::unused, *context);
}
bool operator()(attributes::complex_type_def const& type) const
@@ -241,7 +241,7 @@ struct pack_event_info_and_call_visitor
   return as_generator(
   indent.inc() << "Contract.Requires(e != null, 
nameof(e));\n"
   << indent.inc() << "IntPtr info = e.arg.Handle;\n"
-  << "CallNativeEventCallback(" << library_name << ", 
\"_" << evt_c_name << "\", IntPtr.Zero, null);\n"
+  << indent.inc() << "CallNativeEventCallback(" << 
library_name << ", \"_" << evt_c_name << "\", IntPtr.Zero, null);\n"
   ).generate(sink, attributes::unused, *context);
}
 };

-- 




[EGIT] [core/efl] master 01/02: eolian_mono: add namespace to extension methods of ItemFactory

2020-01-06 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1507ade7875ad485cedb49c0d32ce510685bd0e1

commit 1507ade7875ad485cedb49c0d32ce510685bd0e1
Author: Jaehyun Cho 
Date:   Mon Jan 6 19:07:28 2020 +0900

eolian_mono: add namespace to extension methods of ItemFactory

Summary:
Like other classes and methods, the classes and methods for extension
methods of ItemFactory are moved inside the namespace.
Consequently, the namespace in the class name for extension methods is
removed to avoid duplicate namespace name.

Reviewers: lauromoura, felipealmeida, YOhoho, woohyun

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10972
---
 src/bin/eolian_mono/eolian/mono/klass.hh | 10 --
 src/tests/efl_mono/Model.cs  |  1 +
 src/tests/efl_mono/Parts.cs  |  1 +
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh 
b/src/bin/eolian_mono/eolian/mono/klass.hh
index 478c6a9c80..6c6fd906cd 100644
--- a/src/bin/eolian_mono/eolian/mono/klass.hh
+++ b/src/bin/eolian_mono/eolian/mono/klass.hh
@@ -397,11 +397,14 @@ struct klass
  if (extension_method_stream.tellp() <= 0)
return true;
 
+ if (!name_helpers::open_namespaces(sink, cls.namespaces, context))
+   return false;
+
  if(!as_generator
 (lit("#if EFL_BETA\n")
  << "#pragma warning disable CS1591\n" // Disabling warnings as DocFx 
will hide these classes
- <<"public static class " << (string % "_") << 
name_helpers::klass_inherit_name(cls)
- << "_ExtensionMethods {\n"
+ << "public static class " << name_helpers::klass_concrete_name(cls)
+ << "ExtensionMethods {\n"
  << extension_method_stream.str()
  << "}\n"
  << "#pragma warning restore CS1591\n"
@@ -409,6 +412,9 @@ struct klass
 .generate(sink, cls.namespaces, context))
  return false;
 
+ if (!name_helpers::close_namespaces(sink, cls.namespaces, context))
+   return false;
+
  return true;
}
 
diff --git a/src/tests/efl_mono/Model.cs b/src/tests/efl_mono/Model.cs
index bb6ba3b01c..69596af25d 100644
--- a/src/tests/efl_mono/Model.cs
+++ b/src/tests/efl_mono/Model.cs
@@ -3,6 +3,7 @@
 using System;
 using System.Threading.Tasks;
 using System.Diagnostics.CodeAnalysis;
+using Efl.Ui;
 
 #if EFL_BETA
 
diff --git a/src/tests/efl_mono/Parts.cs b/src/tests/efl_mono/Parts.cs
index 3e2da24152..e206681e1a 100644
--- a/src/tests/efl_mono/Parts.cs
+++ b/src/tests/efl_mono/Parts.cs
@@ -19,6 +19,7 @@
 
 using System;
 using System.Diagnostics.CodeAnalysis;
+using Efl.Ui;
 
 namespace TestSuite {
 

-- 




[EGIT] [core/efl] master 01/01: csharp: add documentation of class Efl.Eo.Config in iwrapper

2019-12-20 Thread Jaehyun Cho
xartigas pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e16b32c37643d3243b2350df053474d84717c2a2

commit e16b32c37643d3243b2350df053474d84717c2a2
Author: Jaehyun Cho 
Date:   Fri Dec 20 09:44:41 2019 +0100

csharp: add documentation of class Efl.Eo.Config in iwrapper

Summary: Description and since efl version of the class Efl.Eo.Config is 
added.

Reviewers: YOhoho, lauromoura, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10933
---
 src/bindings/mono/eo_mono/iwrapper.cs | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/bindings/mono/eo_mono/iwrapper.cs 
b/src/bindings/mono/eo_mono/iwrapper.cs
index b4f1af9fcd..29a346dcc4 100644
--- a/src/bindings/mono/eo_mono/iwrapper.cs
+++ b/src/bindings/mono/eo_mono/iwrapper.cs
@@ -920,15 +920,26 @@ internal struct WrappingHandle
 public IntPtr NativeHandle { get; private set; }
 }
 
+/// 
+/// Manage the initialization and cleanup for the Efl object subsystem.
+/// Since EFL 1.24.
+/// 
 public static class Config
 {
-
+/// 
+/// Initialize the EFL object subsystem.
+/// Since EFL 1.24.
+/// 
 public static void Init()
 {
 Globals.efl_object_init();
 Globals.SetNativeDisposeCallbacks();
 }
 
+/// 
+/// Shutdown the EFL object subsystem.
+/// Since EFL 1.24.
+/// 
 public static void Shutdown()
 {
 Globals.efl_object_shutdown();

-- 




[EGIT] [core/efl] master 01/01: eolian_mono: change Constants class to static class

2019-12-19 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8146728c780914614ec49177edd5ea18030065e3

commit 8146728c780914614ec49177edd5ea18030065e3
Author: Jaehyun Cho 
Date:   Fri Dec 20 14:25:38 2019 +0900

eolian_mono: change Constants class to static class

Summary:
Since Constants class contains static readonly values only, the
Constants class is actually a static class.
Therefore, Constants class is changed from public partial class to
public static partial class.

ref T8398

Reviewers: YOhoho, lauromoura

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10929
---
 src/bin/eolian_mono/eolian/mono/variable_definition.hh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/eolian_mono/eolian/mono/variable_definition.hh 
b/src/bin/eolian_mono/eolian/mono/variable_definition.hh
index e63db2047d..fe9f6738e6 100644
--- a/src/bin/eolian_mono/eolian/mono/variable_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/variable_definition.hh
@@ -45,11 +45,11 @@ struct constant_definition_generator
   template
   bool generate(OutputIterator sink, attributes::constant_def constant, 
Context const& context) const
   {
-// Open partial class
+// Open static partial class
 if (!name_helpers::open_namespaces(sink, constant.namespaces, context))
   return false;
 
-if (!as_generator("public partial class Constants\n{\n").generate(sink, 
attributes::unused, context))
+if (!as_generator("public static partial class 
Constants\n{\n").generate(sink, attributes::unused, context))
   return false;
 
 std::string literal;
@@ -83,7 +83,7 @@ struct constant_definition_generator
 
 // FIXME missing documentation generator
 
-// Close partial class
+// Close static partial class
 if (!as_generator("}\n").generate(sink, attributes::unused, context))
   return false;
 

-- 




[EGIT] [core/efl] master 01/01: csharp: apply same form of "Since EFL" to all manual bindings .cs files

2019-12-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bfc095104cf286485672ea78049ca2677e6e5fea

commit bfc095104cf286485672ea78049ca2677e6e5fea
Author: Jaehyun Cho 
Date:   Tue Dec 17 20:04:01 2019 +0900

csharp: apply same form of "Since EFL" to all manual bindings .cs files

The following form of "Since EFL" is applied to descriptions of all
manual bindings .cs files.
/// Since EFL 1.XX.
---
 .../mono/efl_mono/efl_csharp_application.cs|  2 +-
 src/bindings/mono/eina_mono/eina_environment.cs|  6 +++---
 src/bindings/mono/eina_mono/eina_hash.cs   |  2 +-
 src/bindings/mono/eina_mono/eina_slice.cs  |  6 +++---
 src/bindings/mono/eina_mono/eina_value.cs  |  2 +-
 src/bindings/mono/eldbus_mono/eldbus_object.cs |  4 +---
 src/bindings/mono/eo_mono/iwrapper.cs  |  4 ++--
 src/bindings/mono/eo_mono/workaround.cs| 25 +++---
 8 files changed, 29 insertions(+), 22 deletions(-)

diff --git a/src/bindings/mono/efl_mono/efl_csharp_application.cs 
b/src/bindings/mono/efl_mono/efl_csharp_application.cs
index 63d9aacae8..17a777ec42 100644
--- a/src/bindings/mono/efl_mono/efl_csharp_application.cs
+++ b/src/bindings/mono/efl_mono/efl_csharp_application.cs
@@ -43,7 +43,7 @@ public enum Components : Int32
 /// 
 ///   Elementary Widget toolkit: Elm.
 /// it's depend of .
-/// Since EFL 1.24
+/// Since EFL 1.24.
 /// 
 Ui = Basic | 0x2,
 
diff --git a/src/bindings/mono/eina_mono/eina_environment.cs 
b/src/bindings/mono/eina_mono/eina_environment.cs
index 7cef31cbf1..e7f847b4e2 100644
--- a/src/bindings/mono/eina_mono/eina_environment.cs
+++ b/src/bindings/mono/eina_mono/eina_environment.cs
@@ -16,7 +16,7 @@ internal static class Environment
 /// 
 /// Returns the value of the environment variable named name.
 ///
-/// Since EFL 1.24
+/// Since EFL 1.24.
 /// 
 /// The name of the variable to be retrieved
 /// The value of the variable. null if not set.
@@ -28,7 +28,7 @@ internal static class Environment
 /// 
 /// Sets a native environment variable.
 ///
-/// Since EFL 1.24
+/// Since EFL 1.24.
 /// 
 /// The name of the variable
 /// The value to be set.
@@ -50,4 +50,4 @@ internal static partial class NativeCustomExportFunctions
 public static extern Eina.Error efl_mono_native_setenv(string name, string 
value, int overwrite);
 }
 
-}
\ No newline at end of file
+}
diff --git a/src/bindings/mono/eina_mono/eina_hash.cs 
b/src/bindings/mono/eina_mono/eina_hash.cs
index c254d58ae5..5b6f4735c1 100644
--- a/src/bindings/mono/eina_mono/eina_hash.cs
+++ b/src/bindings/mono/eina_mono/eina_hash.cs
@@ -196,7 +196,7 @@ public static class HashNativeFunctions
 
 /// Wrapper around native dictionary mapping keys to values.
 ///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
 public class Hash : IEnumerable>, 
IDisposable
 {
diff --git a/src/bindings/mono/eina_mono/eina_slice.cs 
b/src/bindings/mono/eina_mono/eina_slice.cs
index c7a1fd984f..e47da1071c 100644
--- a/src/bindings/mono/eina_mono/eina_slice.cs
+++ b/src/bindings/mono/eina_mono/eina_slice.cs
@@ -49,7 +49,7 @@ public interface ISliceBase
 
 /// Pointer to a slice of native memory.
 ///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
 [StructLayout(LayoutKind.Sequential)]
 public struct Slice : ISliceBase, IEquatable
@@ -114,7 +114,7 @@ public struct Slice : ISliceBase, IEquatable
 => (Length == other.Length) ^ (Mem == other.Mem);
 
 /// Returns whether lhs is equal to rhs.
-/// Since EFL 1.24
+/// Since EFL 1.24.
 /// 
 /// The left hand side of the operator.
 /// The right hand side of the operator.
@@ -134,7 +134,7 @@ public struct Slice : ISliceBase, IEquatable
 
 /// Pointer to a slice of native memory.
 ///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
 [StructLayout(LayoutKind.Sequential)]
 public struct RwSlice : ISliceBase, IEquatable
diff --git a/src/bindings/mono/eina_mono/eina_value.cs 
b/src/bindings/mono/eina_mono/eina_value.cs
index 2a2508e08b..5b203812da 100644
--- a/src/bindings/mono/eina_mono/eina_value.cs
+++ b/src/bindings/mono/eina_mono/eina_value.cs
@@ -927,7 +927,7 @@ static class ValueTypeMethods
 /// marshall_type_impl.hh in the generator). User-facing API still uses 
Eina.ValueType
 /// normally.
 ///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
 [EditorBrowsable(EditorBrowsableState.Never)]
 public class ValueTypeBox
diff --git a/src/bindings/mono/eldbus_mono/eldbus_object.cs 
b/src/bindings/mono/eldbus_mono/eldbus_object.cs
index 3c77d258c4..ed78fc7a15 100644
--- a/src/bindings/mono/eldbus_mono/eldbus_object.cs
+++ b/src/bindings/mono/eldbus_mono/eldbus_object.cs
@@ -292,9 +292,7 @@ public class Object : System.IDisposable
 /// 
 ///   Decrease object reference.
 /// If reference == 0 object will be freed and all its 
children.
-//

[EGIT] [core/efl] master 01/01: efl_canvas_object_animation: support duration 0

2019-12-06 Thread Jaehyun Cho
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=cb817caa808b927937bd1f73428acfc4ad7d03f2

commit cb817caa808b927937bd1f73428acfc4ad7d03f2
Author: Jaehyun Cho 
Date:   Fri Dec 6 16:27:06 2019 +

efl_canvas_object_animation: support duration 0

The duration of animation means how long the animation is executed.
Therefore, if duration is 0, then the final state of animation should be
applied to the target object immediately.

In this case, if final_state_keep is true, then the final state of
animation is preserved. Otherwise, the final state of animation is not
preserved.

ref T8436, T8513

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D10812
---
 src/lib/evas/canvas/efl_canvas_animation.c|  4 +--
 src/lib/evas/canvas/efl_canvas_object_animation.c | 10 +-
 src/tests/evas/efl_canvas_animation.c | 42 +++
 3 files changed, 53 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_animation.c 
b/src/lib/evas/canvas/efl_canvas_animation.c
index 53d006fd20..ae88deca24 100644
--- a/src/lib/evas/canvas/efl_canvas_animation.c
+++ b/src/lib/evas/canvas/efl_canvas_animation.c
@@ -9,7 +9,7 @@ _efl_canvas_animation_duration_set(Eo *eo_obj EINA_UNUSED,
 Efl_Canvas_Animation_Data *pd,
 double sec)
 {
-   EINA_SAFETY_ON_FALSE_RETURN(sec > 0.0);
+   EINA_SAFETY_ON_FALSE_RETURN(sec >= 0.0);
pd->duration = sec;
 }
 
@@ -146,7 +146,7 @@ _efl_canvas_animation_efl_object_constructor(Eo *obj, 
Efl_Canvas_Animation_Data
 EOLIAN static void
 _efl_canvas_animation_default_duration_set(double animation_time)
 {
-   EINA_SAFETY_ON_FALSE_RETURN(animation_time > 0.0);
+   EINA_SAFETY_ON_FALSE_RETURN(animation_time >= 0.0);
_default_animation_time = animation_time;
 }
 
diff --git a/src/lib/evas/canvas/efl_canvas_object_animation.c 
b/src/lib/evas/canvas/efl_canvas_object_animation.c
index 3fbc0e94f4..3069d067ba 100644
--- a/src/lib/evas/canvas/efl_canvas_object_animation.c
+++ b/src/lib/evas/canvas/efl_canvas_object_animation.c
@@ -43,7 +43,15 @@ _animator_cb(void *data, const Efl_Event *ev EINA_UNUSED)
 
duration = efl_animation_duration_get(pd->in->animation) / pd->in->speed;
elapsed_time = current - pd->in->run_start_time;
-   vector = elapsed_time / duration;
+   if (EINA_DBL_EQ(duration, 0))
+ {
+if (pd->in->speed < 0.0)
+  vector = -1.0;
+else
+  vector = 1.0;
+ }
+   else
+ vector = elapsed_time / duration;
 
/* When animation player starts, _animator_cb() is called immediately so
 * both elapsed time and progress are 0.0.
diff --git a/src/tests/evas/efl_canvas_animation.c 
b/src/tests/evas/efl_canvas_animation.c
index e7d0b16ff9..19b47a6429 100644
--- a/src/tests/evas/efl_canvas_animation.c
+++ b/src/tests/evas/efl_canvas_animation.c
@@ -42,8 +42,50 @@ EFL_START_TEST(efl_canvas_animation_default_value)
 }
 EFL_END_TEST
 
+static void
+_duration_zero_anim_running_cb(void *data, const Efl_Event *event)
+{
+   double animation_speed = *((double*) data);
+   double animation_running_position = *((double*) event->info);
+
+   if (animation_speed > 0.0)
+ ck_assert(EINA_DBL_EQ(animation_running_position, 1.0));
+   else
+ ck_assert(EINA_DBL_EQ(animation_running_position, 0.0));
+}
+
+static void
+helper_inc_int(void *data, const Efl_Event *event EINA_UNUSED)
+{
+   int *called = (int*) data;
+   *called+=1;
+}
+
+EFL_START_TEST(efl_canvas_animation_duration_zero)
+{
+   int running = 0;
+   Evas *evas = EVAS_TEST_INIT_EVAS();
+   Efl_Canvas_Rectangle *obj = efl_add(EFL_CANVAS_RECTANGLE_CLASS, evas);
+   Efl_Canvas_Animation *animation = efl_add(EFL_CANVAS_ANIMATION_CLASS, evas, 
efl_animation_duration_set(efl_added, 0.0));
+
+   double animation_speed = 1.0;
+   efl_event_callback_add(obj, 
EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, 
_duration_zero_anim_running_cb, _speed);
+   efl_event_callback_add(obj, 
EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, helper_inc_int , 
);
+   efl_canvas_object_animation_start(obj, animation, animation_speed, 0.0);
+   ck_assert(EINA_DBL_EQ(efl_canvas_object_animation_progress_get(obj), -1.0));
+   ck_assert_int_eq(running, 1);
+
+   running = 0;
+   animation_speed = -1.0;
+   efl_canvas_object_animation_start(obj, animation, animation_speed, 0.0);
+   ck_assert(EINA_DBL_EQ(efl_canvas_object_animation_progress_get(obj), -1.0));
+   ck_assert_int_eq(running, 1);
+}
+EFL_END_TEST
+
 void efl_test_canvas_animation(TCase *tc)
 {
tcase_add_test(tc, efl_canvas_animation_negative_double_checking);
tcase_add_test(tc, efl_canvas_animation_default_value);
+   tcase_add_test(tc, efl_canvas_animation_duration_zero);
 }

-- 




[EGIT] [core/efl] master 01/01: efl_mono: generate efl_canvas_text.eo.cs

2019-05-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a55777c9258f6cf0df1bb68377a9edb19a399caf

commit a55777c9258f6cf0df1bb68377a9edb19a399caf
Author: Jaehyun Cho 
Date:   Fri May 17 17:35:00 2019 +0900

efl_mono: generate efl_canvas_text.eo.cs

To use canvas text in efl csharp bindings, it is permitted to generate
efl_canvas_text.eo.cs.
---
 src/Makefile_Efl_Mono.am  | 1 -
 src/bindings/mono/meson.build | 1 -
 2 files changed, 2 deletions(-)

diff --git a/src/Makefile_Efl_Mono.am b/src/Makefile_Efl_Mono.am
index cc6e38570c..a5912b5c98 100644
--- a/src/Makefile_Efl_Mono.am
+++ b/src/Makefile_Efl_Mono.am
@@ -130,7 +130,6 @@ include Makefile_Eolian_Mono_Helper.am
 ### Efl C Sharp Binding
 
 evas_eolian_blacklisted_files = \
-lib/evas/canvas/efl_canvas_text.eo.cs \
 lib/evas/canvas/efl_canvas_scene3d.eo.cs \
 lib/evas/canvas/evas_canvas3d_camera.eo.cs \
 lib/evas/canvas/evas_canvas3d_light.eo.cs \
diff --git a/src/bindings/mono/meson.build b/src/bindings/mono/meson.build
index c55a8f4e37..69a5f8491f 100644
--- a/src/bindings/mono/meson.build
+++ b/src/bindings/mono/meson.build
@@ -42,7 +42,6 @@ mono_sublibs = [
 
 blacklisted_files = [
   'efl_class.eo',
-  'efl_canvas_text.eo',
   'efl_canvas_scene3d.eo',
   'evas_canvas3d_camera.eo',
   'evas_canvas3d_light.eo',

-- 




[EGIT] [core/efl] master 01/01: evas_gesture: fix meson.build to build and install correctly

2019-05-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=099eb2c315a277bda10f41709d7f936b0ae7fb20

commit 099eb2c315a277bda10f41709d7f936b0ae7fb20
Author: Jaehyun Cho 
Date:   Fri May 17 19:32:24 2019 +0900

evas_gesture: fix meson.build to build and install correctly
---
 src/lib/evas/gesture/meson.build | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/gesture/meson.build b/src/lib/evas/gesture/meson.build
index 3c7847aeac..04cb753fcd 100644
--- a/src/lib/evas/gesture/meson.build
+++ b/src/lib/evas/gesture/meson.build
@@ -29,13 +29,15 @@ foreach eo_file : pub_eo_files
 depfile : eo_file + '.d',
 install : true,
 install_dir : join_paths(dir_package_include, 'gesture'),
-command : [eolian_gen, '-I', meson.current_source_dir(), 
eolian_include_directories,
+command : eolian_gen + [ '-I', meson.current_source_dir(), 
eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), 
eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), 
eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), 
eo_file + '.d'),
'-gchd', '@INPUT@'])
 endforeach
 
+pub_evas_eo_files += files(pub_eo_files)
+
 pub_eo_types_files = [
   'efl_canvas_gesture_types.eot',
 ]
@@ -51,7 +53,7 @@ foreach eo_file : pub_eo_types_files
 depfile : eo_file + '.d',
 install : true,
 install_dir : join_paths(dir_package_include, 'gesture'),
-command : [eolian_gen, '-I', meson.current_source_dir(), 
eolian_include_directories,
+command : eolian_gen + ['-I', meson.current_source_dir(), 
eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), 
eo_file + '.h'),
'-o', 'd:' + join_paths(meson.current_build_dir(), 
eo_file + '.d'),
'-ghd', '@INPUT@'])

-- 




[EGIT] [core/efl] master 01/01: efl_canvas_text: fix to set halign correctly

2019-05-15 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6da6bd536e1386488d3e2e746659f113226a3e02

commit 6da6bd536e1386488d3e2e746659f113226a3e02
Author: Jaehyun Cho 
Date:   Wed May 15 21:53:02 2019 +0900

efl_canvas_text: fix to set halign correctly

Previously, halign_auto was AUTO_NORMAL when halign was set so the given
halign value could not be applied correctly.

Now, halign_auto is modified to AUTO_NONE before halign is set so the
given halign value is applied correctly.
---
 src/lib/evas/canvas/evas_object_textblock.c | 8 ++--
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index bb8deab1ce..c0948b1756 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -15995,11 +15995,6 @@ 
_efl_canvas_text_efl_text_font_font_bitmap_scalable_get(const Eo *obj EINA_UNUSE
_FMT(x) = v; \
_canvas_text_format_changed(obj, o);
 
-#define _FMT_DBL_SET(x, v) \
-   if (EINA_DBL_EQ(_FMT(x), v)) return; \
-   _FMT(x) = v; \
-   _canvas_text_format_changed(obj, o);
-
 /* Helper: updates format field of extended format information, and informs if 
changed. */
 #define _FMT_INFO_SET_START(x, v) \
Eina_Bool changed = EINA_FALSE; \
@@ -16453,8 +16448,9 @@ _efl_canvas_text_efl_text_format_halign_set(Eo *obj, 
Efl_Canvas_Text_Data *o,
   double value)
 {
ASYNC_BLOCK;
-   _FMT_DBL_SET(halign, value);
+   if (EINA_DBL_EQ(_FMT(halign), value)) return;
_FMT(halign_auto) = EVAS_TEXTBLOCK_ALIGN_AUTO_NONE;
+   _FMT_SET(halign, value);
 }
 
 static double

-- 




[EGIT] [core/efl] master 02/02: efl_ui_popup: add efl.background swallow part

2019-05-15 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b60ca228395670bc644e33fc5fe1ea546c3deaeb

commit b60ca228395670bc644e33fc5fe1ea546c3deaeb
Author: Jaehyun Cho 
Date:   Wed May 15 19:14:38 2019 +0900

efl_ui_popup: add efl.background swallow part

To make background part cover popup's bg image, efl.background swallow
part is added.
---
 data/elementary/themes/edc/efl/popup.edc | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/data/elementary/themes/edc/efl/popup.edc 
b/data/elementary/themes/edc/efl/popup.edc
index ac03f2642c..68714ade58 100644
--- a/data/elementary/themes/edc/efl/popup.edc
+++ b/data/elementary/themes/edc/efl/popup.edc
@@ -15,6 +15,11 @@ group { "efl/popup";
 image.normal: "rounded_square.png";
  }
   }
+  swallow { "efl.background";
+ desc { "default";
+rel.to: "bg";
+ }
+  }
   swallow { "efl.content";
  desc { "default";
 rel.to: "base";
@@ -34,7 +39,12 @@ group { "efl/alert_popup";
 min: 100 100;
 image.border: 15 15 15 15;
 image.normal: "rounded_square.png";
-  }
+ }
+  }
+  swallow { "efl.background";
+ desc { "default";
+rel.to: "bg";
+ }
   }
   spacer { "base";
  desc { "default";

-- 




[EGIT] [core/efl] master 01/02: efl_ui: fix to use Efl.Ui.Widget's "background" and "shadow" part class

2019-05-15 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6fd7c3f727102f2206a5ac08ad56902b96d64713

commit 6fd7c3f727102f2206a5ac08ad56902b96d64713
Author: Jaehyun Cho 
Date:   Wed May 15 17:23:32 2019 +0900

efl_ui: fix to use Efl.Ui.Widget's "background" and "shadow" part class

To use Efl.Ui.Widget's "background" and "shadow" part class, each widget
inheriting from Efl.Ui.Widget should not use their Part class for
"background" and "shadow" parts.
---
 src/lib/elementary/efl_ui_scroll_alert_popup.c | 12 +++-
 src/lib/elementary/efl_ui_text.c   | 12 +++-
 src/lib/elementary/efl_ui_text_alert_popup.c   | 12 +++-
 src/lib/elementary/efl_ui_textpath.c   | 13 -
 4 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/src/lib/elementary/efl_ui_scroll_alert_popup.c 
b/src/lib/elementary/efl_ui_scroll_alert_popup.c
index 54e28c5643..3ea05b1b2b 100644
--- a/src/lib/elementary/efl_ui_scroll_alert_popup.c
+++ b/src/lib/elementary/efl_ui_scroll_alert_popup.c
@@ -282,7 +282,17 @@ _efl_ui_scroll_alert_popup_efl_object_constructor(Eo *obj,
 
 /* Efl.Part begin */
 
-ELM_PART_OVERRIDE(efl_ui_scroll_alert_popup, EFL_UI_SCROLL_ALERT_POPUP, 
Efl_Ui_Scroll_Alert_Popup_Data)
+static Eina_Bool
+_part_is_efl_ui_scroll_alert_popup_part(const Eo *obj EINA_UNUSED, const char 
*part)
+{
+   //Use Efl.Ui.Widget's "background" and "shadow" parts
+   if (eina_streq(part, "background") || eina_streq(part, "shadow"))
+ return EINA_FALSE;
+
+   return EINA_TRUE;
+}
+
+ELM_PART_OVERRIDE_PARTIAL(efl_ui_scroll_alert_popup, 
EFL_UI_SCROLL_ALERT_POPUP, Efl_Ui_Scroll_Alert_Popup_Data, 
_part_is_efl_ui_scroll_alert_popup_part)
 ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_scroll_alert_popup, 
EFL_UI_SCROLL_ALERT_POPUP, Efl_Ui_Scroll_Alert_Popup_Data)
 ELM_PART_OVERRIDE_CONTENT_GET(efl_ui_scroll_alert_popup, 
EFL_UI_SCROLL_ALERT_POPUP, Efl_Ui_Scroll_Alert_Popup_Data)
 ELM_PART_OVERRIDE_CONTENT_UNSET(efl_ui_scroll_alert_popup, 
EFL_UI_SCROLL_ALERT_POPUP, Efl_Ui_Scroll_Alert_Popup_Data)
diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index 9cef215288..87f2ca5cc2 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -4054,7 +4054,17 @@ _efl_ui_text_text_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Text_Data *pd,
 
 #undef STRCMP
 
-ELM_PART_OVERRIDE(efl_ui_text, EFL_UI_TEXT, Efl_Ui_Text_Data)
+static Eina_Bool
+_part_is_efl_ui_text_part(const Eo *obj EINA_UNUSED, const char *part)
+{
+   //Use Efl.Ui.Widget's "background" and "shadow" parts
+   if (eina_streq(part, "background") || eina_streq(part, "shadow"))
+ return EINA_FALSE;
+
+   return EINA_TRUE;
+}
+
+ELM_PART_OVERRIDE_PARTIAL(efl_ui_text, EFL_UI_TEXT, Efl_Ui_Text_Data, 
_part_is_efl_ui_text_part)
 ELM_PART_OVERRIDE_TEXT_SET(efl_ui_text, EFL_UI_TEXT, Efl_Ui_Text_Data)
 ELM_PART_OVERRIDE_TEXT_GET(efl_ui_text, EFL_UI_TEXT, Efl_Ui_Text_Data)
 #include "efl_ui_text_part.eo.c"
diff --git a/src/lib/elementary/efl_ui_text_alert_popup.c 
b/src/lib/elementary/efl_ui_text_alert_popup.c
index 355b8c21f3..230328d21e 100644
--- a/src/lib/elementary/efl_ui_text_alert_popup.c
+++ b/src/lib/elementary/efl_ui_text_alert_popup.c
@@ -290,7 +290,17 @@ _efl_ui_text_alert_popup_efl_object_constructor(Eo *obj,
 
 /* Efl.Part begin */
 
-ELM_PART_OVERRIDE(efl_ui_text_alert_popup, EFL_UI_TEXT_ALERT_POPUP, 
Efl_Ui_Text_Alert_Popup_Data)
+static Eina_Bool
+_part_is_efl_ui_text_alert_popup_part(const Eo *obj EINA_UNUSED, const char 
*part)
+{
+   //Use Efl.Ui.Widget's "background" and "shadow" parts
+   if (eina_streq(part, "background") || eina_streq(part, "shadow"))
+ return EINA_FALSE;
+
+   return EINA_TRUE;
+}
+
+ELM_PART_OVERRIDE_PARTIAL(efl_ui_text_alert_popup, EFL_UI_TEXT_ALERT_POPUP, 
Efl_Ui_Text_Alert_Popup_Data, _part_is_efl_ui_text_alert_popup_part)
 ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_text_alert_popup, 
EFL_UI_TEXT_ALERT_POPUP, Efl_Ui_Text_Alert_Popup_Data)
 ELM_PART_OVERRIDE_CONTENT_GET(efl_ui_text_alert_popup, 
EFL_UI_TEXT_ALERT_POPUP, Efl_Ui_Text_Alert_Popup_Data)
 ELM_PART_OVERRIDE_CONTENT_UNSET(efl_ui_text_alert_popup, 
EFL_UI_TEXT_ALERT_POPUP, Efl_Ui_Text_Alert_Popup_Data)
diff --git a/src/lib/elementary/efl_ui_textpath.c 
b/src/lib/elementary/efl_ui_textpath.c
index 593339c059..10165607c7 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -748,7 +748,18 @@ _efl_ui_textpath_ellipsis_get(const Eo *obj EINA_UNUSED, 
Efl_Ui_Textpath_Data *p
 }
 
 /* Efl.Part begin */
-ELM_PART_OVERRIDE(efl_ui_textpath, EFL_UI_TEXTPATH, Efl_Ui_Textpath_Data)
+
+static Eina_Bool
+_part_is_efl_ui_textpath_part(const Eo *obj EINA_UNUSED, const char *part)
+{
+   //Use Efl.Ui.Widget's "background" an

[EGIT] [core/efl] master 01/02: efl_mono: move libeflcustomexportsmono.so to lib with versions by meson

2019-05-12 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ecce35c555be583c1a6447cca4a310eb1c1a9871

commit ecce35c555be583c1a6447cca4a310eb1c1a9871
Author: Jaehyun Cho 
Date:   Fri May 10 19:29:34 2019 +0900

efl_mono: move libeflcustomexportsmono.so to lib with versions by meson

meson generates libeflcustomexportsmono.so to lib/efl-mono-1/ directory
unlike other so files.
Moreover, the so file does not have versions in the file name unlike
other so files.

Like other so files, libeflcustomexportsmono.so is moved to lib
directory with versions in the file name.
---
 src/bindings/mono/meson.build | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bindings/mono/meson.build b/src/bindings/mono/meson.build
index e7c5e00d9a..c17956736f 100644
--- a/src/bindings/mono/meson.build
+++ b/src/bindings/mono/meson.build
@@ -94,8 +94,8 @@ blacklisted_files = [
 efl_mono_lib = library('eflcustomexportsmono',
 join_paths('..', '..', 'lib', 'efl_mono', 'efl_custom_exports_mono.c'),
 install : true,
-install_dir : join_paths(dir_lib, 'efl-mono-'+version_major),
-dependencies : [eo, eina, ecore]
+dependencies : [eo, eina, ecore],
+version : meson.project_version()
 )
 
 beta_option = []

-- 




[EGIT] [core/efl] master 02/02: efl_mono: generate efl_canvas_vg_object.eo.cs by meson

2019-05-12 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9d28d91626fd3704c5f9b046c7c18a49e8ac4888

commit 9d28d91626fd3704c5f9b046c7c18a49e8ac4888
Author: Jaehyun Cho 
Date:   Fri May 10 19:36:17 2019 +0900

efl_mono: generate efl_canvas_vg_object.eo.cs by meson

This commit is the same as 0e8f289d7dfb4c5877559917a57a3ac08545fb86
but this commit is for meson.

To use vector graphics in efl csharp bindings, it is permitted to
generate efl_canvas_vg_object.eo.cs.

Other efl_canvas_vg .eo.cs files have already been generated because the
file names were changed from efl_vg to efl_canvas_vg.
---
 src/bindings/mono/meson.build | 8 
 1 file changed, 8 deletions(-)

diff --git a/src/bindings/mono/meson.build b/src/bindings/mono/meson.build
index c17956736f..c55a8f4e37 100644
--- a/src/bindings/mono/meson.build
+++ b/src/bindings/mono/meson.build
@@ -53,14 +53,6 @@ blacklisted_files = [
   'evas_canvas3d_primitive.eo',
   'evas_canvas3d_scene.eo',
   'evas_canvas3d_texture.eo',
-  'efl_canvas_vg_object.eo',
-  'efl_vg.eo',
-  'efl_vg_container.eo',
-  'efl_vg_gradient.eo',
-  'efl_vg_gradient_radial.eo',
-  'efl_vg_gradient_linear.eo',
-  'efl_vg_root_node.eo',
-  'efl_vg_shape.eo.cs',
   'efl_io_buffer.eo',
   'efl_io_queue.eo',
   'efl_io_sizer.eo',

-- 




[EGIT] [core/efl] master 01/01: efl_mono: generate efl_canvas_vg_object.eo.cs

2019-05-09 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0e8f289d7dfb4c5877559917a57a3ac08545fb86

commit 0e8f289d7dfb4c5877559917a57a3ac08545fb86
Author: Jaehyun Cho 
Date:   Thu May 9 15:59:54 2019 +0900

efl_mono: generate efl_canvas_vg_object.eo.cs

To use vector graphics in efl csharp bindings, it is permitted to
generate efl_canvas_vg_object.eo.cs.

Other efl_canvas_vg .eo.cs files have already been generated because the
file names were changed from efl_vg to efl_canvas_vg.
---
 src/Makefile_Efl_Mono.am | 10 +-
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/src/Makefile_Efl_Mono.am b/src/Makefile_Efl_Mono.am
index 5c6d57e626..cc6e38570c 100644
--- a/src/Makefile_Efl_Mono.am
+++ b/src/Makefile_Efl_Mono.am
@@ -140,15 +140,7 @@ lib/evas/canvas/evas_canvas3d_node.eo.cs \
 lib/evas/canvas/evas_canvas3d_object.eo.cs \
 lib/evas/canvas/evas_canvas3d_primitive.eo.cs \
 lib/evas/canvas/evas_canvas3d_scene.eo.cs \
-lib/evas/canvas/evas_canvas3d_texture.eo.cs \
-lib/evas/canvas/efl_canvas_vg_object.eo.cs \
-lib/evas/canvas/efl_vg.eo.cs \
-lib/evas/canvas/efl_vg_container.eo.cs \
-lib/evas/canvas/efl_vg_gradient.eo.cs \
-lib/evas/canvas/efl_vg_gradient_radial.eo.cs \
-lib/evas/canvas/efl_vg_gradient_linear.eo.cs \
-lib/evas/canvas/efl_vg_root_node.eo.cs \
-lib/evas/canvas/efl_vg_shape.eo.cs
+lib/evas/canvas/evas_canvas3d_texture.eo.cs
 
 efl_eolian_blacklisted_files = \
 lib/efl/interfaces/efl_io_buffer.eo.cs \

-- 




[EGIT] [core/efl] master 01/01: efl_mono: fix to load libevas.so based on efl.Libs.Evas

2019-05-03 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=588dc4d0af05b405b1bf83dcc06ff051da08a6fc

commit 588dc4d0af05b405b1bf83dcc06ff051da08a6fc
Author: Jaehyun Cho 
Date:   Fri May 3 16:42:42 2019 +0900

efl_mono: fix to load libevas.so based on efl.Libs.Evas

libevas.so is loaded based on efl.Libs.Evas in efl_libs.cs.
Therefore, the hard coded string "evas" is replaced with efl.Libs.Evas.
---
 src/bindings/mono/efl_mono/efl_all.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bindings/mono/efl_mono/efl_all.cs 
b/src/bindings/mono/efl_mono/efl_all.cs
index 9a49730093..873bd67e48 100644
--- a/src/bindings/mono/efl_mono/efl_all.cs
+++ b/src/bindings/mono/efl_mono/efl_all.cs
@@ -30,7 +30,7 @@ static class UnsafeNativeMethods
 
 static UnsafeNativeMethods()
 {
-_evas_init = new Efl.Eo.FunctionWrapper("evas", 
"evas_init");
+_evas_init = new 
Efl.Eo.FunctionWrapper(efl.Libs.Evas, "evas_init");
 }
 
 public static void evas_init()

-- 




[EGIT] [core/efl] efl-1.22 45/84: efl_ui_stack: handle memory allocation fail

2019-05-01 Thread Jaehyun Cho
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=d79cc48fca6c905d486e14d759f3bdf79375ae25

commit d79cc48fca6c905d486e14d759f3bdf79375ae25
Author: Jaehyun Cho 
Date:   Wed Apr 24 14:44:19 2019 +0900

efl_ui_stack: handle memory allocation fail

check if memory allocation succeeds and handle memory allocation fail.
---
 src/lib/elementary/efl_ui_stack.c | 18 ++
 1 file changed, 18 insertions(+)

diff --git a/src/lib/elementary/efl_ui_stack.c 
b/src/lib/elementary/efl_ui_stack.c
index e7edcdaf57..c330fada92 100644
--- a/src/lib/elementary/efl_ui_stack.c
+++ b/src/lib/elementary/efl_ui_stack.c
@@ -162,6 +162,15 @@ _show_content_with_anim(Efl_Ui_Stack *obj, 
Efl_Ui_Stack_Data *pd, Content_Data *
efl_animation_player_target_set(pd->show, cd->content);
 
Transit_Data *td = calloc(1, sizeof(Transit_Data));
+   if (!td)
+ {
+ERR("Memory allocation error!");
+
+//show content without animation
+_show_content_without_anim(obj, cd->content);
+return;
+ }
+
td->cd = cd;
pd->show_td = td;
 
@@ -185,6 +194,15 @@ _hide_content_with_anim(Efl_Ui_Stack *obj EINA_UNUSED, 
Efl_Ui_Stack_Data *pd, Co
efl_animation_player_target_set(pd->hide, cd->content);
 
Transit_Data *td = calloc(1, sizeof(Transit_Data));
+   if (!td)
+ {
+ERR("Memory allocation error!");
+
+//hide content without animation
+_hide_content_without_anim(obj, cd->content);
+return;
+ }
+
td->cd = cd;
pd->hide_td = td;
 

-- 




[EGIT] [core/efl] efl-1.22 46/84: efl_canvas_animation_player: fix to apply animation when player starts

2019-05-01 Thread Jaehyun Cho
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=d5fb149db2afd11d6fa57c8ea3046edd811b19cc

commit d5fb149db2afd11d6fa57c8ea3046edd811b19cc
Author: Jaehyun Cho 
Date:   Wed Apr 24 14:44:50 2019 +0900

efl_canvas_animation_player: fix to apply animation when player starts

Previously, animation was not applied immediately when player starts
animation because elapsed time is 0.
This caused flickering object if animation begins with alpha 0 because
the alpha 0 animation is not applied immediately.

Now, animation is applied immediately when player start animation.
---
 src/lib/evas/canvas/efl_canvas_animation_player.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_animation_player.c 
b/src/lib/evas/canvas/efl_canvas_animation_player.c
index 677443a5f5..063f932d49 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_player.c
+++ b/src/lib/evas/canvas/efl_canvas_animation_player.c
@@ -84,8 +84,12 @@ _animator_cb(void *data)
 duration = efl_animation_duration_get(anim);
 elapsed_time = pd->time.current - pd->time.prev;
 vector = elapsed_time / duration;
-
-if (vector <= DBL_EPSILON)
+
+/* When animation player starts, _animator_cb() is called immediately 
so
+ * both elapsed time and progress are 0.0.
+ * Since it is the beginning of the animation if progress is 0.0, the
+ * following codes for animation should be executed. */
+if ((vector <= DBL_EPSILON) && (pd->progress != 0.0))
   return ECORE_CALLBACK_RENEW; // There is no update.
 
 //TODO: check negative play_speed.

-- 




[EGIT] [core/efl] master 01/01: Revert "efl.ui.widget: disable parts{} block for now"

2019-04-29 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=74135dcc3399d7074190a8fcd84137325dd6e256

commit 74135dcc3399d7074190a8fcd84137325dd6e256
Author: Jaehyun Cho 
Date:   Tue Apr 30 11:16:06 2019 +0900

Revert "efl.ui.widget: disable parts{} block for now"

This reverts commit 06aabbf8529edd5f09a1ce7c3c59237b2857e98a.

The original commit is reverted after release.
---
 src/lib/elementary/efl_ui_widget.eo | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/lib/elementary/efl_ui_widget.eo 
b/src/lib/elementary/efl_ui_widget.eo
index e765ddea8c..05ef4b3b7f 100644
--- a/src/lib/elementary/efl_ui_widget.eo
+++ b/src/lib/elementary/efl_ui_widget.eo
@@ -399,10 +399,10 @@ abstract Efl.Ui.Widget extends Efl.Canvas.Group 
implements Efl.Access.Object,
  return: bool; [[Returns $true if the widget is registered in the 
focus manager, $false if not.]]
   }
}
-//   parts {
-//  shadow: Efl.Ui.Widget_Part_Shadow;
-//  background: Efl.Ui.Widget_Part_Bg;
-//   }
+   parts {
+  shadow: Efl.Ui.Widget_Part_Shadow;
+  background: Efl.Ui.Widget_Part_Bg;
+   }
implements {
   class.constructor;
   Efl.Object.constructor;

-- 




[EGIT] [core/efl] master 01/01: efl_ui: fix not to call _on_child_del() after container is deleted

2019-04-26 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f3b9f7f0d8aee9bee9d9b16221a0477e21e23712

commit f3b9f7f0d8aee9bee9d9b16221a0477e21e23712
Author: Jaehyun Cho 
Date:   Fri Apr 26 17:57:24 2019 +0900

efl_ui: fix not to call _on_child_del() after container is deleted

If efl_ref() is called to child, then child may not be deleted when
container is deleted.
This causes _on_child_del() is called after container is deleted and it
causes crash if container data is accessed in _on_child_del().

To resolve the above issue, all callbacks of child are deleted not to
call _on_child_del() after container is deleted.
---
 src/lib/elementary/efl_ui_box.c  | 13 +
 src/lib/elementary/efl_ui_box.eo |  1 +
 src/lib/elementary/efl_ui_relative_layout.c  | 13 +
 src/lib/elementary/efl_ui_relative_layout.eo |  1 +
 src/lib/elementary/efl_ui_table.c| 13 +
 src/lib/elementary/efl_ui_table.eo   |  1 +
 6 files changed, 42 insertions(+)

diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c
index ce3304132d..b58c37ab4f 100644
--- a/src/lib/elementary/efl_ui_box.c
+++ b/src/lib/elementary/efl_ui_box.c
@@ -180,6 +180,19 @@ _efl_ui_box_efl_object_constructor(Eo *obj, 
Efl_Ui_Box_Data *pd)
return obj;
 }
 
+EOLIAN static void
+_efl_ui_box_efl_object_invalidate(Eo *obj, Efl_Ui_Box_Data *pd)
+{
+   Eo *child;
+
+   efl_invalidate(efl_super(obj, MY_CLASS));
+
+   EINA_LIST_FREE(pd->children, child)
+ {
+efl_event_callback_array_del(child, efl_ui_box_callbacks(), obj);
+ }
+}
+
 /* CLEAN API BELOW */
 
 EOLIAN static int
diff --git a/src/lib/elementary/efl_ui_box.eo b/src/lib/elementary/efl_ui_box.eo
index 5e5950cd63..24f2928118 100644
--- a/src/lib/elementary/efl_ui_box.eo
+++ b/src/lib/elementary/efl_ui_box.eo
@@ -29,6 +29,7 @@ class @beta Efl.Ui.Box extends Efl.Ui.Widget implements 
Efl.Pack_Linear, Efl.Pac
}
implements {
   Efl.Object.constructor;
+  Efl.Object.invalidate;
   Efl.Canvas.Group.group_calculate;
   Efl.Gfx.Entity.position { set; }
   Efl.Gfx.Entity.size { set; }
diff --git a/src/lib/elementary/efl_ui_relative_layout.c 
b/src/lib/elementary/efl_ui_relative_layout.c
index 491c52f8af..d0d5ff441e 100644
--- a/src/lib/elementary/efl_ui_relative_layout.c
+++ b/src/lib/elementary/efl_ui_relative_layout.c
@@ -555,6 +555,19 @@ _efl_ui_relative_layout_efl_object_constructor(Eo *obj, 
Efl_Ui_Relative_Layout_D
return obj;
 }
 
+EOLIAN static void
+_efl_ui_relative_layout_efl_object_invalidate(Eo *obj, 
Efl_Ui_Relative_Layout_Data *pd)
+{
+   Eo *child;
+
+   efl_invalidate(efl_super(obj, MY_CLASS));
+
+   EINA_LIST_FREE(pd->children, child)
+ {
+efl_event_callback_array_del(child, 
efl_ui_relative_layout_callbacks(), pd);
+ }
+}
+
 EOLIAN static void
 _efl_ui_relative_layout_efl_object_destructor(Eo *obj, 
Efl_Ui_Relative_Layout_Data *pd)
 {
diff --git a/src/lib/elementary/efl_ui_relative_layout.eo 
b/src/lib/elementary/efl_ui_relative_layout.eo
index dff9c60801..b312070daa 100644
--- a/src/lib/elementary/efl_ui_relative_layout.eo
+++ b/src/lib/elementary/efl_ui_relative_layout.eo
@@ -69,6 +69,7 @@ class @beta Efl.Ui.Relative_Layout extends Efl.Ui.Widget 
implements Efl.Pack_Lay
}
implements {
   Efl.Object.constructor;
+  Efl.Object.invalidate;
   Efl.Object.destructor;
   Efl.Canvas.Group.group_calculate;
   Efl.Gfx.Entity.position { set; }
diff --git a/src/lib/elementary/efl_ui_table.c 
b/src/lib/elementary/efl_ui_table.c
index 402b812bc8..8a0c0c3cc5 100644
--- a/src/lib/elementary/efl_ui_table.c
+++ b/src/lib/elementary/efl_ui_table.c
@@ -234,6 +234,19 @@ _efl_ui_table_efl_object_constructor(Eo *obj, 
Efl_Ui_Table_Data *pd)
return obj;
 }
 
+EOLIAN static void
+_efl_ui_table_efl_object_invalidate(Eo *obj, Efl_Ui_Table_Data *pd)
+{
+   Table_Item *gi;
+
+   efl_invalidate(efl_super(obj, MY_CLASS));
+
+   EINA_INLIST_FREE(EINA_INLIST_GET(pd->items), gi)
+ {
+efl_event_callback_array_del(gi->object, efl_ui_table_callbacks(), 
obj);
+ }
+}
+
 EOLIAN static void
 _efl_ui_table_efl_pack_pack_padding_set(Eo *obj, Efl_Ui_Table_Data *pd, double 
h, double v, Eina_Bool scalable)
 {
diff --git a/src/lib/elementary/efl_ui_table.eo 
b/src/lib/elementary/efl_ui_table.eo
index dd4b0f7bc7..e2d34bfe0d 100644
--- a/src/lib/elementary/efl_ui_table.eo
+++ b/src/lib/elementary/efl_ui_table.eo
@@ -19,6 +19,7 @@ class @beta Efl.Ui.Table extends Efl.Ui.Widget implements 
Efl.Pack_Table, Efl.Pa
}
implements {
   Efl.Object.constructor;
+  Efl.Object.invalidate;
   Efl.Canvas.Group.group_calculate;
   Efl.Gfx.Entity.position { set; }
   Efl.Gfx.Entity.size { set; }

-- 




[EGIT] [core/efl] master 02/02: efl_canvas_animation_player: fix to apply animation when player starts

2019-04-24 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1bdb278f5c56bfbc3421055323f111ee3a5335fd

commit 1bdb278f5c56bfbc3421055323f111ee3a5335fd
Author: Jaehyun Cho 
Date:   Wed Apr 24 14:44:50 2019 +0900

efl_canvas_animation_player: fix to apply animation when player starts

Previously, animation was not applied immediately when player starts
animation because elapsed time is 0.
This caused flickering object if animation begins with alpha 0 because
the alpha 0 animation is not applied immediately.

Now, animation is applied immediately when player start animation.
---
 src/lib/evas/canvas/efl_canvas_animation_player.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_animation_player.c 
b/src/lib/evas/canvas/efl_canvas_animation_player.c
index 677443a5f5..063f932d49 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_player.c
+++ b/src/lib/evas/canvas/efl_canvas_animation_player.c
@@ -84,8 +84,12 @@ _animator_cb(void *data)
 duration = efl_animation_duration_get(anim);
 elapsed_time = pd->time.current - pd->time.prev;
 vector = elapsed_time / duration;
-
-if (vector <= DBL_EPSILON)
+
+/* When animation player starts, _animator_cb() is called immediately 
so
+ * both elapsed time and progress are 0.0.
+ * Since it is the beginning of the animation if progress is 0.0, the
+ * following codes for animation should be executed. */
+if ((vector <= DBL_EPSILON) && (pd->progress != 0.0))
   return ECORE_CALLBACK_RENEW; // There is no update.
 
 //TODO: check negative play_speed.

-- 




[EGIT] [core/efl] master 01/02: efl_ui_stack: handle memory allocation fail

2019-04-24 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=cf4854effbc94c53c25365ec4a3d794dff97c16b

commit cf4854effbc94c53c25365ec4a3d794dff97c16b
Author: Jaehyun Cho 
Date:   Wed Apr 24 14:44:19 2019 +0900

efl_ui_stack: handle memory allocation fail

check if memory allocation succeeds and handle memory allocation fail.
---
 src/lib/elementary/efl_ui_stack.c | 18 ++
 1 file changed, 18 insertions(+)

diff --git a/src/lib/elementary/efl_ui_stack.c 
b/src/lib/elementary/efl_ui_stack.c
index e7edcdaf57..c330fada92 100644
--- a/src/lib/elementary/efl_ui_stack.c
+++ b/src/lib/elementary/efl_ui_stack.c
@@ -162,6 +162,15 @@ _show_content_with_anim(Efl_Ui_Stack *obj, 
Efl_Ui_Stack_Data *pd, Content_Data *
efl_animation_player_target_set(pd->show, cd->content);
 
Transit_Data *td = calloc(1, sizeof(Transit_Data));
+   if (!td)
+ {
+ERR("Memory allocation error!");
+
+//show content without animation
+_show_content_without_anim(obj, cd->content);
+return;
+ }
+
td->cd = cd;
pd->show_td = td;
 
@@ -185,6 +194,15 @@ _hide_content_with_anim(Efl_Ui_Stack *obj EINA_UNUSED, 
Efl_Ui_Stack_Data *pd, Co
efl_animation_player_target_set(pd->hide, cd->content);
 
Transit_Data *td = calloc(1, sizeof(Transit_Data));
+   if (!td)
+ {
+ERR("Memory allocation error!");
+
+//hide content without animation
+_hide_content_without_anim(obj, cd->content);
+return;
+ }
+
td->cd = cd;
pd->hide_td = td;
 

-- 




[EGIT] [core/efl] efl-1.22 01/57: elementary: fix not to call duplicate theme set

2019-04-17 Thread Jaehyun Cho
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=6acb082aa9e63c658660445154061d794bd7d1f5

commit 6acb082aa9e63c658660445154061d794bd7d1f5
Author: Jaehyun Cho 
Date:   Fri Apr 5 04:05:37 2019 +

elementary: fix not to call duplicate theme set

Theme is set during finalize in Efl.Ui.Layout_Base.
Therefore, it is not necessary to call theme set function if the widget
inherits Efl.Ui.Layout_Base and its klass is properly set.

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D8559
---
 src/lib/elementary/efl_ui_list.c | 6 ++
 src/lib/elementary/efl_ui_scroller.c | 4 ++--
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c
index 2b2b077f24..1cb6f1061e 100644
--- a/src/lib/elementary/efl_ui_list.c
+++ b/src/lib/elementary/efl_ui_list.c
@@ -413,6 +413,8 @@ _efl_ui_list_size_hint_changed_cb(void *data, const 
Efl_Event *ev EINA_UNUSED)
 EOLIAN static Eo *
 _efl_ui_list_efl_object_constructor(Eo *obj, Efl_Ui_List_Data *pd EINA_UNUSED)
 {
+   if (!elm_widget_theme_klass_get(obj))
+ elm_widget_theme_klass_set(obj, "list");
obj = efl_constructor(efl_super(obj, MY_CLASS));
 
return obj;
@@ -426,10 +428,6 @@ _efl_ui_list_efl_object_finalize(Eo *obj,
 
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
 
-   Eina_Error theme_apply_ret = efl_ui_layout_theme_set(obj, "list", "base", 
efl_ui_widget_style_get(obj));
-   if (theme_apply_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC)
- CRI("list(%p) failed to set theme [efl/list:%s]!", obj, 
efl_ui_widget_style_get(obj) ?: "NULL");
-
pd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj);
efl_ui_mirrored_set(pd->smanager, efl_ui_mirrored_get(obj));
efl_composite_attach(obj, pd->smanager);
diff --git a/src/lib/elementary/efl_ui_scroller.c 
b/src/lib/elementary/efl_ui_scroller.c
index 5891e422f9..0fef382346 100644
--- a/src/lib/elementary/efl_ui_scroller.c
+++ b/src/lib/elementary/efl_ui_scroller.c
@@ -550,6 +550,8 @@ EOLIAN static Eo *
 _efl_ui_scroller_efl_object_constructor(Eo *obj,
 Efl_Ui_Scroller_Data *sd EINA_UNUSED)
 {
+   if (!elm_widget_theme_klass_get(obj))
+ elm_widget_theme_klass_set(obj, "scroller");
obj = efl_constructor(efl_super(obj, MY_CLASS));
 
return obj;
@@ -563,8 +565,6 @@ _efl_ui_scroller_efl_object_finalize(Eo *obj,
 
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
 
-   efl_ui_layout_theme_set(obj, "scroller", "base", 
efl_ui_widget_style_get(obj));
-
sd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj);
efl_ui_mirrored_set(sd->smanager, efl_ui_mirrored_get(obj));
efl_composite_attach(obj, sd->smanager);

-- 




[EGIT] [core/efl] efl-1.22 07/57: configure: fix build error of efl_custom_exports_mono.c

2019-04-17 Thread Jaehyun Cho
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=fc2f7170da3ac565a27094b1d1c9654410e24522

commit fc2f7170da3ac565a27094b1d1c9654410e24522
Author: Jaehyun Cho 
Date:   Mon Apr 8 16:28:18 2019 +0200

configure: fix build error of efl_custom_exports_mono.c

Reviewers: woohyun, lauromoura, akanad

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8577
---
 configure.ac | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configure.ac b/configure.ac
index 5a7dac3ac6..77ea290f42 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1435,6 +1435,7 @@ EFL_LIB_START_OPTIONAL([Efl_Custom_Exports_Mono], [test 
"x${want_csharp}" = "xye
 EFL_PLATFORM_DEPEND([EFL_CUSTOM_EXPORTS_MONO], [evil])
 EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eina])
 EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eo])
+EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Ecore])
 EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Efl])
 EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eldbus])
 

-- 




[EGIT] [core/efl] efl-1.22 30/57: efl_ui_list: fix to delete sub objects in efl_object_invalidate

2019-04-17 Thread Jaehyun Cho
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=1e6ada52781c8ccf8db30ac84027ae8f7424d3f2

commit 1e6ada52781c8ccf8db30ac84027ae8f7424d3f2
Author: Jaehyun Cho 
Date:   Thu Apr 11 20:14:43 2019 +0900

efl_ui_list: fix to delete sub objects in efl_object_invalidate

widget's sub objects and callbacks should be deleted in
efl_object_invalidate instead of efl_object_destructor.

@fix
---
 src/lib/elementary/efl_ui_list.c  | 6 --
 src/lib/elementary/efl_ui_list.eo | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c
index 1cb6f1061e..978aae3271 100644
--- a/src/lib/elementary/efl_ui_list.c
+++ b/src/lib/elementary/efl_ui_list.c
@@ -467,7 +467,7 @@ _efl_ui_list_efl_object_finalize(Eo *obj,
 }
 
 EOLIAN static void
-_efl_ui_list_efl_object_destructor(Eo *obj, Efl_Ui_List_Data *pd)
+_efl_ui_list_efl_object_invalidate(Eo *obj, Efl_Ui_List_Data *pd)
 {
_scroll_edje_object_detach(obj);
 
@@ -488,12 +488,14 @@ _efl_ui_list_efl_object_destructor(Eo *obj, 
Efl_Ui_List_Data *pd)
 
efl_del(pd->box);
pd->box = NULL;
+
efl_del(pd->pan);
pd->pan = NULL;
+
efl_del(pd->smanager);
pd->smanager = NULL;
 
-   efl_destructor(efl_super(obj, MY_CLASS));
+   efl_invalidate(efl_super(obj, MY_CLASS));
 }
 
 EOLIAN static void
diff --git a/src/lib/elementary/efl_ui_list.eo 
b/src/lib/elementary/efl_ui_list.eo
index 988c78c5cc..8a77e37261 100644
--- a/src/lib/elementary/efl_ui_list.eo
+++ b/src/lib/elementary/efl_ui_list.eo
@@ -42,7 +42,7 @@ class @beta Efl.Ui.List extends Efl.Ui.Layout_Base implements
   //Efl.Object
   Efl.Object.constructor;
   Efl.Object.finalize;
-  Efl.Object.destructor;
+  Efl.Object.invalidate;
 
   //Efl.Canvas
   Efl.Canvas.Group.group_calculate;

-- 




[EGIT] [core/efl] efl-1.22 49/57: efl_ui_pager: fix to delete component objects when pager is deleted

2019-04-17 Thread Jaehyun Cho
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=644894f714d9b12b3388fedb1730905c6a633138

commit 644894f714d9b12b3388fedb1730905c6a633138
Author: Jaehyun Cho 
Date:   Wed Apr 17 15:00:58 2019 +0900

efl_ui_pager: fix to delete component objects when pager is deleted

Pager creates Efl.Canvas.Rectangle objects when pager is constructed.
Since the parent of these component objects is evas, these component
objects are not deleted automatically when pager is deleted.
These component objects cause event block after pager is deleted.
(e.g. click event is blocked)
To resolve this issue, these component objects are deleted manually when
pager is deleted.
---
 src/lib/elementary/efl_ui_pager.c  | 13 +
 src/lib/elementary/efl_ui_pager.eo |  1 +
 2 files changed, 14 insertions(+)

diff --git a/src/lib/elementary/efl_ui_pager.c 
b/src/lib/elementary/efl_ui_pager.c
index bf81d1ac91..3e87b62226 100644
--- a/src/lib/elementary/efl_ui_pager.c
+++ b/src/lib/elementary/efl_ui_pager.c
@@ -379,6 +379,19 @@ _efl_ui_pager_efl_object_constructor(Eo *obj,
return obj;
 }
 
+EOLIAN static void
+_efl_ui_pager_efl_object_invalidate(Eo *obj,
+Efl_Ui_Pager_Data *pd)
+{
+   efl_invalidate(efl_super(obj, MY_CLASS));
+
+   /* Since the parent of foreclip and backclip is evas, foreclip and backclip
+* are not deleted automatically when pager is deleted.
+* Therefore, foreclip and backclip are deleted manually here. */
+   efl_del(pd->foreclip);
+   efl_del(pd->backclip);
+}
+
 EOLIAN static int
 _efl_ui_pager_efl_container_content_count(Eo *obj EINA_UNUSED,
   Efl_Ui_Pager_Data *pd)
diff --git a/src/lib/elementary/efl_ui_pager.eo 
b/src/lib/elementary/efl_ui_pager.eo
index 5a3a974adf..646be5accd 100644
--- a/src/lib/elementary/efl_ui_pager.eo
+++ b/src/lib/elementary/efl_ui_pager.eo
@@ -90,6 +90,7 @@ class @beta Efl.Ui.Pager extends Efl.Ui.Layout_Base 
implements Efl.Pack_Linear
}
implements {
   Efl.Object.constructor;
+  Efl.Object.invalidate;
   Efl.Container.content_count;
   Efl.Pack.pack_clear; //TODO
   Efl.Pack.unpack_all; //TODO

-- 




[EGIT] [core/efl] master 04/06: Revert "Revert "test/efl_ui_pager: fix demo""

2019-04-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=326b1e440a62ec9466c7c884944891caedaf5245

commit 326b1e440a62ec9466c7c884944891caedaf5245
Author: Jaehyun Cho 
Date:   Wed Apr 17 10:41:50 2019 +0900

Revert "Revert "test/efl_ui_pager: fix demo""

This reverts commit f652bf932837846c5911c26992196213780394df.

To restore d3bb1a7342b2725c585d90557926e0c433058e50 which implements
features during feature freeze period, the revert commit is reverted.
---
 src/bin/elementary/test_ui_pager.c | 30 ++
 1 file changed, 26 insertions(+), 4 deletions(-)

diff --git a/src/bin/elementary/test_ui_pager.c 
b/src/bin/elementary/test_ui_pager.c
index 78fb1b598e..32bc1d775a 100644
--- a/src/bin/elementary/test_ui_pager.c
+++ b/src/bin/elementary/test_ui_pager.c
@@ -36,7 +36,8 @@ typedef enum _Pack_Type {
PACK_BEFORE,
PACK_AFTER,
PACK_AT,
-   UNPACK_AT
+   UNPACK_AT,
+   CLEAR
 } Pack_Type;
 
 typedef struct _Params {
@@ -218,7 +219,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
Eo *page = NULL, *curr_page;
int index, cnt;
 
-   if (param->type != UNPACK_AT) {
+   if ((param->type != UNPACK_AT) && (param->type != CLEAR)) {
   index  = efl_content_count(pager);
 
   switch (index % 3) {
@@ -260,10 +261,12 @@ static void pack_btn_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
  break;
   case UNPACK_AT:
  index = efl_ui_range_value_get(param->unpack_sp);
- page = efl_pack_content_get(pager, index);
- efl_pack_unpack(pager, page);
+ page = efl_pack_unpack_at(pager, index);
  efl_del(page);
  break;
+  case CLEAR:
+ efl_pack_clear(pager);
+ break;
}
 
cnt = efl_content_count(pager);
@@ -587,6 +590,25 @@ static void pack_cb(void *data,
efl_pack_end(box, in_box2);
efl_pack_end(in_box2, btn);
efl_pack_end(in_box2, sp2);
+
+   // Clear
+   pack_param = calloc(1, sizeof(Pack_Params));
+   if (!pack_param) return;
+
+   pack_param->pager = pager;
+   pack_param->pack_sp = sp1;
+   pack_param->unpack_sp = sp2;
+   pack_param->unpack_btn = btn;
+   pack_param->type = CLEAR;
+
+   efl_add(EFL_UI_BUTTON_CLASS, box,
+   efl_text_set(efl_added, "Clear"),
+   efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
+  pack_btn_cb, pack_param),
+   efl_event_callback_add(efl_added, EFL_EVENT_DEL,
+  pack_btn_del_cb, pack_param),
+   efl_pack_end(box, efl_added));
+
 }
 
 static void current_page_cb(void *data,

-- 




[EGIT] [core/efl] master 01/06: Revert "Revert "efl_ui_pager: implement unpack_at function""

2019-04-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=cf029754eb0463aeda6473bdc2959aabec542ca5

commit cf029754eb0463aeda6473bdc2959aabec542ca5
Author: Jaehyun Cho 
Date:   Wed Apr 17 10:41:32 2019 +0900

Revert "Revert "efl_ui_pager: implement unpack_at function""

This reverts commit a10e1bc597f00865514f30d84268963dcbf3f599.

To restore 913a5bff66dd7a58753ccae1474657ec33350e43 which implements
features during feature freeze period, the revert commit is reverted.
---
 src/lib/elementary/efl_ui_pager.c | 17 -
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/lib/elementary/efl_ui_pager.c 
b/src/lib/elementary/efl_ui_pager.c
index bf81d1ac91..520398941c 100644
--- a/src/lib/elementary/efl_ui_pager.c
+++ b/src/lib/elementary/efl_ui_pager.c
@@ -853,12 +853,19 @@ _efl_ui_pager_efl_pack_unpack(Eo *obj,
 }
 
 EOLIAN static Efl_Gfx_Entity *
-_efl_ui_pager_efl_pack_linear_pack_unpack_at(Eo *obj EINA_UNUSED,
- Efl_Ui_Pager_Data *pd EINA_UNUSED,
- int index EINA_UNUSED)
+_efl_ui_pager_efl_pack_linear_pack_unpack_at(Eo *obj,
+ Efl_Ui_Pager_Data *pd,
+ int index)
 {
-   ERR("Soon to be implemented");
-   return NULL;
+   if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return NULL;
+
+   if ((index >= pd->cnt) || (index < 0)) return NULL;
+
+   Efl_Gfx_Entity *subobj = eina_list_nth(pd->content_list, index);
+
+   _unpack(obj, pd, subobj, index);
+
+   return subobj;
 }
 
 

-- 




[EGIT] [core/efl] master 05/06: Revert "Revert "elm - fix harmless warning for clean build""

2019-04-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=74d1a0ec0874f905a47b0d40301c4d6d5c7baeac

commit 74d1a0ec0874f905a47b0d40301c4d6d5c7baeac
Author: Jaehyun Cho 
Date:   Wed Apr 17 10:41:55 2019 +0900

Revert "Revert "elm - fix harmless warning for clean build""

This reverts commit d2eebb6f5faebc76a1a13494fd0721e8d63af410.

To restore e3d2a0cf1235beceb3b403e42d2dafed4b4e90e5 which implements
features during feature freeze period, the revert commit is reverted.
---
 src/lib/elementary/efl_page_transition_scroll.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_page_transition_scroll.c 
b/src/lib/elementary/efl_page_transition_scroll.c
index ac3c6dab1d..3908710cc6 100644
--- a/src/lib/elementary/efl_page_transition_scroll.c
+++ b/src/lib/elementary/efl_page_transition_scroll.c
@@ -427,7 +427,7 @@ _efl_page_transition_scroll_unpack_all(Eo *obj EINA_UNUSED,
 pi->content = NULL;
 pi->visible = EINA_FALSE;
  }
-   return EINA_TRUE;
+   return;
 }
 
 EOLIAN static void

-- 




[EGIT] [core/efl] master 02/06: Revert "Revert "efl_ui_pager: implement unpack_all/clear function""

2019-04-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b5c078bebbdc29126fcf6ea5f279912f2077829c

commit b5c078bebbdc29126fcf6ea5f279912f2077829c
Author: Jaehyun Cho 
Date:   Wed Apr 17 10:41:38 2019 +0900

Revert "Revert "efl_ui_pager: implement unpack_all/clear function""

This reverts commit b28f1e034b7ecbe7966b0d2b9687d8e22245837c.

To restore 74c48f029632d2260816b4cb3de6dbb40a29f040 which implements
features during feature freeze period, the revert commit is reverted.
---
 src/lib/elementary/efl_page_indicator.c | 13 ++-
 src/lib/elementary/efl_page_indicator_icon.c| 20 +-
 src/lib/elementary/efl_page_transition.c| 11 ++
 src/lib/elementary/efl_page_transition_scroll.c | 20 ++
 src/lib/elementary/efl_ui_pager.c   | 51 ++---
 src/lib/elementary/elm_priv.h   |  2 +
 6 files changed, 109 insertions(+), 8 deletions(-)

diff --git a/src/lib/elementary/efl_page_indicator.c 
b/src/lib/elementary/efl_page_indicator.c
index 57cd2bf9f9..6b0be267b2 100644
--- a/src/lib/elementary/efl_page_indicator.c
+++ b/src/lib/elementary/efl_page_indicator.c
@@ -42,6 +42,14 @@ _efl_page_indicator_unpack(Eo *obj EINA_UNUSED,
  pd->curr_idx--;
 }
 
+EOLIAN static void
+_efl_page_indicator_unpack_all(Eo *obj EINA_UNUSED,
+   Efl_Page_Indicator_Data *pd)
+{
+   pd->cnt = 0;
+   pd->curr_idx = -1;
+}
+
 EOLIAN static void
 _efl_page_indicator_bind(Eo *obj EINA_UNUSED,
  Efl_Page_Indicator_Data *pd,
@@ -72,6 +80,7 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_pack,
   EFL_FUNC_CALL(index), int index)
 EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_unpack,
   EFL_FUNC_CALL(index), int index)
+EOAPI EFL_VOID_FUNC_BODY(efl_page_indicator_unpack_all)
 
 #define EFL_PAGE_INDICATOR_EXTRA_OPS \
EFL_OBJECT_OP_FUNC(efl_page_indicator_update, \
@@ -79,6 +88,8 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_unpack,
EFL_OBJECT_OP_FUNC(efl_page_indicator_pack, \
   _efl_page_indicator_pack), \
EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack, \
-  _efl_page_indicator_unpack)
+  _efl_page_indicator_unpack), \
+   EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack_all, \
+  _efl_page_indicator_unpack_all)
 
 #include "efl_page_indicator.eo.c"
diff --git a/src/lib/elementary/efl_page_indicator_icon.c 
b/src/lib/elementary/efl_page_indicator_icon.c
index 3c9c54e75e..55326cfdd6 100644
--- a/src/lib/elementary/efl_page_indicator_icon.c
+++ b/src/lib/elementary/efl_page_indicator_icon.c
@@ -109,6 +109,22 @@ _efl_page_indicator_icon_unpack(Eo *obj,
  }
 }
 
+EOLIAN static void
+_efl_page_indicator_icon_unpack_all(Eo *obj,
+Efl_Page_Indicator_Icon_Data *pd)
+{
+   Eo *item;
+
+   EINA_LIST_FREE(pd->items, item)
+ {
+efl_del(item);
+ }
+
+   pd->curr = NULL;
+
+   efl_page_indicator_unpack_all(efl_super(obj, MY_CLASS));
+}
+
 EOLIAN static void
 _efl_page_indicator_icon_efl_page_indicator_bind(Eo *obj,
  Efl_Page_Indicator_Icon_Data 
*pd,
@@ -168,6 +184,8 @@ _efl_page_indicator_icon_efl_page_indicator_bind(Eo *obj,
EFL_OBJECT_OP_FUNC(efl_page_indicator_pack, \
   _efl_page_indicator_icon_pack), \
EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack, \
-  _efl_page_indicator_icon_unpack)
+  _efl_page_indicator_icon_unpack), \
+   EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack_all, \
+  _efl_page_indicator_icon_unpack_all)
 
 #include "efl_page_indicator_icon.eo.c"
diff --git a/src/lib/elementary/efl_page_transition.c 
b/src/lib/elementary/efl_page_transition.c
index 3740a6996d..f6d73a2c10 100644
--- a/src/lib/elementary/efl_page_transition.c
+++ b/src/lib/elementary/efl_page_transition.c
@@ -71,6 +71,14 @@ _efl_page_transition_pack(Eo *obj EINA_UNUSED,
 
 }
 
+EOLIAN static void
+_efl_page_transition_unpack_all(Eo *obj EINA_UNUSED,
+Efl_Page_Transition_Data *pd EINA_UNUSED,
+int index EINA_UNUSED)
+{
+
+}
+
 EOLIAN static void
 _efl_page_transition_curr_page_change(Eo *obj EINA_UNUSED,
   Efl_Page_Transition_Data *pd EINA_UNUSED,
@@ -94,6 +102,7 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_update,
   EFL_FUNC_CALL(move), double move)
 EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_pack,
   EFL_FUNC_CALL(index), int index)
+EOAPI EFL_VOID_FUNC_BODY(efl_page_transition_unpack_all)
 EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_curr_page_change,
   EFL_FUNC_CALL(diff), int diff)
 EOAPI EFL_VOID_FUNC_BODYV(efl_p

[EGIT] [core/efl] master 03/06: Revert "Revert "test/efl_ui_pager_scroll: fix demo""

2019-04-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=561764b97213698297646dc61753381388219aaa

commit 561764b97213698297646dc61753381388219aaa
Author: Jaehyun Cho 
Date:   Wed Apr 17 10:41:43 2019 +0900

Revert "Revert "test/efl_ui_pager_scroll: fix demo""

This reverts commit 5742caa6016bf0ea852059546ded493c2d52b1a7.

To restore 30bd541bf264d369e2a96d27fa3ff5139c360e26 which implements
features during feature freeze period, the revert commit is reverted.
---
 src/bin/elementary/test_ui_pager_scroll.c | 72 ---
 1 file changed, 57 insertions(+), 15 deletions(-)

diff --git a/src/bin/elementary/test_ui_pager_scroll.c 
b/src/bin/elementary/test_ui_pager_scroll.c
index 30a4306f63..8df58c6570 100644
--- a/src/bin/elementary/test_ui_pager_scroll.c
+++ b/src/bin/elementary/test_ui_pager_scroll.c
@@ -36,7 +36,8 @@ typedef enum _Pack_Type {
PACK_BEFORE,
PACK_AFTER,
PACK_AT,
-   UNPACK_AT
+   UNPACK_AT,
+   CLEAR
 } Pack_Type;
 
 typedef struct _Params {
@@ -240,7 +241,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
Eo *page = NULL, *curr_page;
int index, cnt;
 
-   if (param->type != UNPACK_AT) {
+   if ((param->type != UNPACK_AT) && (param->type != CLEAR)) {
   index  = efl_content_count(pager);
 
   switch (index % 3) {
@@ -282,10 +283,12 @@ static void pack_btn_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
  break;
   case UNPACK_AT:
  index = efl_ui_range_value_get(param->unpack_sp);
- page = efl_pack_content_get(pager, index);
- efl_pack_unpack(pager, page);
+ page = efl_pack_unpack_at(pager, index);
  efl_del(page);
  break;
+  case CLEAR:
+ efl_pack_clear(pager);
+ break;
}
 
cnt = efl_content_count(pager);
@@ -353,13 +356,11 @@ static void next_block_check_cb(void *data, const 
Efl_Event *ev)
efl_ui_pager_scroll_block_set(pager, prev, next);
 }
 
-static void loop_check_cb(void *data, const Efl_Event *ev)
+static void loop_radio_cb(void *data, const Efl_Event *ev)
 {
Eo *pager = data;
int state = efl_ui_nstate_value_get(ev->object);
 
-   //FIXME use other widget (i.e. radio) than check
-   //  since loop might not be enabled according to the number of items
efl_ui_pager_loop_mode_set(pager, state);
 }
 
@@ -701,6 +702,24 @@ static void pack_cb(void *data,
efl_pack_end(box, in_box2);
efl_pack_end(in_box2, btn);
efl_pack_end(in_box2, sp2);
+
+   // Clear
+   pack_param = calloc(1, sizeof(Pack_Params));
+   if (!pack_param) return;
+
+   pack_param->pager = pager;
+   pack_param->pack_sp = sp1;
+   pack_param->unpack_sp = sp2;
+   pack_param->unpack_btn = btn;
+   pack_param->type = CLEAR;
+
+   efl_add(EFL_UI_BUTTON_CLASS, box,
+   efl_text_set(efl_added, "Clear"),
+   efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
+  pack_btn_cb, pack_param),
+   efl_event_callback_add(efl_added, EFL_EVENT_DEL,
+  pack_btn_del_cb, pack_param),
+   efl_pack_end(box, efl_added));
 }
 
 static void current_page_cb(void *data,
@@ -798,7 +817,8 @@ static void loop_cb(void *data EINA_UNUSED,
Params *params = (Params *)data;
Evas_Object *navi = params->navi;
Eo *pager = params->pager;
-   Eo *btn, *box;
+   Eo *btn, *box, *rd;
+   Efl_Ui_Pager_Loop loop;
 
btn = efl_add(EFL_UI_BUTTON_CLASS, navi,
  efl_text_set(efl_added, "Back"),
@@ -810,13 +830,35 @@ static void loop_cb(void *data EINA_UNUSED,
 elm_naviframe_item_push(navi, "Loop", btn, NULL,
  efl_added, NULL));
 
-   efl_add(EFL_UI_CHECK_CLASS, box,
-   efl_ui_widget_style_set(efl_added, "toggle"),
-   efl_text_set(efl_added, "Loop"),
-   efl_ui_nstate_value_set(efl_added, 
efl_ui_pager_loop_mode_get(pager)),
-   efl_event_callback_add(efl_added, EFL_UI_CHECK_EVENT_CHANGED,
-  loop_check_cb, pager),
-   efl_pack_end(box, efl_added));
+   rd = efl_add(EFL_UI_RADIO_CLASS, box,
+efl_ui_radio_state_value_set(efl_added, 
EFL_UI_PAGER_LOOP_DISABLED),
+efl_text_set(efl_added, "Disabled"),
+efl_gfx_hint_weight_set(efl_added, 1, 0),
+efl_event_callback_add(efl_added, EFL_UI_RADIO_EVENT_CHANGED,
+   loop_radio_cb, pager),
+efl_pack(box, efl_added));
+
+   rd = efl_add(EFL_UI_RADIO_CLASS, box,
+efl_ui_radio_state_value_set(efl_added, 
EFL_UI_PAGER_LOOP_ENABLED),
+efl_ui_radio_group_add(efl_added, rd),
+efl_text_set(efl_added, "Enabled"),
+ 

[EGIT] [core/efl] master 06/06: efl_ui_pager: fix to delete component objects when pager is deleted

2019-04-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=382520fda450f22f0256b3a57a9b90c4d49e7cca

commit 382520fda450f22f0256b3a57a9b90c4d49e7cca
Author: Jaehyun Cho 
Date:   Wed Apr 17 15:00:58 2019 +0900

efl_ui_pager: fix to delete component objects when pager is deleted

Pager creates Efl.Canvas.Rectangle objects when pager is constructed.
Since the parent of these component objects is evas, these component
objects are not deleted automatically when pager is deleted.
These component objects cause event block after pager is deleted.
(e.g. click event is blocked)
To resolve this issue, these component objects are deleted manually when
pager is deleted.
---
 src/lib/elementary/efl_ui_pager.c  | 13 +
 src/lib/elementary/efl_ui_pager.eo |  1 +
 2 files changed, 14 insertions(+)

diff --git a/src/lib/elementary/efl_ui_pager.c 
b/src/lib/elementary/efl_ui_pager.c
index 0ce1488d8c..a37d0fd8f6 100644
--- a/src/lib/elementary/efl_ui_pager.c
+++ b/src/lib/elementary/efl_ui_pager.c
@@ -379,6 +379,19 @@ _efl_ui_pager_efl_object_constructor(Eo *obj,
return obj;
 }
 
+EOLIAN static void
+_efl_ui_pager_efl_object_invalidate(Eo *obj,
+Efl_Ui_Pager_Data *pd)
+{
+   efl_invalidate(efl_super(obj, MY_CLASS));
+
+   /* Since the parent of foreclip and backclip is evas, foreclip and backclip
+* are not deleted automatically when pager is deleted.
+* Therefore, foreclip and backclip are deleted manually here. */
+   efl_del(pd->foreclip);
+   efl_del(pd->backclip);
+}
+
 EOLIAN static int
 _efl_ui_pager_efl_container_content_count(Eo *obj EINA_UNUSED,
   Efl_Ui_Pager_Data *pd)
diff --git a/src/lib/elementary/efl_ui_pager.eo 
b/src/lib/elementary/efl_ui_pager.eo
index 5a3a974adf..646be5accd 100644
--- a/src/lib/elementary/efl_ui_pager.eo
+++ b/src/lib/elementary/efl_ui_pager.eo
@@ -90,6 +90,7 @@ class @beta Efl.Ui.Pager extends Efl.Ui.Layout_Base 
implements Efl.Pack_Linear
}
implements {
   Efl.Object.constructor;
+  Efl.Object.invalidate;
   Efl.Container.content_count;
   Efl.Pack.pack_clear; //TODO
   Efl.Pack.unpack_all; //TODO

-- 




[EGIT] [core/efl] master 01/01: efl_ui_list: fix to delete sub objects in efl_object_invalidate

2019-04-11 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b17e7fa95ba513139ab98572251edcb36d087345

commit b17e7fa95ba513139ab98572251edcb36d087345
Author: Jaehyun Cho 
Date:   Thu Apr 11 20:14:43 2019 +0900

efl_ui_list: fix to delete sub objects in efl_object_invalidate

widget's sub objects and callbacks should be deleted in
efl_object_invalidate instead of efl_object_destructor.

@fix
---
 src/lib/elementary/efl_ui_list.c  | 6 --
 src/lib/elementary/efl_ui_list.eo | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c
index 1cb6f1061e..978aae3271 100644
--- a/src/lib/elementary/efl_ui_list.c
+++ b/src/lib/elementary/efl_ui_list.c
@@ -467,7 +467,7 @@ _efl_ui_list_efl_object_finalize(Eo *obj,
 }
 
 EOLIAN static void
-_efl_ui_list_efl_object_destructor(Eo *obj, Efl_Ui_List_Data *pd)
+_efl_ui_list_efl_object_invalidate(Eo *obj, Efl_Ui_List_Data *pd)
 {
_scroll_edje_object_detach(obj);
 
@@ -488,12 +488,14 @@ _efl_ui_list_efl_object_destructor(Eo *obj, 
Efl_Ui_List_Data *pd)
 
efl_del(pd->box);
pd->box = NULL;
+
efl_del(pd->pan);
pd->pan = NULL;
+
efl_del(pd->smanager);
pd->smanager = NULL;
 
-   efl_destructor(efl_super(obj, MY_CLASS));
+   efl_invalidate(efl_super(obj, MY_CLASS));
 }
 
 EOLIAN static void
diff --git a/src/lib/elementary/efl_ui_list.eo 
b/src/lib/elementary/efl_ui_list.eo
index 988c78c5cc..8a77e37261 100644
--- a/src/lib/elementary/efl_ui_list.eo
+++ b/src/lib/elementary/efl_ui_list.eo
@@ -42,7 +42,7 @@ class @beta Efl.Ui.List extends Efl.Ui.Layout_Base implements
   //Efl.Object
   Efl.Object.constructor;
   Efl.Object.finalize;
-  Efl.Object.destructor;
+  Efl.Object.invalidate;
 
   //Efl.Canvas
   Efl.Canvas.Group.group_calculate;

-- 




[EGIT] [core/efl] master 01/01: configure: fix build error of efl_custom_exports_mono.c

2019-04-08 Thread Jaehyun Cho
xartigas pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=660eba496f3f626a9df15acf9b51e5c7d06f65ab

commit 660eba496f3f626a9df15acf9b51e5c7d06f65ab
Author: Jaehyun Cho 
Date:   Mon Apr 8 16:28:18 2019 +0200

configure: fix build error of efl_custom_exports_mono.c

Reviewers: woohyun, lauromoura, akanad

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8577
---
 configure.ac | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configure.ac b/configure.ac
index 488ba11937..69b8fdf48a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1435,6 +1435,7 @@ EFL_LIB_START_OPTIONAL([Efl_Custom_Exports_Mono], [test 
"x${want_csharp}" = "xye
 EFL_PLATFORM_DEPEND([EFL_CUSTOM_EXPORTS_MONO], [evil])
 EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eina])
 EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eo])
+EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Ecore])
 EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Efl])
 EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eldbus])
 

-- 




[EGIT] [core/efl] master 01/01: elementary: fix not to call duplicate theme set

2019-04-06 Thread Jaehyun Cho
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a6cc94321176700b5bfb89b85d71c33461180f22

commit a6cc94321176700b5bfb89b85d71c33461180f22
Author: Jaehyun Cho 
Date:   Fri Apr 5 04:05:37 2019 +

elementary: fix not to call duplicate theme set

Theme is set during finalize in Efl.Ui.Layout_Base.
Therefore, it is not necessary to call theme set function if the widget
inherits Efl.Ui.Layout_Base and its klass is properly set.

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D8559
---
 src/lib/elementary/efl_ui_list.c | 6 ++
 src/lib/elementary/efl_ui_scroller.c | 4 ++--
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c
index 2b2b077f24..1cb6f1061e 100644
--- a/src/lib/elementary/efl_ui_list.c
+++ b/src/lib/elementary/efl_ui_list.c
@@ -413,6 +413,8 @@ _efl_ui_list_size_hint_changed_cb(void *data, const 
Efl_Event *ev EINA_UNUSED)
 EOLIAN static Eo *
 _efl_ui_list_efl_object_constructor(Eo *obj, Efl_Ui_List_Data *pd EINA_UNUSED)
 {
+   if (!elm_widget_theme_klass_get(obj))
+ elm_widget_theme_klass_set(obj, "list");
obj = efl_constructor(efl_super(obj, MY_CLASS));
 
return obj;
@@ -426,10 +428,6 @@ _efl_ui_list_efl_object_finalize(Eo *obj,
 
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
 
-   Eina_Error theme_apply_ret = efl_ui_layout_theme_set(obj, "list", "base", 
efl_ui_widget_style_get(obj));
-   if (theme_apply_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC)
- CRI("list(%p) failed to set theme [efl/list:%s]!", obj, 
efl_ui_widget_style_get(obj) ?: "NULL");
-
pd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj);
efl_ui_mirrored_set(pd->smanager, efl_ui_mirrored_get(obj));
efl_composite_attach(obj, pd->smanager);
diff --git a/src/lib/elementary/efl_ui_scroller.c 
b/src/lib/elementary/efl_ui_scroller.c
index 5891e422f9..0fef382346 100644
--- a/src/lib/elementary/efl_ui_scroller.c
+++ b/src/lib/elementary/efl_ui_scroller.c
@@ -550,6 +550,8 @@ EOLIAN static Eo *
 _efl_ui_scroller_efl_object_constructor(Eo *obj,
 Efl_Ui_Scroller_Data *sd EINA_UNUSED)
 {
+   if (!elm_widget_theme_klass_get(obj))
+ elm_widget_theme_klass_set(obj, "scroller");
obj = efl_constructor(efl_super(obj, MY_CLASS));
 
return obj;
@@ -563,8 +565,6 @@ _efl_ui_scroller_efl_object_finalize(Eo *obj,
 
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
 
-   efl_ui_layout_theme_set(obj, "scroller", "base", 
efl_ui_widget_style_get(obj));
-
sd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj);
efl_ui_mirrored_set(sd->smanager, efl_ui_mirrored_get(obj));
efl_composite_attach(obj, sd->smanager);

-- 




[EGIT] [core/efl] master 01/01: elm_widget_item_eo.legacy: change @ingroup to Elm_General

2019-04-02 Thread Jaehyun Cho
xartigas pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=fe54a4dd1ac780b7af37d7fe735959283a5cb4bc

commit fe54a4dd1ac780b7af37d7fe735959283a5cb4bc
Author: Jaehyun Cho 
Date:   Tue Apr 2 10:25:58 2019 +0200

elm_widget_item_eo.legacy: change @ingroup to Elm_General

Summary:
The @ingroup of elm_object_item APIs is Elm_General in elm_object_item.h.

Since legacy prefix of Elm_Widget_Item is elm_object_item,
the prefix of Elm_Widget_Item APIs is elm_object_item.

Consequently, to display the legacy Elm_Widget_Item APIs with
elm_object_item APIs, the @ingroup is changed from Elm_Object_Item_Group
to Elm_General.

Test Plan: make doc and check the documentation

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8529
---
 src/lib/elementary/elm_widget_item_eo.legacy.h | 106 ++---
 1 file changed, 59 insertions(+), 47 deletions(-)

diff --git a/src/lib/elementary/elm_widget_item_eo.legacy.h 
b/src/lib/elementary/elm_widget_item_eo.legacy.h
index d1fc974928..2937be3df0 100644
--- a/src/lib/elementary/elm_widget_item_eo.legacy.h
+++ b/src/lib/elementary/elm_widget_item_eo.legacy.h
@@ -4,6 +4,18 @@
 #ifndef _ELM_WIDGET_ITEM_EO_CLASS_TYPE
 #define _ELM_WIDGET_ITEM_EO_CLASS_TYPE
 
+/**
+ * @typedef Elm_Widget_Item
+ * An Elementary widget item handle.
+ * This is a sub component of an Elementary widget and it is the same as
+ * Elementary object item, Elm_Object_Item.
+ * Common functions for Elementary widget item are provided on this page.
+ * Each Elementary widget also provides its own functions to use Elementary
+ * widget item.
+ * For more details about how Elementary widget item is used with Elementary
+ * widget, please refer each Elementary widget's documents.
+ * @ingroup Elm_General
+ */
 typedef Eo Elm_Widget_Item;
 
 #endif
@@ -26,7 +38,7 @@ typedef Eo Elm_Widget_Item;
  *
  * @return @c false on failure, @c true on success
  *
- * @ingroup Elm_Object_Item_Group
+ * @ingroup Elm_General
  */
 EAPI Eina_Bool elm_object_item_tooltip_window_mode_set(Elm_Widget_Item *obj, 
Eina_Bool disable);
 
@@ -41,7 +53,7 @@ EAPI Eina_Bool 
elm_object_item_tooltip_window_mode_set(Elm_Widget_Item *obj, Ein
  *
  * @return If @c true, size restrictions are disabled
  *
- * @ingroup Elm_Object_Item_Group
+ * @ingroup Elm_General
  */
 EAPI Eina_Bool elm_object_item_tooltip_window_mode_get(const Elm_Widget_Item 
*obj);
 
@@ -57,7 +69,7 @@ EAPI Eina_Bool elm_object_item_tooltip_window_mode_get(const 
Elm_Widget_Item *ob
  * @param[in] obj The object.
  * @param[in] style The theme style used/to use (default, transparent, ...)
  *
- * @ingroup Elm_Object_Item_Group
+ * @ingroup Elm_General
  */
 EAPI void elm_object_item_tooltip_style_set(Elm_Widget_Item *obj, const char 
*style);
 
@@ -74,7 +86,7 @@ EAPI void elm_object_item_tooltip_style_set(Elm_Widget_Item 
*obj, const char *st
  *
  * @return The theme style used/to use (default, transparent, ...)
  *
- * @ingroup Elm_Object_Item_Group
+ * @ingroup Elm_General
  */
 EAPI const char *elm_object_item_tooltip_style_get(const Elm_Widget_Item *obj);
 
@@ -94,7 +106,7 @@ EAPI const char *elm_object_item_tooltip_style_get(const 
Elm_Widget_Item *obj);
  * @param[in] obj The object.
  * @param[in] cursor The cursor type's name
  *
- * @ingroup Elm_Object_Item_Group
+ * @ingroup Elm_General
  */
 EAPI void elm_object_item_cursor_set(Elm_Widget_Item *obj, const char *cursor);
 
@@ -115,7 +127,7 @@ EAPI void elm_object_item_cursor_set(Elm_Widget_Item *obj, 
const char *cursor);
  *
  * @return The cursor type's name
  *
- * @ingroup Elm_Object_Item_Group
+ * @ingroup Elm_General
  */
 EAPI const char *elm_object_item_cursor_get(const Elm_Widget_Item *obj);
 
@@ -135,7 +147,7 @@ EAPI const char *elm_object_item_cursor_get(const 
Elm_Widget_Item *obj);
  * @param[in] style The theme style to use/in use (e.g. $"default",
  * $"transparent", etc)
  *
- * @ingroup Elm_Object_Item_Group
+ * @ingroup Elm_General
  */
 EAPI void elm_object_item_cursor_style_set(Elm_Widget_Item *obj, const char 
*style);
 
@@ -155,7 +167,7 @@ EAPI void elm_object_item_cursor_style_set(Elm_Widget_Item 
*obj, const char *sty
  *
  * @return The theme style to use/in use (e.g. $"default", $"transparent", etc)
  *
- * @ingroup Elm_Object_Item_Group
+ * @ingroup Elm_General
  */
 EAPI const char *elm_object_item_cursor_style_get(const Elm_Widget_Item *obj);
 
@@ -174,7 +186,7 @@ EAPI const char *elm_object_item_cursor_style_get(const 
Elm_Widget_Item *obj);
  * provided by the rendering engine, @c false to have them searched on the
  * widget's theme, as well.
  *
- * @ingroup Elm_Object_Item_Group
+ * @ingroup Elm_General
  */
 EAPI void elm_object_item_cursor_engine_only_set(Elm_Widget_Item *obj, 
Eina_Bool 

[EGIT] [core/efl] master 02/05: Revert "test/efl_ui_pager: fix demo"

2019-04-02 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f652bf932837846c5911c26992196213780394df

commit f652bf932837846c5911c26992196213780394df
Author: Jaehyun Cho 
Date:   Tue Apr 2 16:29:11 2019 +0900

Revert "test/efl_ui_pager: fix demo"

This reverts commit d3bb1a7342b2725c585d90557926e0c433058e50.

The commit is reverted to revert the following commits.
74c48f029632d2260816b4cb3de6dbb40a29f040
913a5bff66dd7a58753ccae1474657ec33350e43

The above commits will be restored after release and then
d3bb1a7342b2725c585d90557926e0c433058e50 will be also restored.
---
 src/bin/elementary/test_ui_pager.c | 30 --
 1 file changed, 4 insertions(+), 26 deletions(-)

diff --git a/src/bin/elementary/test_ui_pager.c 
b/src/bin/elementary/test_ui_pager.c
index 32bc1d775a..78fb1b598e 100644
--- a/src/bin/elementary/test_ui_pager.c
+++ b/src/bin/elementary/test_ui_pager.c
@@ -36,8 +36,7 @@ typedef enum _Pack_Type {
PACK_BEFORE,
PACK_AFTER,
PACK_AT,
-   UNPACK_AT,
-   CLEAR
+   UNPACK_AT
 } Pack_Type;
 
 typedef struct _Params {
@@ -219,7 +218,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
Eo *page = NULL, *curr_page;
int index, cnt;
 
-   if ((param->type != UNPACK_AT) && (param->type != CLEAR)) {
+   if (param->type != UNPACK_AT) {
   index  = efl_content_count(pager);
 
   switch (index % 3) {
@@ -261,12 +260,10 @@ static void pack_btn_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
  break;
   case UNPACK_AT:
  index = efl_ui_range_value_get(param->unpack_sp);
- page = efl_pack_unpack_at(pager, index);
+ page = efl_pack_content_get(pager, index);
+ efl_pack_unpack(pager, page);
  efl_del(page);
  break;
-  case CLEAR:
- efl_pack_clear(pager);
- break;
}
 
cnt = efl_content_count(pager);
@@ -590,25 +587,6 @@ static void pack_cb(void *data,
efl_pack_end(box, in_box2);
efl_pack_end(in_box2, btn);
efl_pack_end(in_box2, sp2);
-
-   // Clear
-   pack_param = calloc(1, sizeof(Pack_Params));
-   if (!pack_param) return;
-
-   pack_param->pager = pager;
-   pack_param->pack_sp = sp1;
-   pack_param->unpack_sp = sp2;
-   pack_param->unpack_btn = btn;
-   pack_param->type = CLEAR;
-
-   efl_add(EFL_UI_BUTTON_CLASS, box,
-   efl_text_set(efl_added, "Clear"),
-   efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
-  pack_btn_cb, pack_param),
-   efl_event_callback_add(efl_added, EFL_EVENT_DEL,
-  pack_btn_del_cb, pack_param),
-   efl_pack_end(box, efl_added));
-
 }
 
 static void current_page_cb(void *data,

-- 




[EGIT] [core/efl] master 01/05: Revert "elm - fix harmless warning for clean build"

2019-04-02 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d2eebb6f5faebc76a1a13494fd0721e8d63af410

commit d2eebb6f5faebc76a1a13494fd0721e8d63af410
Author: Jaehyun Cho 
Date:   Tue Apr 2 16:27:35 2019 +0900

Revert "elm - fix harmless warning for clean build"

This reverts commit e3d2a0cf1235beceb3b403e42d2dafed4b4e90e5.

The commit is reverted to revert the following commit.
74c48f029632d2260816b4cb3de6dbb40a29f040

The above commit will be restored after release and then
e3d2a0cf1235beceb3b403e42d2dafed4b4e90e5 will be also restored.
---
 src/lib/elementary/efl_page_transition_scroll.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_page_transition_scroll.c 
b/src/lib/elementary/efl_page_transition_scroll.c
index 3908710cc6..ac3c6dab1d 100644
--- a/src/lib/elementary/efl_page_transition_scroll.c
+++ b/src/lib/elementary/efl_page_transition_scroll.c
@@ -427,7 +427,7 @@ _efl_page_transition_scroll_unpack_all(Eo *obj EINA_UNUSED,
 pi->content = NULL;
 pi->visible = EINA_FALSE;
  }
-   return;
+   return EINA_TRUE;
 }
 
 EOLIAN static void

-- 




[EGIT] [core/efl] master 03/05: Revert "test/efl_ui_pager_scroll: fix demo"

2019-04-02 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5742caa6016bf0ea852059546ded493c2d52b1a7

commit 5742caa6016bf0ea852059546ded493c2d52b1a7
Author: Jaehyun Cho 
Date:   Tue Apr 2 16:35:12 2019 +0900

Revert "test/efl_ui_pager_scroll: fix demo"

This reverts commit 30bd541bf264d369e2a96d27fa3ff5139c360e26.

The commit is reverted to revert the following commits.
74c48f029632d2260816b4cb3de6dbb40a29f040
913a5bff66dd7a58753ccae1474657ec33350e43

The above commits will be restored after release and then
30bd541bf264d369e2a96d27fa3ff5139c360e26 will be also restored.
---
 src/bin/elementary/test_ui_pager_scroll.c | 72 +++
 1 file changed, 15 insertions(+), 57 deletions(-)

diff --git a/src/bin/elementary/test_ui_pager_scroll.c 
b/src/bin/elementary/test_ui_pager_scroll.c
index 8df58c6570..30a4306f63 100644
--- a/src/bin/elementary/test_ui_pager_scroll.c
+++ b/src/bin/elementary/test_ui_pager_scroll.c
@@ -36,8 +36,7 @@ typedef enum _Pack_Type {
PACK_BEFORE,
PACK_AFTER,
PACK_AT,
-   UNPACK_AT,
-   CLEAR
+   UNPACK_AT
 } Pack_Type;
 
 typedef struct _Params {
@@ -241,7 +240,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
Eo *page = NULL, *curr_page;
int index, cnt;
 
-   if ((param->type != UNPACK_AT) && (param->type != CLEAR)) {
+   if (param->type != UNPACK_AT) {
   index  = efl_content_count(pager);
 
   switch (index % 3) {
@@ -283,12 +282,10 @@ static void pack_btn_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
  break;
   case UNPACK_AT:
  index = efl_ui_range_value_get(param->unpack_sp);
- page = efl_pack_unpack_at(pager, index);
+ page = efl_pack_content_get(pager, index);
+ efl_pack_unpack(pager, page);
  efl_del(page);
  break;
-  case CLEAR:
- efl_pack_clear(pager);
- break;
}
 
cnt = efl_content_count(pager);
@@ -356,11 +353,13 @@ static void next_block_check_cb(void *data, const 
Efl_Event *ev)
efl_ui_pager_scroll_block_set(pager, prev, next);
 }
 
-static void loop_radio_cb(void *data, const Efl_Event *ev)
+static void loop_check_cb(void *data, const Efl_Event *ev)
 {
Eo *pager = data;
int state = efl_ui_nstate_value_get(ev->object);
 
+   //FIXME use other widget (i.e. radio) than check
+   //  since loop might not be enabled according to the number of items
efl_ui_pager_loop_mode_set(pager, state);
 }
 
@@ -702,24 +701,6 @@ static void pack_cb(void *data,
efl_pack_end(box, in_box2);
efl_pack_end(in_box2, btn);
efl_pack_end(in_box2, sp2);
-
-   // Clear
-   pack_param = calloc(1, sizeof(Pack_Params));
-   if (!pack_param) return;
-
-   pack_param->pager = pager;
-   pack_param->pack_sp = sp1;
-   pack_param->unpack_sp = sp2;
-   pack_param->unpack_btn = btn;
-   pack_param->type = CLEAR;
-
-   efl_add(EFL_UI_BUTTON_CLASS, box,
-   efl_text_set(efl_added, "Clear"),
-   efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
-  pack_btn_cb, pack_param),
-   efl_event_callback_add(efl_added, EFL_EVENT_DEL,
-  pack_btn_del_cb, pack_param),
-   efl_pack_end(box, efl_added));
 }
 
 static void current_page_cb(void *data,
@@ -817,8 +798,7 @@ static void loop_cb(void *data EINA_UNUSED,
Params *params = (Params *)data;
Evas_Object *navi = params->navi;
Eo *pager = params->pager;
-   Eo *btn, *box, *rd;
-   Efl_Ui_Pager_Loop loop;
+   Eo *btn, *box;
 
btn = efl_add(EFL_UI_BUTTON_CLASS, navi,
  efl_text_set(efl_added, "Back"),
@@ -830,35 +810,13 @@ static void loop_cb(void *data EINA_UNUSED,
 elm_naviframe_item_push(navi, "Loop", btn, NULL,
  efl_added, NULL));
 
-   rd = efl_add(EFL_UI_RADIO_CLASS, box,
-efl_ui_radio_state_value_set(efl_added, 
EFL_UI_PAGER_LOOP_DISABLED),
-efl_text_set(efl_added, "Disabled"),
-efl_gfx_hint_weight_set(efl_added, 1, 0),
-efl_event_callback_add(efl_added, EFL_UI_RADIO_EVENT_CHANGED,
-   loop_radio_cb, pager),
-efl_pack(box, efl_added));
-
-   rd = efl_add(EFL_UI_RADIO_CLASS, box,
-efl_ui_radio_state_value_set(efl_added, 
EFL_UI_PAGER_LOOP_ENABLED),
-efl_ui_radio_group_add(efl_added, rd),
-efl_text_set(efl_added, "Enabled"),
-efl_gfx_hint_weight_set(efl_added, 1, 0),
-efl_event_callback_add(efl_added, EFL_UI_RADIO_EVENT_CHANGED,
-   loop_radio_cb, pager),
-efl_pack(box, efl_added));
-
-   loop = efl_ui_pager_loop_mode_get(pager);
-
-   efl_ui_

[EGIT] [core/efl] master 04/05: Revert "efl_ui_pager: implement unpack_all/clear function"

2019-04-02 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b28f1e034b7ecbe7966b0d2b9687d8e22245837c

commit b28f1e034b7ecbe7966b0d2b9687d8e22245837c
Author: Jaehyun Cho 
Date:   Tue Apr 2 16:36:20 2019 +0900

Revert "efl_ui_pager: implement unpack_all/clear function"

This reverts commit 74c48f029632d2260816b4cb3de6dbb40a29f040.

The commit is reverted because the commit implements features during
feature freeze period before release.

74c48f029632d2260816b4cb3de6dbb40a29f040 will be restored after release.
---
 src/lib/elementary/efl_page_indicator.c | 13 +--
 src/lib/elementary/efl_page_indicator_icon.c| 20 +-
 src/lib/elementary/efl_page_transition.c| 11 --
 src/lib/elementary/efl_page_transition_scroll.c | 20 --
 src/lib/elementary/efl_ui_pager.c   | 51 +++--
 src/lib/elementary/elm_priv.h   |  2 -
 6 files changed, 8 insertions(+), 109 deletions(-)

diff --git a/src/lib/elementary/efl_page_indicator.c 
b/src/lib/elementary/efl_page_indicator.c
index 6b0be267b2..57cd2bf9f9 100644
--- a/src/lib/elementary/efl_page_indicator.c
+++ b/src/lib/elementary/efl_page_indicator.c
@@ -42,14 +42,6 @@ _efl_page_indicator_unpack(Eo *obj EINA_UNUSED,
  pd->curr_idx--;
 }
 
-EOLIAN static void
-_efl_page_indicator_unpack_all(Eo *obj EINA_UNUSED,
-   Efl_Page_Indicator_Data *pd)
-{
-   pd->cnt = 0;
-   pd->curr_idx = -1;
-}
-
 EOLIAN static void
 _efl_page_indicator_bind(Eo *obj EINA_UNUSED,
  Efl_Page_Indicator_Data *pd,
@@ -80,7 +72,6 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_pack,
   EFL_FUNC_CALL(index), int index)
 EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_unpack,
   EFL_FUNC_CALL(index), int index)
-EOAPI EFL_VOID_FUNC_BODY(efl_page_indicator_unpack_all)
 
 #define EFL_PAGE_INDICATOR_EXTRA_OPS \
EFL_OBJECT_OP_FUNC(efl_page_indicator_update, \
@@ -88,8 +79,6 @@ EOAPI EFL_VOID_FUNC_BODY(efl_page_indicator_unpack_all)
EFL_OBJECT_OP_FUNC(efl_page_indicator_pack, \
   _efl_page_indicator_pack), \
EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack, \
-  _efl_page_indicator_unpack), \
-   EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack_all, \
-  _efl_page_indicator_unpack_all)
+  _efl_page_indicator_unpack)
 
 #include "efl_page_indicator.eo.c"
diff --git a/src/lib/elementary/efl_page_indicator_icon.c 
b/src/lib/elementary/efl_page_indicator_icon.c
index 55326cfdd6..3c9c54e75e 100644
--- a/src/lib/elementary/efl_page_indicator_icon.c
+++ b/src/lib/elementary/efl_page_indicator_icon.c
@@ -109,22 +109,6 @@ _efl_page_indicator_icon_unpack(Eo *obj,
  }
 }
 
-EOLIAN static void
-_efl_page_indicator_icon_unpack_all(Eo *obj,
-Efl_Page_Indicator_Icon_Data *pd)
-{
-   Eo *item;
-
-   EINA_LIST_FREE(pd->items, item)
- {
-efl_del(item);
- }
-
-   pd->curr = NULL;
-
-   efl_page_indicator_unpack_all(efl_super(obj, MY_CLASS));
-}
-
 EOLIAN static void
 _efl_page_indicator_icon_efl_page_indicator_bind(Eo *obj,
  Efl_Page_Indicator_Icon_Data 
*pd,
@@ -184,8 +168,6 @@ _efl_page_indicator_icon_efl_page_indicator_bind(Eo *obj,
EFL_OBJECT_OP_FUNC(efl_page_indicator_pack, \
   _efl_page_indicator_icon_pack), \
EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack, \
-  _efl_page_indicator_icon_unpack), \
-   EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack_all, \
-  _efl_page_indicator_icon_unpack_all)
+  _efl_page_indicator_icon_unpack)
 
 #include "efl_page_indicator_icon.eo.c"
diff --git a/src/lib/elementary/efl_page_transition.c 
b/src/lib/elementary/efl_page_transition.c
index f6d73a2c10..3740a6996d 100644
--- a/src/lib/elementary/efl_page_transition.c
+++ b/src/lib/elementary/efl_page_transition.c
@@ -71,14 +71,6 @@ _efl_page_transition_pack(Eo *obj EINA_UNUSED,
 
 }
 
-EOLIAN static void
-_efl_page_transition_unpack_all(Eo *obj EINA_UNUSED,
-Efl_Page_Transition_Data *pd EINA_UNUSED,
-int index EINA_UNUSED)
-{
-
-}
-
 EOLIAN static void
 _efl_page_transition_curr_page_change(Eo *obj EINA_UNUSED,
   Efl_Page_Transition_Data *pd EINA_UNUSED,
@@ -102,7 +94,6 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_update,
   EFL_FUNC_CALL(move), double move)
 EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_pack,
   EFL_FUNC_CALL(index), int index)
-EOAPI EFL_VOID_FUNC_BODY(efl_page_transition_unpack_all)
 EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_curr_page_change,
   EFL_FUNC_CAL

[EGIT] [core/efl] master 05/05: Revert "efl_ui_pager: implement unpack_at function"

2019-04-02 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a10e1bc597f00865514f30d84268963dcbf3f599

commit a10e1bc597f00865514f30d84268963dcbf3f599
Author: Jaehyun Cho 
Date:   Tue Apr 2 16:39:40 2019 +0900

Revert "efl_ui_pager: implement unpack_at function"

This reverts commit 913a5bff66dd7a58753ccae1474657ec33350e43.

The commit is reverted because the commit implements features during
feature freeze period before release.

913a5bff66dd7a58753ccae1474657ec33350e43 will be restored after release.
---
 src/lib/elementary/efl_ui_pager.c | 17 +
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/src/lib/elementary/efl_ui_pager.c 
b/src/lib/elementary/efl_ui_pager.c
index 520398941c..bf81d1ac91 100644
--- a/src/lib/elementary/efl_ui_pager.c
+++ b/src/lib/elementary/efl_ui_pager.c
@@ -853,19 +853,12 @@ _efl_ui_pager_efl_pack_unpack(Eo *obj,
 }
 
 EOLIAN static Efl_Gfx_Entity *
-_efl_ui_pager_efl_pack_linear_pack_unpack_at(Eo *obj,
- Efl_Ui_Pager_Data *pd,
- int index)
+_efl_ui_pager_efl_pack_linear_pack_unpack_at(Eo *obj EINA_UNUSED,
+ Efl_Ui_Pager_Data *pd EINA_UNUSED,
+ int index EINA_UNUSED)
 {
-   if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return NULL;
-
-   if ((index >= pd->cnt) || (index < 0)) return NULL;
-
-   Efl_Gfx_Entity *subobj = eina_list_nth(pd->content_list, index);
-
-   _unpack(obj, pd, subobj, index);
-
-   return subobj;
+   ERR("Soon to be implemented");
+   return NULL;
 }
 
 

-- 




[EGIT] [core/efl] master 01/01: efl_mono: remove unnecessary external function import

2019-03-25 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2b9278c984be3e8b629b0c3e1392396d98bd95ff

commit 2b9278c984be3e8b629b0c3e1392396d98bd95ff
Author: Jaehyun Cho 
Date:   Mon Mar 25 18:58:03 2019 +0900

efl_mono: remove unnecessary external function import

ecore_init, ecore_shutdown, elm_init, elm_policy_set, elm_shutdown,
elm_exit are imported in efl_all.cs.
Moreover, efl_csharp_application.cs is using Efl.UnsafeNativeMethods.
Therefore, the unnecessary external function import is removed in
efl_all.cs.
---
 src/bindings/mono/efl_mono/efl_csharp_application.cs | 9 -
 1 file changed, 9 deletions(-)

diff --git a/src/bindings/mono/efl_mono/efl_csharp_application.cs 
b/src/bindings/mono/efl_mono/efl_csharp_application.cs
index f067b288ec..3bac96170d 100644
--- a/src/bindings/mono/efl_mono/efl_csharp_application.cs
+++ b/src/bindings/mono/efl_mono/efl_csharp_application.cs
@@ -3,15 +3,6 @@ using System.Runtime.InteropServices;
 using System.Threading;
 using static Efl.UnsafeNativeMethods;
 
-static class UnsafeNativeMethods {
-[DllImport(efl.Libs.Ecore)] public static extern void ecore_init();
-[DllImport(efl.Libs.Ecore)] public static extern void ecore_shutdown();
-[DllImport(efl.Libs.Elementary)] public static extern int elm_init(int 
argc, IntPtr argv);
-[DllImport(efl.Libs.Elementary)] public static extern void 
elm_policy_set(int policy, int policy_detail);
-[DllImport(efl.Libs.Elementary)] public static extern void elm_shutdown();
-[DllImport(efl.Libs.Elementary)] public static extern void elm_exit();
-}
-
 namespace Efl {
   namespace Csharp {
 ///The components to be initialized.

-- 




[EGIT] [core/efl] master 01/02: elm_atspi_app_object: remove all legacy usage from eo files

2019-03-22 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0225db71c06cae4108813b3ce2ff92273ce9e53c

commit 0225db71c06cae4108813b3ce2ff92273ce9e53c
Author: Jaehyun Cho 
Date:   Thu Mar 21 21:06:09 2019 +0900

elm_atspi_app_object: remove all legacy usage from eo files

this takes the current generated output from eolian for legacy code in
efl and adds it to the tree, then removes legacy references from the
corresponding eo files. in the case where the entire eo file was for
a legacy object, that eo file has been removed from the tree

ref T7724
---
 src/Makefile_Elementary.am |  4 +-
 src/lib/elementary/elm_atspi_app_object.c  |  2 +-
 src/lib/elementary/elm_atspi_app_object.eo | 12 -
 src/lib/elementary/elm_atspi_app_object.h  |  4 +-
 src/lib/elementary/elm_atspi_app_object_eo.c   | 55 ++
 src/lib/elementary/elm_atspi_app_object_eo.h   | 24 ++
 .../elementary/elm_atspi_app_object_eo.legacy.h| 17 +++
 src/lib/elementary/elm_priv.h  |  1 +
 src/lib/elementary/meson.build |  2 +-
 9 files changed, 105 insertions(+), 16 deletions(-)

diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index c006680071..b1fad382cc 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -144,7 +144,6 @@ elm_public_eolian_files += \
lib/elementary/elm_multibuttonentry_part.eo \
lib/elementary/elm_interface_scrollable.eo \
lib/elementary/elm_atspi_bridge.eo \
-   lib/elementary/elm_atspi_app_object.eo \
lib/elementary/efl_ui_image_zoomable_pan.eo \
$(NULL)
 
@@ -256,6 +255,7 @@ lib/elementary/elm_access_eo.c \
 lib/elementary/elm_access_eo.legacy.c \
 lib/elementary/elm_actionslider_eo.c \
 lib/elementary/elm_actionslider_eo.legacy.c \
+lib/elementary/elm_atspi_app_object_eo.c \
 lib/elementary/elm_box_eo.c \
 lib/elementary/elm_box_eo.legacy.c \
 lib/elementary/elm_bubble_eo.c \
@@ -434,6 +434,7 @@ lib/elementary/efl_ui_win_legacy_eo.legacy.h \
 lib/elementary/efl_ui_win_socket_legacy_eo.legacy.h \
 lib/elementary/elm_access_eo.legacy.h \
 lib/elementary/elm_actionslider_eo.legacy.h \
+lib/elementary/elm_atspi_app_object_eo.legacy.h \
 lib/elementary/elm_box_eo.legacy.h \
 lib/elementary/elm_bubble_eo.legacy.h \
 lib/elementary/elm_calendar_eo.legacy.h \
@@ -541,6 +542,7 @@ lib/elementary/efl_ui_win_legacy_eo.h \
 lib/elementary/efl_ui_win_socket_legacy_eo.h \
 lib/elementary/elm_access_eo.h \
 lib/elementary/elm_actionslider_eo.h \
+lib/elementary/elm_atspi_app_object_eo.h \
 lib/elementary/elm_box_eo.h \
 lib/elementary/elm_bubble_eo.h \
 lib/elementary/elm_calendar_eo.h \
diff --git a/src/lib/elementary/elm_atspi_app_object.c 
b/src/lib/elementary/elm_atspi_app_object.c
index 77cfe7f93c..e1ef62ac91 100644
--- a/src/lib/elementary/elm_atspi_app_object.c
+++ b/src/lib/elementary/elm_atspi_app_object.c
@@ -70,4 +70,4 @@ _elm_atspi_app_object_efl_access_object_role_get(const Eo 
*obj EINA_UNUSED, Elm_
return EFL_ACCESS_ROLE_APPLICATION;
 }
 
-#include "elm_atspi_app_object.eo.c"
+#include "elm_atspi_app_object_eo.c"
diff --git a/src/lib/elementary/elm_atspi_app_object.eo 
b/src/lib/elementary/elm_atspi_app_object.eo
deleted file mode 100644
index e63e233923..00
--- a/src/lib/elementary/elm_atspi_app_object.eo
+++ /dev/null
@@ -1,12 +0,0 @@
-class Elm.Atspi.App.Object extends Efl.Object implements Efl.Access.Object
-{
-   [[AT-SPI application object class]]
-   data: Elm_Atspi_App_Object_Data;
-   implements {
-  Efl.Object.destructor;
-  Efl.Access.Object.i18n_name { get; }
-  Efl.Access.Object.description { get; set; }
-  Efl.Access.Object.role { get; }
-  Efl.Access.Object.access_children { get; }
-   }
-}
diff --git a/src/lib/elementary/elm_atspi_app_object.h 
b/src/lib/elementary/elm_atspi_app_object.h
index f460ffd83e..e67e5524ff 100644
--- a/src/lib/elementary/elm_atspi_app_object.h
+++ b/src/lib/elementary/elm_atspi_app_object.h
@@ -1 +1,3 @@
-#include "elm_atspi_app_object.eo.h"
+#ifndef EFL_NOLEGACY_API_SUPPORT
+#include "elm_atspi_app_object_eo.legacy.h"
+#endif
diff --git a/src/lib/elementary/elm_atspi_app_object_eo.c 
b/src/lib/elementary/elm_atspi_app_object_eo.c
new file mode 100644
index 00..2158c09038
--- /dev/null
+++ b/src/lib/elementary/elm_atspi_app_object_eo.c
@@ -0,0 +1,55 @@
+
+void _elm_atspi_app_object_efl_object_destructor(Eo *obj, 
Elm_Atspi_App_Object_Data *pd);
+
+
+const char *_elm_atspi_app_object_efl_access_object_i18n_name_get(const Eo 
*obj, Elm_Atspi_App_Object_Data *pd);
+
+
+void _elm_atspi_app_object_efl_access_object_description_set(Eo *obj, 
Elm_Atspi_App_Object_Data *pd, const char *description);
+
+
+const char *_elm_atspi_app_object_efl_access_object_description_get(const Eo 
*obj, Elm_Atspi_Ap

[EGIT] [core/efl] master 02/02: elm_atspi_bridge: remove all legacy usage from eo files

2019-03-22 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=44d0cb926098e34185d4a2cbc1ab1a705e50d25e

commit 44d0cb926098e34185d4a2cbc1ab1a705e50d25e
Author: Jaehyun Cho 
Date:   Thu Mar 21 21:29:00 2019 +0900

elm_atspi_bridge: remove all legacy usage from eo files

this takes the current generated output from eolian for legacy code in
efl and adds it to the tree, then removes legacy references from the
corresponding eo files. in the case where the entire eo file was for
a legacy object, that eo file has been removed from the tree

ref T7724
---
 src/Makefile_Elementary.am  |  7 ++-
 src/lib/elementary/elm_atspi_bridge.c   |  2 +-
 src/lib/elementary/elm_atspi_bridge.eo  | 24 -
 src/lib/elementary/elm_atspi_bridge.h   |  5 +-
 src/lib/elementary/elm_atspi_bridge_eo.c| 66 +
 src/lib/elementary/elm_atspi_bridge_eo.h| 51 +++
 src/lib/elementary/elm_atspi_bridge_eo.legacy.c |  6 +++
 src/lib/elementary/elm_atspi_bridge_eo.legacy.h | 28 +++
 src/lib/elementary/elm_priv.h   |  1 +
 src/lib/elementary/meson.build  |  4 +-
 10 files changed, 163 insertions(+), 31 deletions(-)

diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index b1fad382cc..4b132104f0 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -143,7 +143,6 @@ elm_public_eolian_files += \
lib/elementary/efl_ui_progressbar_legacy_part.eo \
lib/elementary/elm_multibuttonentry_part.eo \
lib/elementary/elm_interface_scrollable.eo \
-   lib/elementary/elm_atspi_bridge.eo \
lib/elementary/efl_ui_image_zoomable_pan.eo \
$(NULL)
 
@@ -256,6 +255,8 @@ lib/elementary/elm_access_eo.legacy.c \
 lib/elementary/elm_actionslider_eo.c \
 lib/elementary/elm_actionslider_eo.legacy.c \
 lib/elementary/elm_atspi_app_object_eo.c \
+lib/elementary/elm_atspi_bridge_eo.c \
+lib/elementary/elm_atspi_bridge_eo.legacy.c \
 lib/elementary/elm_box_eo.c \
 lib/elementary/elm_box_eo.legacy.c \
 lib/elementary/elm_bubble_eo.c \
@@ -435,6 +436,7 @@ lib/elementary/efl_ui_win_socket_legacy_eo.legacy.h \
 lib/elementary/elm_access_eo.legacy.h \
 lib/elementary/elm_actionslider_eo.legacy.h \
 lib/elementary/elm_atspi_app_object_eo.legacy.h \
+lib/elementary/elm_atspi_bridge_eo.legacy.h \
 lib/elementary/elm_box_eo.legacy.h \
 lib/elementary/elm_bubble_eo.legacy.h \
 lib/elementary/elm_calendar_eo.legacy.h \
@@ -543,6 +545,7 @@ lib/elementary/efl_ui_win_socket_legacy_eo.h \
 lib/elementary/elm_access_eo.h \
 lib/elementary/elm_actionslider_eo.h \
 lib/elementary/elm_atspi_app_object_eo.h \
+lib/elementary/elm_atspi_bridge_eo.h \
 lib/elementary/elm_box_eo.h \
 lib/elementary/elm_bubble_eo.h \
 lib/elementary/elm_calendar_eo.h \
@@ -645,7 +648,6 @@ includesdir = $(includedir)/elementary-@VMAJ@
 
 includesunstable_HEADERS = \
lib/elementary/elm_gen_common.h \
-   lib/elementary/elm_atspi_bridge.h \
lib/elementary/efl_access_object.h \
lib/elementary/efl_access_text.h \
lib/elementary/efl_access_widget_action.h \
@@ -802,6 +804,7 @@ includesub_HEADERS = \
lib/elementary/elm_actionslider_legacy.h \
lib/elementary/elm_app.h \
lib/elementary/elm_atspi_app_object.h \
+   lib/elementary/elm_atspi_bridge.h \
lib/elementary/elm_authors.h \
lib/elementary/elm_bg.h \
lib/elementary/elm_bg_legacy.h \
diff --git a/src/lib/elementary/elm_atspi_bridge.c 
b/src/lib/elementary/elm_atspi_bridge.c
index e1dc3ef241..c689557d6c 100644
--- a/src/lib/elementary/elm_atspi_bridge.c
+++ b/src/lib/elementary/elm_atspi_bridge.c
@@ -4801,4 +4801,4 @@ _elm_atspi_bridge_efl_object_destructor(Eo *obj, 
Elm_Atspi_Bridge_Data *pd)
efl_destructor(efl_super(obj, ELM_ATSPI_BRIDGE_CLASS));
 }
 
-#include "elm_atspi_bridge.eo.c"
+#include "elm_atspi_bridge_eo.c"
diff --git a/src/lib/elementary/elm_atspi_bridge.eo 
b/src/lib/elementary/elm_atspi_bridge.eo
deleted file mode 100644
index 8ed0f1a25b..00
--- a/src/lib/elementary/elm_atspi_bridge.eo
+++ /dev/null
@@ -1,24 +0,0 @@
-class Elm.Atspi.Bridge extends Efl.Object
-{
-   [[AT-SPI bridge class]]
-   eo_prefix: elm_obj_atspi_bridge;
-   event_prefix: elm_atspi_bridge;
-   methods {
-  @property connected {
- get {
-[[Indicate if connection with AT-SPI2 bus has been established.]]
-values {
-   ret: bool; [[$true if connection has been established, $false 
otherwise]]
-}
- }
-  }
-   }
-   implements {
-  Efl.Object.constructor;
-  Efl.Object.destructor;
-   }
-   events {
-  connected: void; [[Connected with AT-SPI2 bus]]
-  disconnected: void; [[Disconnected from AT-SPI2 bus]]
-   }
-}
diff --git a/src/lib/elementary/elm_atspi_bridge.h 
b/src/lib/elementary/elm_atspi_bridg

[EGIT] [core/efl] master 01/01: eolian_mono: apply indentation of if scope

2019-03-19 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a253f502c7359db787dc78e02499735e5bd74c14

commit a253f502c7359db787dc78e02499735e5bd74c14
Author: Jaehyun Cho 
Date:   Wed Mar 20 11:24:51 2019 +0900

eolian_mono: apply indentation of if scope
---
 src/bin/eolian_mono/eolian/mono/function_registration.hh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/eolian_mono/eolian/mono/function_registration.hh 
b/src/bin/eolian_mono/eolian/mono/function_registration.hh
index cc7534b29a..5898af9c27 100644
--- a/src/bin/eolian_mono/eolian/mono/function_registration.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_registration.hh
@@ -38,7 +38,7 @@ struct function_registration_generator
 
 if(!as_generator(
scope_tab << scope_tab << "if (" << f.c_name << 
"_static_delegate == null)\n"
-<< scope_tab << scope_tab << f.c_name << "_static_delegate = new " 
<< f.c_name << "_delegate(" <<
+<< scope_tab << scope_tab << scope_tab << f.c_name << 
"_static_delegate = new " << f.c_name << "_delegate(" <<
 escape_keyword(f.name) << ");\n"
 ).generate(sink, attributes::unused, context))
   return false;

-- 




[EGIT] [core/efl] master 01/02: Revert "tests: add test for elm_layout_text_set"

2019-03-13 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6bf7f19d6059a71e34566a8ef34f9e7accc3f3cf

commit 6bf7f19d6059a71e34566a8ef34f9e7accc3f3cf
Author: Jaehyun Cho 
Date:   Wed Mar 13 19:25:36 2019 +0900

Revert "tests: add test for elm_layout_text_set"

This reverts commit 0e027980f6c275f1a56ae550679010d689c91b23.

Since D7888 breaks the backward compatibility, D7888 is going to be
reverted. This patch is based on D7888 so this patch is also required to
be reverted for now.
After a proper patch is applied instead of D7888, then this patch can be
submitted again.
---
 src/tests/elementary/elm_test_layout.c | 13 -
 1 file changed, 13 deletions(-)

diff --git a/src/tests/elementary/elm_test_layout.c 
b/src/tests/elementary/elm_test_layout.c
index b5ee17a30c..5184086538 100644
--- a/src/tests/elementary/elm_test_layout.c
+++ b/src/tests/elementary/elm_test_layout.c
@@ -70,22 +70,9 @@ EFL_START_TEST(elm_layout_test_swallows)
 }
 EFL_END_TEST
 
-EFL_START_TEST(elm_layout_test_text_set)
-{
-   Evas_Object *win, *layout;
-
-   win = win_add(NULL, "layout", ELM_WIN_BASIC);
-
-   layout = elm_layout_add(win);
-   ck_assert(!elm_layout_text_set(layout, "blahblah", "test"));
-}
-EFL_END_TEST
-
-
 void elm_test_layout(TCase *tc)
 {
tcase_add_test(tc, elm_layout_test_legacy_type_check);
tcase_add_test(tc, elm_atspi_role_get);
tcase_add_test(tc, elm_layout_test_swallows);
-   tcase_add_test(tc, elm_layout_test_text_set);
 }

-- 




[EGIT] [core/efl] master 02/02: Revert "efl_ui_layout: check part existence in text_set"

2019-03-13 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=98ca79e8ce2d479f1e3d29eff04e39c232f1c275

commit 98ca79e8ce2d479f1e3d29eff04e39c232f1c275
Author: Jaehyun Cho 
Date:   Wed Mar 13 19:27:03 2019 +0900

Revert "efl_ui_layout: check part existence in text_set"

This reverts commit 649433560b5b6c81e2136d0e2d036042f035b00c.

This patch is reverted because this patch breaks the backward
compatibility.
Please check Popup in elementary_test.
---
 src/lib/elementary/efl_ui_layout.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_layout.c 
b/src/lib/elementary/efl_ui_layout.c
index 8c6e69abcf..d50bd84674 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -2764,7 +2764,6 @@ elm_layout_text_set(Eo *obj, const char *part, const char 
*text)
else if (!_elm_layout_part_aliasing_eval(obj, , EINA_TRUE))
  return EINA_FALSE;
 
-   if (!efl_layout_group_part_exist_get(obj, part)) return EINA_FALSE;
efl_text_set(efl_part(obj, part), text);
return EINA_TRUE;
 }

-- 




[EGIT] [core/efl] master 02/02: efl_ui_navigation_layout: fix bar value to be Efl.Ui.Layout_Base

2019-03-11 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6c00b54305c9b24480880c932f8113b8235ad155

commit 6c00b54305c9b24480880c932f8113b8235ad155
Author: Jaehyun Cho 
Date:   Tue Mar 12 14:42:28 2019 +0900

efl_ui_navigation_layout: fix bar value to be Efl.Ui.Layout_Base

Since Efl.Ui.Layout is renamed to Efl.Ui.Layout_Base, the bar value is
fixed to be Efl.Ui.Layout_Base.
---
 src/lib/elementary/efl_ui_navigation_layout.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_navigation_layout.eo 
b/src/lib/elementary/efl_ui_navigation_layout.eo
index e766fc0da7..1ddac7367b 100644
--- a/src/lib/elementary/efl_ui_navigation_layout.eo
+++ b/src/lib/elementary/efl_ui_navigation_layout.eo
@@ -16,7 +16,7 @@ class @beta Efl.Ui.Navigation_Layout extends 
Efl.Ui.Layout_Base implements Efl.C
  get {
  }
  values {
-value: Efl.Ui.Layout;
+value: Efl.Ui.Layout_Base;
[[The bar object located at the top area of the Navigation 
Layout.
]]
  }

-- 




[EGIT] [core/efl] master 01/01: test_ui_relative_layout: fix maybe-uninitialized warning

2019-02-22 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=125b5c3191fd34cde51e48e5828571671942b9c7

commit 125b5c3191fd34cde51e48e5828571671942b9c7
Author: Jaehyun Cho 
Date:   Fri Feb 22 20:00:14 2019 +0900

test_ui_relative_layout: fix maybe-uninitialized warning

Warning, which 'text' may be used uninitialized, is fixed.
---
 src/bin/elementary/test_ui_relative_layout.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/elementary/test_ui_relative_layout.c 
b/src/bin/elementary/test_ui_relative_layout.c
index 9cb8b168c7..24546cad14 100644
--- a/src/bin/elementary/test_ui_relative_layout.c
+++ b/src/bin/elementary/test_ui_relative_layout.c
@@ -112,7 +112,7 @@ static void
 _setter_add(Eo *vbox, Eo *btn, Options option)
 {
Eo *to, *hbox;
-   char *text, *btn_text;
+   char *text = NULL, *btn_text;
double relative;
 
switch (option)

-- 




[EGIT] [core/efl] master 01/01: Revert "eo: fix to remove unreachable loop"

2019-02-22 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0e5ce0e9b4da1735834d6c3ef5941c943a8ec115

commit 0e5ce0e9b4da1735834d6c3ef5941c943a8ec115
Author: Jaehyun Cho 
Date:   Fri Feb 22 19:01:09 2019 +0900

Revert "eo: fix to remove unreachable loop"

This reverts commit f02b82a49e12c0d02bb3f438046e1ceb93d1643b.
---
 src/lib/eo/eo.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 9d70bc3e83..76bebef023 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -3628,8 +3628,10 @@ _efl_class_reflection_find(const _Efl_Class *klass, 
const char *property_name)
 if (ref) return ref;
  }
 
-   if (*klass_iter)
- return _efl_class_reflection_find(*klass_iter, property_name);
+   for (; *klass_iter; klass_iter++)
+ {
+return _efl_class_reflection_find(*klass_iter, property_name);
+ }
 
return NULL;
 }

-- 




[EGIT] [core/efl] master 01/02: eo: fix to remove unreachable loop

2019-02-21 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f02b82a49e12c0d02bb3f438046e1ceb93d1643b

commit f02b82a49e12c0d02bb3f438046e1ceb93d1643b
Author: Jaehyun Cho 
Date:   Mon Feb 18 13:24:27 2019 +0900

eo: fix to remove unreachable loop
---
 src/lib/eo/eo.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 76bebef023..9d70bc3e83 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -3628,10 +3628,8 @@ _efl_class_reflection_find(const _Efl_Class *klass, 
const char *property_name)
 if (ref) return ref;
  }
 
-   for (; *klass_iter; klass_iter++)
- {
-return _efl_class_reflection_find(*klass_iter, property_name);
- }
+   if (*klass_iter)
+ return _efl_class_reflection_find(*klass_iter, property_name);
 
return NULL;
 }

-- 




[EGIT] [core/efl] master 02/02: efl_io_model: fix not to cause memory overflow by strcpy

2019-02-21 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c8cee32929a3c03fca65a4532d1c627cd48e33f2

commit c8cee32929a3c03fca65a4532d1c627cd48e33f2
Author: Jaehyun Cho 
Date:   Mon Feb 18 13:48:39 2019 +0900

efl_io_model: fix not to cause memory overflow by strcpy

Since the destination string size is EINA_PATH_MAX, the string is copied
up to EINA_PATH_MAX size.
---
 src/lib/eio/efl_io_model.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eio/efl_io_model.c b/src/lib/eio/efl_io_model.c
index a14209069a..76cc7ab40c 100644
--- a/src/lib/eio/efl_io_model.c
+++ b/src/lib/eio/efl_io_model.c
@@ -111,7 +111,7 @@ _efl_model_evt_added_ecore_cb(void *data, int type, void 
*event)
 info.name_start = mi->name_start;
 info.name_length = mi->name_length;
 info.type = EINA_FILE_UNKNOWN;
-strcpy(info.path, mi->path);
+strncpy(info.path, mi->path, (EINA_PATH_MAX - 1));
 
 if (!pd->filter.cb(pd->filter.data, obj, ))
   {

-- 




[EGIT] [core/efl] master 02/02: eet_dictionary: remove dead code

2019-02-13 Thread Jaehyun Cho
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=94be8a88d3c28fd8b339b141f2f209a01e589564

commit 94be8a88d3c28fd8b339b141f2f209a01e589564
Author: Jaehyun Cho 
Date:   Wed Feb 13 07:59:46 2019 +

eet_dictionary: remove dead code

If index value is not -1, then eet_dictionary_string_add() returns.
Therefore, it does not need to check the index value after that.

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D7922
---
 src/lib/eet/eet_dictionary.c | 14 +++---
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/src/lib/eet/eet_dictionary.c b/src/lib/eet/eet_dictionary.c
index 46e8cbf723..7a80463bd6 100644
--- a/src/lib/eet/eet_dictionary.c
+++ b/src/lib/eet/eet_dictionary.c
@@ -130,17 +130,9 @@ eet_dictionary_string_add(Eet_Dictionary *ed,
current->str = str;
current->len = len;
 
-   if (idx == -1)
- {
-current->next = ed->hash[hash];
-ed->hash[hash] = ed->count;
- }
-   else
- {
-current->next = idx;
-if (pidx != -1) ed->all[pidx].next = ed->count;
-else ed->hash[hash] = ed->count;
- }
+   current->next = ed->hash[hash];
+   ed->hash[hash] = ed->count;
+
cnt = ed->count++;
eina_rwlock_release(>rwlock);
return cnt;

-- 




[EGIT] [core/efl] master 02/02: efl_ui_format: fix to display %% and unknown format element

2019-02-11 Thread Jaehyun Cho
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a7eb0695b803713f8f8e69d33be0db1effb18da1

commit a7eb0695b803713f8f8e69d33be0db1effb18da1
Author: Jaehyun Cho 
Date:   Fri Feb 1 08:13:39 2019 +

efl_ui_format: fix to display %% and unknown format element

This fixes 2 things as follows.

1. Displays format string "%%" as "%".
   Like printf does, "%%" is displayed as "%".

2. Displays unknown format element as it is.
   In format string "(50%)", ")" is an unknown format element.
   Although format string has unknown format element, the format string
   is displayed like printf does.

The cause of the issue displaying "0%" which was mentioned on
a96933f964b1757b9d9f8a4cce14d883f35a6665 is as follows.

The default format string of progressbar is set as "%.0f%%".
Therefore, if progressbar's format string is not set, then "%" postfix
is always displayed.

This commit reverts commit a96933f964b1757b9d9f8a4cce14d883f35a6665.
This commit restores commit b4112b9735ce75bce95974a257aa1880fa52a6bf.
This commit restores commit be770d37fb05b8486907796dd16f4635bceb4ce1.

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D7856
---
 src/lib/efl/interfaces/efl_ui_format.c | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_ui_format.c 
b/src/lib/efl/interfaces/efl_ui_format.c
index e722d22654..f6f1b811e2 100644
--- a/src/lib/efl/interfaces/efl_ui_format.c
+++ b/src/lib/efl/interfaces/efl_ui_format.c
@@ -38,6 +38,8 @@ _format_string_check(const char *fmt)
 if (itr[1] == '%')
   {
  itr++;
+ if (ret_type == FORMAT_TYPE_STATIC)
+   ret_type = FORMAT_TYPE_STRING;
  continue;
   }
 
@@ -69,7 +71,8 @@ _format_string_check(const char *fmt)
 }
   else
 {
-   ret_type = FORMAT_TYPE_INVALID;
+   ERR("Format string '%s' has unknown format element '%c' 
in format. It must have one format element of type 's', 'f', 'F', 'd', 'u', 
'i', 'o', 'x' or 'X'", fmt, *itr);
+   found = EINA_FALSE;
break;
 }
}
@@ -121,7 +124,7 @@ _default_format_cb(void *data, Eina_Strbuf *str, const 
Eina_Value value)
  }
else if (sd->format_type == FORMAT_TYPE_STATIC)
  {
-eina_strbuf_append_printf(str, "%s", sd->template);
+eina_strbuf_append(str, sd->template);
  }
else
  {

-- 




[EGIT] [core/efl] master 01/01: Revert "evas: make efl_canvas_animation abstract"

2019-01-31 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f23f3074daa3e9da5b37cc168df5d6b003e0ec62

commit f23f3074daa3e9da5b37cc168df5d6b003e0ec62
Author: Jaehyun Cho 
Date:   Fri Feb 1 15:17:26 2019 +0900

Revert "evas: make efl_canvas_animation abstract"

Efl.Canvas.Animation class can be used for custom animation with
Efl.Player class' event callbacks as follows.

Example code:

void _anim_running_cb(void *data, const Efl_Event *event)
{
   //Do custom animation
}
{
   Eo *anim = efl_add(EFL_CANVAS_ANIMATION_CLASS, win);
   Eo *player = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS,
efl_animation_player_animation_set(efl_added,
   anim));
   efl_event_callback_add(player, EFL_ANIMATION_PLAYER_EVENT_RUNNING,
  _anim_running_cb, NULL);
}

As a result, Efl.Canvas.Animation is required to be a regular class
instead of an abstract class.

This reverts commit ea9ff9f547b54255d36973da8e8ba378c5ad2684.
---
 src/lib/evas/canvas/efl_canvas_animation.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/efl_canvas_animation.eo 
b/src/lib/evas/canvas/efl_canvas_animation.eo
index eb12ef8536..977de0579d 100644
--- a/src/lib/evas/canvas/efl_canvas_animation.eo
+++ b/src/lib/evas/canvas/efl_canvas_animation.eo
@@ -1,6 +1,6 @@
 import efl_canvas_animation_types;
 
-abstract Efl.Canvas.Animation extends Efl.Object implements Efl.Playable
+class Efl.Canvas.Animation extends Efl.Object implements Efl.Playable
 {
[[Efl animation class]]
eo_prefix: efl_animation;

-- 




[EGIT] [core/efl] master 01/01: eo: check memory allocation of table data

2019-01-30 Thread Jaehyun Cho
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4eda1ea38ece822b5202fc03ad2309e85bd698b2

commit 4eda1ea38ece822b5202fc03ad2309e85bd698b2
Author: Jaehyun Cho 
Date:   Wed Jan 30 12:03:20 2019 +

eo: check memory allocation of table data

Memory allocation is checked for the given domain's table data like
other cases for main and shared table data.
Differential Revision: https://phab.enlightenment.org/D7810
---
 src/lib/eo/eo.c | 19 ---
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 44a17ae8a9..3e4ac6c3e5 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -2470,21 +2470,26 @@ EAPI Eina_Bool
 efl_domain_switch(Efl_Id_Domain domain)
 {
Eo_Id_Data *data = _eo_table_data_get();
+   Eo_Id_Data *new_data;
if ((domain < EFL_ID_DOMAIN_MAIN) || (domain > EFL_ID_DOMAIN_THREAD) ||
(domain == EFL_ID_DOMAIN_SHARED))
  {
 ERR("Invalid domain %i being switched to", domain);
 return EINA_FALSE;
  }
-   if (data)
+   if ((data) && (data->local_domain == domain))
+ return EINA_TRUE;
+
+   new_data = _eo_table_data_new(domain);
+   if (!new_data)
  {
-if (data->local_domain == domain) return EINA_TRUE;
-_eo_free_ids_tables(data);
+ERR("Could not allocate domain %i table data", domain);
+return EINA_FALSE;
  }
-   data = _eo_table_data_new(domain);
-   data->local_domain = domain;
-   data->domain_stack[data->stack_top] = domain;
-   eina_tls_set(_eo_table_data, data);
+   if (data) _eo_free_ids_tables(data);
+   new_data->local_domain = domain;
+   new_data->domain_stack[new_data->stack_top] = domain;
+   eina_tls_set(_eo_table_data, new_data);
return EINA_TRUE;
 }
 

-- 




[EGIT] [core/efl] master 01/01: examples: fix slider cxx example not to call content_set

2019-01-28 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9c1b80fc030e08aeace6f7a6c2e95e97531d7ee6

commit 9c1b80fc030e08aeace6f7a6c2e95e97531d7ee6
Author: Jaehyun Cho 
Date:   Tue Jan 29 13:51:47 2019 +0900

examples: fix slider cxx example not to call content_set

Since Efl.Content is removed from Efl.Ui.Slider, slider should not call
content_set.

This patch is for the commit 4c44c44e1a46bc05ea812259474cbc8c83659769.
---
 src/examples/elementary/slider_cxx_example.cc | 9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/src/examples/elementary/slider_cxx_example.cc 
b/src/examples/elementary/slider_cxx_example.cc
index 90d815f9de..8038782026 100644
--- a/src/examples/elementary/slider_cxx_example.cc
+++ b/src/examples/elementary/slider_cxx_example.cc
@@ -27,16 +27,11 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
 
efl::ui::Slider sl2(instantiate, win);
efl::ui::Image ic(instantiate, win);
-   ic.icon_set("home");
+   ic.icon_set("folder");
ic.scalable_set(false, false);
-   sl2.content_set(ic);
-
-   efl::ui::Image ic2(instantiate, win);
-   ic2.icon_set("folder");
-   ic2.scalable_set(false, false);
// FIXME: C++ part API needs special reference handling! This will show ERR!
efl::eo::downcast(sl2.part_get("elm.swallow.end"))
- .content_set(ic2);
+ .content_set(ic);
 
sl2.hint_fill_set(true, false);
bx.pack_end(sl2);

-- 




[EGIT] [core/efl] master 02/02: examples: remove data parameter of efl_loop_promise_new

2019-01-23 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a44399fc5d708745817f0545aad1dc1e69e9f184

commit a44399fc5d708745817f0545aad1dc1e69e9f184
Author: Jaehyun Cho 
Date:   Thu Jan 24 13:27:50 2019 +0900

examples: remove data parameter of efl_loop_promise_new

Build error is fixed by removing data parameter of efl_loop_promise_new.
This patch is for 563f91eaf98fff474a4858f2d81c6374f0d777b9
---
 src/examples/ecore/ecore_promise2_example.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/examples/ecore/ecore_promise2_example.c 
b/src/examples/ecore/ecore_promise2_example.c
index 7ddb426b1a..bdf153d7ba 100644
--- a/src/examples/ecore/ecore_promise2_example.c
+++ b/src/examples/ecore/ecore_promise2_example.c
@@ -58,7 +58,7 @@ _promise_ctx_new(Efl_Loop *loop, Eina_Value *v)
Ctx *ctx;
ctx = calloc(1, sizeof(Ctx));
EINA_SAFETY_ON_NULL_GOTO(ctx, err_ctx);
-   ctx->p = efl_loop_promise_new(loop, NULL);
+   ctx->p = efl_loop_promise_new(loop);
EINA_SAFETY_ON_NULL_GOTO(ctx->p, err_timer);
ctx->value = v;
return ctx;

-- 




[EGIT] [core/efl] master 01/02: examples: fix edc build error

2019-01-23 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=298d095bc70848167022433ca1f26098d5f3171f

commit 298d095bc70848167022433ca1f26098d5f3171f
Author: Jaehyun Cho 
Date:   Thu Jan 24 13:27:24 2019 +0900

examples: fix edc build error

The state changes which set non-exist state are removed.
Missing states are added.
Incorrect state value is fixed.
---
 src/examples/elementary/efl_ui_list_view_example.edc |  2 +-
 src/examples/elementary/evas3d_map_example.edc   | 14 ++
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/examples/elementary/efl_ui_list_view_example.edc 
b/src/examples/elementary/efl_ui_list_view_example.edc
index 75bafe1b83..1957fbf6a3 100644
--- a/src/examples/elementary/efl_ui_list_view_example.edc
+++ b/src/examples/elementary/efl_ui_list_view_example.edc
@@ -35,7 +35,7 @@ group {
   }
   program {
  signal: "efl,state,odd"; source: "efl";
- action: STATE_SET "odd" 1.0;
+ action: STATE_SET "odd" 0.0;
  target: "base";
   }
   program {
diff --git a/src/examples/elementary/evas3d_map_example.edc 
b/src/examples/elementary/evas3d_map_example.edc
index 06a409dc60..2d4573a788 100644
--- a/src/examples/elementary/evas3d_map_example.edc
+++ b/src/examples/elementary/evas3d_map_example.edc
@@ -166,6 +166,9 @@ group { name: "elm/scroller/base/evas3d";
 inherit: "default" 0.0;
 min: 0 0;
  }
+ description { state: "clicked" 0.0;
+inherit: "default" 0.0;
+ }
   }
   part { name: "sb_vbar_a1"; type: RECT;
  clip_to: "sb_vbar";
@@ -224,7 +227,6 @@ group { name: "elm/scroller/base/evas3d";
   program {
  signal: "mouse,down,1*"; source: "sb_vbar_a1";
  action: STATE_SET "clicked" 0.0;
- target: "sb_vbar_a1";
  target: "arrow1_vbar";
   }
   program {
@@ -235,13 +237,11 @@ group { name: "elm/scroller/base/evas3d";
   program {
  signal: "mouse,up,1"; source: "sb_vbar_a1";
  action: STATE_SET "default" 0.0;
- target: "sb_vbar_a1";
  target: "arrow1_vbar";
   }
   program {
  signal: "mouse,down,1*"; source: "sb_vbar_a2";
  action: STATE_SET "clicked" 0.0;
- target: "sb_vbar_a2";
  target: "arrow2_vbar";
   }
   program {
@@ -252,7 +252,6 @@ group { name: "elm/scroller/base/evas3d";
   program {
  signal: "mouse,up,1"; source: "sb_vbar_a2";
  action: STATE_SET "default" 0.0;
- target: "sb_vbar_a2";
  target: "arrow2_vbar";
   }
   program {
@@ -344,6 +343,9 @@ group { name: "elm/scroller/base/evas3d";
 inherit: "default" 0.0;
 min: 0 0;
  }
+ description { state: "clicked" 0.0;
+inherit: "default" 0.0;
+ }
   }
   part { name: "sb_hbar_a1"; type: RECT;
  clip_to: "sb_hbar";
@@ -402,7 +404,6 @@ group { name: "elm/scroller/base/evas3d";
   program {
  signal: "mouse,down,1*"; source: "sb_hbar_a1";
  action: STATE_SET "clicked" 0.0;
- target: "sb_hbar_a1";
  target: "arrow1_hbar";
   }
   program {
@@ -413,13 +414,11 @@ group { name: "elm/scroller/base/evas3d";
   program {
  signal: "mouse,up,1"; source: "sb_hbar_a1";
  action: STATE_SET "default" 0.0;
- target: "sb_hbar_a1";
  target: "arrow1_hbar";
   }
   program {
  signal: "mouse,down,1*"; source: "sb_hbar_a2";
  action: STATE_SET "clicked" 0.0;
- target: "sb_hbar_a2";
  target: "arrow2_hbar";
   }
   program {
@@ -430,7 +429,6 @@ group { name: "elm/scroller/base/evas3d";
   program {
  signal: "mouse,up,1"; source: "sb_hbar_a2";
  action: STATE_SET "default" 0.0;
- target: "sb_hbar_a2";
  target: "arrow2_hbar";
   }
   program {

-- 




[EGIT] [core/efl] master 01/01: efl_mono: remove '_' from type for C# naming convention

2019-01-13 Thread Jaehyun Cho
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=81317305e03903ffc01e3dc7a621bc0e06ea1bda

commit 81317305e03903ffc01e3dc7a621bc0e06ea1bda
Author: Jaehyun Cho 
Date:   Mon Jan 14 15:21:21 2019 +0900

efl_mono: remove '_' from type for C# naming convention

Summary:
"type" in .eo is converted to "struct" in .eo.cs.
Since the type name in .eo is the same with the struct name .eo.cs,
'_' is removed from the converted struct in .eo.cs for C# naming
convention.

For example, Efl.Callback_Priority is defined in efl_object.eo and
the name is converted to Efl.CallbackPriority in efl_object.eo.cs.

Efl.Access.StateSet in workaround.cs causes duplicated definition
with this patch so Efl.Access.StateSet in workaround.cs is removed.

Test Plan: Compile with autogen.sh --enable-csharp-bindings

Reviewers: lauromoura, segfaultxavi, felipealmeida

Reviewed By: felipealmeida

Subscribers: segfaultxavi, cedric, #reviewers, #committers, woohyun

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7597
---
 src/bin/eolian_mono/eolian/mono/alias_definition.hh |  2 +-
 src/bin/eolian_mono/eolian/mono/name_helpers.hh |  4 +++-
 src/bindings/mono/eo_mono/workaround.cs | 13 -
 3 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/src/bin/eolian_mono/eolian/mono/alias_definition.hh 
b/src/bin/eolian_mono/eolian/mono/alias_definition.hh
index 91659fb7bd..cf9d3495ce 100644
--- a/src/bin/eolian_mono/eolian/mono/alias_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/alias_definition.hh
@@ -33,7 +33,7 @@ struct alias_definition_generator
  if (!name_helpers::open_namespaces(sink, alias.namespaces, context))
return false;
 
- std::string const& alias_name = alias.eolian_name;
+ std::string const alias_name = utils::remove_all(alias.eolian_name, '_');
  if (!as_generator(
  "public struct " << alias_name << " {\n"
  << scope_tab << "private " << type << " payload;\n"
diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh 
b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
index 79aa5b47ae..801d721008 100644
--- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
@@ -194,7 +194,9 @@ inline std::string 
managed_method_name(attributes::function_def const& f)
 
 inline std::string alias_full_eolian_name(attributes::alias_def const& alias)
 {
-   return join_namespaces(alias.namespaces, '.') + alias.eolian_name;
+
+   std::string eolian_name = utils::remove_all(alias.eolian_name, '_');
+   return join_namespaces(alias.namespaces, '.') + eolian_name;
 }
 
 inline std::string managed_async_method_name(attributes::function_def const& f)
diff --git a/src/bindings/mono/eo_mono/workaround.cs 
b/src/bindings/mono/eo_mono/workaround.cs
index 1fa3889d48..99fb53b7e4 100644
--- a/src/bindings/mono/eo_mono/workaround.cs
+++ b/src/bindings/mono/eo_mono/workaround.cs
@@ -134,19 +134,6 @@ public struct ActionData {
 public IntPtr func;
 }
 
-public struct StateSet {
-private ulong val;
-
-public static implicit operator StateSet(ulong x)
-{
-return new StateSet{val=x};
-}
-public static implicit operator ulong(StateSet x)
-{
-return x.val;
-}
-}
-
 } // namespace Access
 
 } // namespace Efl

-- 




[EGIT] [core/efl] master 01/01: evas textblock update calculation - account for clipped color changes

2019-01-10 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=766f8151fc20c4c2859844d7a6bcefa92210ed43

commit 766f8151fc20c4c2859844d7a6bcefa92210ed43
Author: Jaehyun Cho 
Date:   Fri Jan 11 11:17:12 2019 +0900

evas textblock update calculation - account for clipped color changes

if clipped color changed and not object color on textblock objects, then
the updates could be missed. This bug seems to have been here a while
unnoticed.

This patch refers the patch 4e044fd9c27db61d792319ce566e1d3eacb553f2.
---
 src/lib/evas/canvas/evas_object_textblock.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 0a79e30472..37932a1d62 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -14858,7 +14858,11 @@ evas_object_textblock_render_pre(Evas_Object *eo_obj,
if ((obj->cur->color.r != obj->prev->color.r) ||
(obj->cur->color.g != obj->prev->color.g) ||
(obj->cur->color.b != obj->prev->color.b) ||
-   (obj->cur->color.a != obj->prev->color.a))
+   (obj->cur->color.a != obj->prev->color.a) ||
+   (obj->cur->cache.clip.r != obj->prev->cache.clip.r) ||
+   (obj->cur->cache.clip.g != obj->prev->cache.clip.g) ||
+   (obj->cur->cache.clip.b != obj->prev->cache.clip.b) ||
+   (obj->cur->cache.clip.a != obj->prev->cache.clip.a))
  {
 evas_object_render_pre_prev_cur_add(>layer->evas->clip_changes,
 eo_obj, obj);

-- 




[EGIT] [core/efl] master 01/01: efreet: fix build error by using PACKAGE_SYSCONF_DIR

2019-01-03 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=334b2a1ab16bae15bb49520f6d92c6f84397a395

commit 334b2a1ab16bae15bb49520f6d92c6f84397a395
Author: Jaehyun Cho 
Date:   Fri Jan 4 15:11:08 2019 +0900

efreet: fix build error by using PACKAGE_SYSCONF_DIR

This patch fixes build error of make build by applying
0d7f20bbc63da62bbd7af9ae92c38ecc034ec213.

meson build defines PACKAGE_SYSCONF_DIR so there is no build error but
make build did not define it.
---
 src/Makefile_Efreet.am | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/Makefile_Efreet.am b/src/Makefile_Efreet.am
index e429273962..a8aa02ff2f 100644
--- a/src/Makefile_Efreet.am
+++ b/src/Makefile_Efreet.am
@@ -12,6 +12,7 @@ EFREET_COMMON_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
 -DPACKAGE_DATA_DIR=\"$(datadir)/efreet\" \
 -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
 -DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \
+-DPACKAGE_SYSCONF_DIR=\"$(sysconfdir)\" \
 -DDATA_DIR=\"$(datadir)\" \
 -DLOCALE_DIR=\"@LOCALE_DIR@\" \
 @EFREET_CFLAGS@

-- 




[EGIT] [core/efl] master 01/01: ecore: fix build by having proper parameters order.

2019-01-01 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=abad5cb5c877a04bebbe6ed6e2fb06c7f45ce0b1

commit abad5cb5c877a04bebbe6ed6e2fb06c7f45ce0b1
Author: Jaehyun Cho 
Date:   Wed Jan 2 15:04:50 2019 +0900

ecore: fix build by having proper parameters order.
---
 src/examples/ecore/ecore_promise2_example.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/examples/ecore/ecore_promise2_example.c 
b/src/examples/ecore/ecore_promise2_example.c
index f99ef7815c..d10acf0450 100644
--- a/src/examples/ecore/ecore_promise2_example.c
+++ b/src/examples/ecore/ecore_promise2_example.c
@@ -56,7 +56,7 @@ _promise_ctx_new(Efl_Loop *loop, Eina_Value *v)
Ctx *ctx;
ctx = calloc(1, sizeof(Ctx));
EINA_SAFETY_ON_NULL_GOTO(ctx, err_ctx);
-   ctx->p = efl_loop_promise_new(loop, _promise_cancel, ctx);
+   ctx->p = efl_loop_promise_new(loop, ctx, _promise_cancel, NULL);
EINA_SAFETY_ON_NULL_GOTO(ctx->p, err_timer);
ctx->value = v;
return ctx;

-- 




[EGIT] [core/efl] master 01/01: efl_canvas_surface: change mixin to abstract

2018-12-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7a5589b14a97ccd2db1511f38e368f07236f31e2

commit 7a5589b14a97ccd2db1511f38e368f07236f31e2
Author: Jaehyun Cho 
Date:   Tue Dec 18 11:17:12 2018 +0900

efl_canvas_surface: change mixin to abstract

Summary:
If Efl.Canvas.Surface is changed from mixin to abstract, then its sub
classes do not need to inherit from Efl.Object to be a class.
Moreover, Efl.Canvas.Surface's data can be derived to its sub classes
easily.

Reviewers: jpeg, segfaultxavi, woohyun, Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7411
---
 src/lib/evas/canvas/efl_canvas_surface.c  |  2 +-
 src/lib/evas/canvas/efl_canvas_surface.eo |  2 +-
 src/lib/evas/canvas/efl_canvas_surface_tbm.c  | 23 ++--
 src/lib/evas/canvas/efl_canvas_surface_tbm.eo |  2 +-
 src/lib/evas/canvas/efl_canvas_surface_wayland.c  | 23 ++--
 src/lib/evas/canvas/efl_canvas_surface_wayland.eo |  2 +-
 src/lib/evas/canvas/efl_canvas_surface_x11.c  | 26 ---
 src/lib/evas/canvas/efl_canvas_surface_x11.eo |  2 +-
 8 files changed, 43 insertions(+), 39 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_surface.c 
b/src/lib/evas/canvas/efl_canvas_surface.c
index a9993829b7..bc61a55815 100644
--- a/src/lib/evas/canvas/efl_canvas_surface.c
+++ b/src/lib/evas/canvas/efl_canvas_surface.c
@@ -1,6 +1,6 @@
 #include "efl_canvas_surface.h"
 
-#define MY_CLASS EFL_CANVAS_SURFACE_MIXIN
+#define MY_CLASS EFL_CANVAS_SURFACE_CLASS
 
 EOLIAN static Eo *
 _efl_canvas_surface_efl_object_constructor(Eo *eo, Efl_Canvas_Surface_Data *pd)
diff --git a/src/lib/evas/canvas/efl_canvas_surface.eo 
b/src/lib/evas/canvas/efl_canvas_surface.eo
index 5a113f333b..8946b20efa 100644
--- a/src/lib/evas/canvas/efl_canvas_surface.eo
+++ b/src/lib/evas/canvas/efl_canvas_surface.eo
@@ -1,4 +1,4 @@
-mixin Efl.Canvas.Surface (Efl.Interface, Efl.Canvas.Image_Internal)
+abstract Efl.Canvas.Surface (Efl.Canvas.Image_Internal)
 {
[[Native surfaces usually bound to an externally-managed buffer.
 
diff --git a/src/lib/evas/canvas/efl_canvas_surface_tbm.c 
b/src/lib/evas/canvas/efl_canvas_surface_tbm.c
index 33ed98e2bf..a0524e48e9 100644
--- a/src/lib/evas/canvas/efl_canvas_surface_tbm.c
+++ b/src/lib/evas/canvas/efl_canvas_surface_tbm.c
@@ -4,13 +4,13 @@
 
 typedef struct _Efl_Canvas_Surface_Tbm_Data
 {
-   Efl_Canvas_Surface_Data *base;
 } Efl_Canvas_Surface_Tbm_Data;
 
 EOLIAN static Eo *
-_efl_canvas_surface_tbm_efl_object_constructor(Eo *eo, 
Efl_Canvas_Surface_Tbm_Data *pd)
+_efl_canvas_surface_tbm_efl_object_constructor(Eo *eo, 
Efl_Canvas_Surface_Tbm_Data *pd EINA_UNUSED)
 {
Evas_Object_Protected_Data *obj;
+   Efl_Canvas_Surface_Data *sd;
 
eo = efl_constructor(efl_super(eo, MY_CLASS));
obj = efl_data_scope_get(eo, EFL_CANVAS_OBJECT_CLASS);
@@ -22,34 +22,35 @@ _efl_canvas_surface_tbm_efl_object_constructor(Eo *eo, 
Efl_Canvas_Surface_Tbm_Da
 return NULL;
  }
 
-   pd->base = efl_data_ref(eo, EFL_CANVAS_SURFACE_MIXIN);
-   pd->base->surf.type = EVAS_NATIVE_SURFACE_TBM;
+   sd = efl_data_scope_get(eo, EFL_CANVAS_SURFACE_CLASS);
+   sd->surf.type = EVAS_NATIVE_SURFACE_TBM;
return eo;
 }
 
 EOLIAN static void
-_efl_canvas_surface_tbm_efl_object_destructor(Eo *eo, 
Efl_Canvas_Surface_Tbm_Data *pd)
+_efl_canvas_surface_tbm_efl_object_destructor(Eo *eo, 
Efl_Canvas_Surface_Tbm_Data *pd EINA_UNUSED)
 {
Evas_Object_Protected_Data *obj;
 
obj = efl_data_scope_get(eo, EFL_CANVAS_OBJECT_CLASS);
 
ENFN->image_native_shutdown(ENC, EVAS_NATIVE_SURFACE_TBM);
-   efl_data_unref(eo, pd->base);
efl_destructor(eo);
 }
 
 EOLIAN static Eina_Bool
-_efl_canvas_surface_tbm_efl_canvas_surface_native_buffer_set(Eo *eo, 
Efl_Canvas_Surface_Tbm_Data *pd, void *buffer)
+_efl_canvas_surface_tbm_efl_canvas_surface_native_buffer_set(Eo *eo, 
Efl_Canvas_Surface_Tbm_Data *pd EINA_UNUSED, void *buffer)
 {
-   pd->base->surf.data.tbm.buffer = buffer;
-   if (!_evas_image_native_surface_set(eo, >base->surf))
+   Efl_Canvas_Surface_Data *sd = efl_data_scope_get(eo, 
EFL_CANVAS_SURFACE_CLASS);
+
+   sd->surf.data.tbm.buffer = buffer;
+   if (!_evas_image_native_surface_set(eo, >surf))
  {
 ERR("failed to set native buffer");
-pd->base->buffer = NULL;
+sd->buffer = NULL;
 return EINA_FALSE;
  }
-   pd->base->buffer = buffer;
+   sd->buffer = buffer;
return EINA_TRUE;
 }
 
diff --git a/src/lib/evas/canvas/efl_canvas_surface_tbm.eo 
b/src/lib/evas/canvas/efl_canvas_surface_tbm.eo
index 89b255cb47..7a3a8ee56f 100644
--- a/src/lib/evas/canvas/efl_canvas_surface_tbm.eo
+++ b/src/lib/evas/canvas/efl_canvas_surface_tbm.eo
@@ -1,4 +1,4 @@
-class Efl.Canvas.Surface_Tbm (Efl.Obj

[EGIT] [core/efl] master 01/01: eolian_mono: use System.Type explicitly

2018-12-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=01864e166b823a27093cdb68917ade43289a0b58

commit 01864e166b823a27093cdb68917ade43289a0b58
Author: Jaehyun Cho 
Date:   Mon Dec 17 19:35:04 2018 +0900

eolian_mono: use System.Type explicitly

Previously, "Type" was used with "using System".
However, it caused ambiguity if some classes had "Type" property.

Therefore, "System.Type" is used explicitly to remove ambiguity.
---
 src/bin/eolian_mono/eolian/mono/klass.hh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh 
b/src/bin/eolian_mono/eolian/mono/klass.hh
index 90133291a8..907ac97ad1 100644
--- a/src/bin/eolian_mono/eolian/mono/klass.hh
+++ b/src/bin/eolian_mono/eolian/mono/klass.hh
@@ -528,7 +528,7 @@ struct klass
  << scope_tab << "}\n"
 
  << scope_tab << "///Internal constructor to 
forward the wrapper initialization to the root class.\n"
- << scope_tab << "protected " << inherit_name << 
"(Efl.Eo.Globals.class_initializer class_initializer, String klass_name, IntPtr 
base_klass, Type managed_type, Efl.Object parent, ref IntPtr target_klass) : 
base(class_initializer, klass_name, base_klass, managed_type, parent, ref 
target_klass) {}\n"
+ << scope_tab << "protected " << inherit_name << 
"(Efl.Eo.Globals.class_initializer class_initializer, String klass_name, IntPtr 
base_klass, System.Type managed_type, Efl.Object parent, ref IntPtr 
target_klass) : base(class_initializer, klass_name, base_klass, managed_type, 
parent, ref target_klass) {}\n"
 
  << scope_tab << "///Constructs an instance from 
a native pointer.\n"
  << scope_tab << "public " << inherit_name << 
"(System.IntPtr raw)" << (root ? "" : " : base(raw)") << "\n"
@@ -552,7 +552,7 @@ struct klass
  << scope_tab << scope_tab << "FinishInstantiation();\n"
  << scope_tab << "}\n"
 
- << scope_tab << "protected " << inherit_name << 
"(Efl.Eo.Globals.class_initializer class_initializer, String klass_name, IntPtr 
base_klass, Type managed_type, Efl.Object parent, ref IntPtr target_klass)\n"
+ << scope_tab << "protected " << inherit_name << 
"(Efl.Eo.Globals.class_initializer class_initializer, String klass_name, IntPtr 
base_klass, System.Type managed_type, Efl.Object parent, ref IntPtr 
target_klass)\n"
  << scope_tab << "{\n"
  << scope_tab << scope_tab << "inherited = this.GetType() != 
managed_type;\n"
  << scope_tab << scope_tab << "IntPtr actual_klass = base_klass;\n"

-- 




[EGIT] [core/efl] master 01/01: efl_ui_win: enable bg color set although alpha is set

2018-12-04 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=df216a4f1d9793f001fc48c56c3bbbc49aed97b4

commit df216a4f1d9793f001fc48c56c3bbbc49aed97b4
Author: Jaehyun Cho 
Date:   Wed Dec 5 10:35:30 2018 +0900

efl_ui_win: enable bg color set although alpha is set

Summary:
This patch sets background transparent if window supports alpha.
If alpha window does not emit signal to show background rectangle,
then the background color set by _efl_ui_win_part_color_set cannot
be applied because the background rectangle remains hidden.

This patch fixes the side effect of D6569.

Test Plan: Run Efl.Ui.Win (Bg part) in elementary_test.

Reviewers: zmike, devilhorns, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7302
---
 src/lib/elementary/efl_ui_win.c | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 535316119e..1e12b46702 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -4659,11 +4659,18 @@ _elm_win_frame_style_update(Efl_Ui_Win_Data *sd, 
Eina_Bool force_emit, Eina_Bool
else
 #endif
focus = ecore_evas_focus_get(sd->ee);
-   bg_solid = sd->csd.need_bg_solid && (!alpha);
bg_standard = sd->csd.need_bg_standard;
unresizable = sd->csd.need_unresizable;
menu = sd->csd.need_menu;
indicator = sd->csd.need_indicator;
+   bg_solid = sd->csd.need_bg_solid;
+   /* Set background transparent if window supports alpha.
+* If alpha window does not emit signal to show background rectangle, then
+* the background color set by _efl_ui_win_part_color_set cannot be applied
+* because the background rectangle remains hidden.
+*/
+   if (alpha && bg_solid && !(sd->csd.cur_bg_solid))
+ edje_object_color_class_set(sd->frame_obj, "elm/win/background", 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0);
 
/* FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME
 * At the moment, E Wayland uses SSD for its internal windows. Which means

-- 




[EGIT] [core/efl] master 02/02: efl_interpolator: rename subclasses of Efl.Interpolator

2018-11-23 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f3eb8d6441af396e61842cb83b9ac7b3af34f527

commit f3eb8d6441af396e61842cb83b9ac7b3af34f527
Author: Jaehyun Cho 
Date:   Fri Nov 23 21:26:00 2018 +0900

efl_interpolator: rename subclasses of Efl.Interpolator

Subclasses of Efl.Interpolator are renamed intuitively from backward
order to forward order.
---
 src/Makefile_Ecore.am  | 32 ++---
 src/bin/elementary/test_efl_anim_interpolator.c| 26 +-
 src/lib/ecore/CMakeLists.txt   | 16 +++
 src/lib/ecore/Ecore_Eo.h   | 16 +++
 src/lib/ecore/efl_accelerate_interpolator.c| 55 ++
 ...ccelerate.eo => efl_accelerate_interpolator.eo} |  4 +-
 ...rpolator_bounce.c => efl_bounce_interpolator.c} | 24 +-
 ...olator_bounce.eo => efl_bounce_interpolator.eo} |  4 +-
 ...ic_bezier.c => efl_cubic_bezier_interpolator.c} | 24 +-
 ..._bezier.eo => efl_cubic_bezier_interpolator.eo} |  4 +-
 src/lib/ecore/efl_decelerate_interpolator.c| 55 ++
 ...ecelerate.eo => efl_decelerate_interpolator.eo} |  4 +-
 ...olator_divisor.c => efl_divisor_interpolator.c} | 24 +-
 ...ator_divisor.eo => efl_divisor_interpolator.eo} |  4 +-
 src/lib/ecore/efl_interpolator_accelerate.c| 55 --
 src/lib/ecore/efl_interpolator_decelerate.c| 55 --
 src/lib/ecore/efl_interpolator_linear.c| 27 ---
 src/lib/ecore/efl_interpolator_linear.eo   |  8 
 src/lib/ecore/efl_interpolator_sinusoidal.c| 55 --
 src/lib/ecore/efl_linear_interpolator.c| 27 +++
 src/lib/ecore/efl_linear_interpolator.eo   |  8 
 src/lib/ecore/efl_sinusoidal_interpolator.c| 55 ++
 ...inusoidal.eo => efl_sinusoidal_interpolator.eo} |  4 +-
 ...rpolator_spring.c => efl_spring_interpolator.c} | 24 +-
 ...olator_spring.eo => efl_spring_interpolator.eo} |  4 +-
 src/lib/ecore/meson.build  | 32 ++---
 26 files changed, 323 insertions(+), 323 deletions(-)

diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am
index cb33da1688..661ccbf721 100644
--- a/src/Makefile_Ecore.am
+++ b/src/Makefile_Ecore.am
@@ -33,14 +33,14 @@ ecore_eolian_files_public = \
lib/ecore/efl_io_file.eo \
 lib/ecore/efl_io_copier.eo \
 lib/ecore/efl_io_buffered_stream.eo \
-   lib/ecore/efl_interpolator_linear.eo \
-   lib/ecore/efl_interpolator_accelerate.eo \
-   lib/ecore/efl_interpolator_decelerate.eo \
-   lib/ecore/efl_interpolator_sinusoidal.eo \
-   lib/ecore/efl_interpolator_divisor.eo \
-   lib/ecore/efl_interpolator_bounce.eo \
-   lib/ecore/efl_interpolator_spring.eo \
-   lib/ecore/efl_interpolator_cubic_bezier.eo \
+   lib/ecore/efl_linear_interpolator.eo \
+   lib/ecore/efl_accelerate_interpolator.eo \
+   lib/ecore/efl_decelerate_interpolator.eo \
+   lib/ecore/efl_sinusoidal_interpolator.eo \
+   lib/ecore/efl_divisor_interpolator.eo \
+   lib/ecore/efl_bounce_interpolator.eo \
+   lib/ecore/efl_spring_interpolator.eo \
+   lib/ecore/efl_cubic_bezier_interpolator.eo \
lib/ecore/efl_model_item.eo \
lib/ecore/efl_model_container.eo \
lib/ecore/efl_model_container_item.eo \
@@ -126,14 +126,14 @@ lib/ecore/efl_model_composite_boolean.c \
 lib/ecore/efl_model_composite_selection.c \
 lib/ecore/efl_model_accessor_view.c \
 lib/ecore/efl_model_accessor_view_private.h \
-lib/ecore/efl_interpolator_linear.c \
-lib/ecore/efl_interpolator_accelerate.c \
-lib/ecore/efl_interpolator_decelerate.c \
-lib/ecore/efl_interpolator_sinusoidal.c \
-lib/ecore/efl_interpolator_divisor.c \
-lib/ecore/efl_interpolator_bounce.c \
-lib/ecore/efl_interpolator_spring.c \
-lib/ecore/efl_interpolator_cubic_bezier.c \
+lib/ecore/efl_linear_interpolator.c \
+lib/ecore/efl_accelerate_interpolator.c \
+lib/ecore/efl_decelerate_interpolator.c \
+lib/ecore/efl_sinusoidal_interpolator.c \
+lib/ecore/efl_divisor_interpolator.c \
+lib/ecore/efl_bounce_interpolator.c \
+lib/ecore/efl_spring_interpolator.c \
+lib/ecore/efl_cubic_bezier_interpolator.c \
 lib/ecore/efl_task.c \
 lib/ecore/efl_exe.c \
 lib/ecore/efl_thread.c \
diff --git a/src/bin/elementary/test_efl_anim_interpolator.c 
b/src/bin/elementary/test_efl_anim_interpolator.c
index 66e9004fb7..2eb30f69cf 100644
--- a/src/bin/elementary/test_efl_anim_interpolator.c
+++ b/src/bin/elementary/test_efl_anim_interpolator.c
@@ -28,37 +28,37 @@ _interpolator_create(int index, Evas_Object *win)
 
if (index == 0)
  {
-interp = efl_add(EFL_INTERPOLATOR_LINEAR_CLASS, win);
+interp = efl_add(EFL_LINEAR_INTERPOLATOR_CLASS, win);
  }
else if (index == 1)

[EGIT] [core/efl] master 01/02: efl_interpolator: change Efl.Interpolator class to interface

2018-11-23 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6cc7c1b83043ee0fed40a6bd130b56a8516ecf60

commit 6cc7c1b83043ee0fed40a6bd130b56a8516ecf60
Author: Jaehyun Cho 
Date:   Fri Nov 23 19:30:36 2018 +0900

efl_interpolator: change Efl.Interpolator class to interface

Since Efl.Interpolator's subclasses are used as interpolator class,
Efl.Interpolator class is changed to be an interface.

This change allows Efl.Canvas.Animation to have Efl.Interpolator as its
property in efl_canvas_animation.eo.
---
 src/Makefile_Ecore.am  |  2 --
 src/Makefile_Efl.am|  1 +
 src/lib/ecore/CMakeLists.txt   |  1 -
 src/lib/ecore/Ecore_Eo.h   |  1 -
 src/lib/ecore/efl_interpolator.c   | 24 --
 src/lib/ecore/efl_interpolator_accelerate.eo   |  2 +-
 src/lib/ecore/efl_interpolator_bounce.eo   |  2 +-
 src/lib/ecore/efl_interpolator_cubic_bezier.eo |  2 +-
 src/lib/ecore/efl_interpolator_decelerate.eo   |  2 +-
 src/lib/ecore/efl_interpolator_divisor.eo  |  2 +-
 src/lib/ecore/efl_interpolator_linear.eo   |  2 +-
 src/lib/ecore/efl_interpolator_sinusoidal.eo   |  2 +-
 src/lib/ecore/efl_interpolator_spring.eo   |  2 +-
 src/lib/ecore/meson.build  |  2 --
 src/lib/efl/CMakeLists.txt |  1 +
 src/lib/efl/Efl.h  |  1 +
 src/lib/efl/interfaces/efl_interfaces_main.c   |  1 +
 .../{ecore => efl/interfaces}/efl_interpolator.eo  |  5 ++---
 src/lib/efl/interfaces/meson.build |  1 +
 src/lib/evas/canvas/efl_canvas_animation.eo|  2 +-
 20 files changed, 16 insertions(+), 42 deletions(-)

diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am
index b71652738e..cb33da1688 100644
--- a/src/Makefile_Ecore.am
+++ b/src/Makefile_Ecore.am
@@ -33,7 +33,6 @@ ecore_eolian_files_public = \
lib/ecore/efl_io_file.eo \
 lib/ecore/efl_io_copier.eo \
 lib/ecore/efl_io_buffered_stream.eo \
-   lib/ecore/efl_interpolator.eo \
lib/ecore/efl_interpolator_linear.eo \
lib/ecore/efl_interpolator_accelerate.eo \
lib/ecore/efl_interpolator_decelerate.eo \
@@ -127,7 +126,6 @@ lib/ecore/efl_model_composite_boolean.c \
 lib/ecore/efl_model_composite_selection.c \
 lib/ecore/efl_model_accessor_view.c \
 lib/ecore/efl_model_accessor_view_private.h \
-lib/ecore/efl_interpolator.c \
 lib/ecore/efl_interpolator_linear.c \
 lib/ecore/efl_interpolator_accelerate.c \
 lib/ecore/efl_interpolator_decelerate.c \
diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index 551e907796..8234cadddf 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -77,6 +77,7 @@ efl_eolian_files = \
   lib/efl/interfaces/efl_gfx_color_class.eo \
   lib/efl/interfaces/efl_gfx_text_class.eo \
   lib/efl/interfaces/efl_gfx_size_class.eo \
+  lib/efl/interfaces/efl_interpolator.eo \
   $(efl_eolian_legacy_files) \
   $(NULL)
 
diff --git a/src/lib/ecore/CMakeLists.txt b/src/lib/ecore/CMakeLists.txt
index 01a05a8aa8..e4735420a0 100644
--- a/src/lib/ecore/CMakeLists.txt
+++ b/src/lib/ecore/CMakeLists.txt
@@ -38,7 +38,6 @@ set(PUBLIC_EO_FILES
   efl_loop_timer.eo
   efl_loop_user.eo
   efl_promise.eo
-  efl_interpolator.eo
   efl_interpolator_linear.eo
   efl_interpolator_accelerate.eo
   efl_interpolator_decelerate.eo
diff --git a/src/lib/ecore/Ecore_Eo.h b/src/lib/ecore/Ecore_Eo.h
index 26a5834b6f..cb01dec865 100644
--- a/src/lib/ecore/Ecore_Eo.h
+++ b/src/lib/ecore/Ecore_Eo.h
@@ -78,7 +78,6 @@ EAPI Eina_Promise *efl_loop_promise_new(const Eo *obj, 
Eina_Promise_Cancel_Cb ca
 #include "efl_loop_fd.eo.h"
 #include "efl_loop_handler.eo.h"
 
-#include "efl_interpolator.eo.h"
 #include "efl_interpolator_linear.eo.h"
 #include "efl_interpolator_accelerate.eo.h"
 #include "efl_interpolator_decelerate.eo.h"
diff --git a/src/lib/ecore/efl_interpolator.c b/src/lib/ecore/efl_interpolator.c
deleted file mode 100644
index 573d5c5cf9..00
--- a/src/lib/ecore/efl_interpolator.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include 
-#endif
-
-#include "Ecore.h"
-#include "ecore_private.h"
-
-#define MY_CLASS EFL_INTERPOLATOR_CLASS
-
-typedef struct _Efl_Interpolator_Data Efl_Interpolator_Data;
-
-struct _Efl_Interpolator_Data
-{
-};
-
-EOLIAN static double
-_efl_interpolator_interpolate(Eo *eo_obj EINA_UNUSED,
-  Efl_Interpolator_Data *pd EINA_UNUSED,
-  double progress)
-{
-   return progress;
-}
-
-#include "efl_interpolator.eo.c"
diff --git a/src/lib/ecore/efl_interpolator_accelerate.eo 
b/src/lib/ecore/efl_interpolator_accelerate.eo
index dc087a5b67..3f2ef94b35 100644
--- a/src/lib/ecore/efl_interpo

[EGIT] [core/efl] master 01/01: efl_ui_theme: Introduce Efl.Ui.Theme class

2018-11-19 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4f9c8d524c77fdd9eed30dc9ce211e0037efb9d4

commit 4f9c8d524c77fdd9eed30dc9ce211e0037efb9d4
Author: Jaehyun Cho 
Date:   Tue Nov 20 13:56:37 2018 +0900

efl_ui_theme: Introduce Efl.Ui.Theme class

Summary:
Efl.Ui.Theme class is required to support language bindings.
Efl.Ui.Theme works based on current elm_theme features.

This patch fixes T7357.

Reviewers: segfaultxavi, cedric, lauromoura, woohyun, zmike, SanghyeonLee

Reviewed By: segfaultxavi, SanghyeonLee

Subscribers: SanghyeonLee, herdsman, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7357

Differential Revision: https://phab.enlightenment.org/D7244
---
 src/Makefile_Elementary.am|   1 +
 src/examples/elementary.mk|  11 +-
 src/examples/elementary/efl_ui_theme_example.edc  | 190 ++
 src/examples/elementary/efl_ui_theme_example_01.c |  84 +++
 src/examples/elementary/efl_ui_theme_example_02.c |  84 +++
 src/lib/elementary/Efl_Ui.h   |   1 +
 src/lib/elementary/Elementary.h   |   1 +
 src/lib/elementary/efl_ui.eot |   4 +-
 src/lib/elementary/efl_ui_button.c|   6 +-
 src/lib/elementary/efl_ui_calendar.c  |   6 +-
 src/lib/elementary/efl_ui_check.c |  14 +-
 src/lib/elementary/efl_ui_clock.c |   6 +-
 src/lib/elementary/efl_ui_flip.c  |   6 +-
 src/lib/elementary/efl_ui_image.c |   6 +-
 src/lib/elementary/efl_ui_image_zoomable.c|   6 +-
 src/lib/elementary/efl_ui_layout.c|  32 +--
 src/lib/elementary/efl_ui_layout.eo   |   4 +-
 src/lib/elementary/efl_ui_list.c  |  10 +-
 src/lib/elementary/efl_ui_list_default_item.c |   4 +-
 src/lib/elementary/efl_ui_list_empty_item.c   |   4 +-
 src/lib/elementary/efl_ui_nstate.c|   6 +-
 src/lib/elementary/efl_ui_panes.c |   6 +-
 src/lib/elementary/efl_ui_progressbar.c   |  14 +-
 src/lib/elementary/efl_ui_radio.c |  14 +-
 src/lib/elementary/efl_ui_scroller.c  |   6 +-
 src/lib/elementary/efl_ui_slider.c|   8 +-
 src/lib/elementary/efl_ui_spin_button.c   |   8 +-
 src/lib/elementary/efl_ui_tab_bar.c   |   4 +-
 src/lib/elementary/efl_ui_table.c |   6 +-
 src/lib/elementary/efl_ui_text.c  |   6 +-
 src/lib/elementary/efl_ui_textpath.c  |   6 +-
 src/lib/elementary/efl_ui_theme.eo|  71 ++
 src/lib/elementary/efl_ui_widget.c|  30 +--
 src/lib/elementary/efl_ui_widget.eo   |   6 +-
 src/lib/elementary/efl_ui_win.c   |  18 +-
 src/lib/elementary/elc_combobox.c |   8 +-
 src/lib/elementary/elc_ctxpopup.c |   6 +-
 src/lib/elementary/elc_fileselector.c |   6 +-
 src/lib/elementary/elc_fileselector_button.c  |   8 +-
 src/lib/elementary/elc_fileselector_entry.c   |   8 +-
 src/lib/elementary/elc_hoversel.c |   8 +-
 src/lib/elementary/elc_multibuttonentry.c |   6 +-
 src/lib/elementary/elc_naviframe.c|   4 +-
 src/lib/elementary/elc_player.c   |   6 +-
 src/lib/elementary/elc_popup.c|   4 +-
 src/lib/elementary/elm_actionslider.c |   8 +-
 src/lib/elementary/elm_box.c  |   8 +-
 src/lib/elementary/elm_calendar.c |   6 +-
 src/lib/elementary/elm_clock.c|   6 +-
 src/lib/elementary/elm_code_widget.c  |   6 +-
 src/lib/elementary/elm_colorselector.c|   8 +-
 src/lib/elementary/elm_conform.c  |   6 +-
 src/lib/elementary/elm_dayselector.c  |   6 +-
 src/lib/elementary/elm_diskselector.c |   6 +-
 src/lib/elementary/elm_entry.c|  10 +-
 src/lib/elementary/elm_flipselector.c |   8 +-
 src/lib/elementary/elm_gengrid.c  |  10 +-
 src/lib/elementary/elm_genlist.c  |  10 +-
 src/lib/elementary/elm_grid.c |   6 +-
 src/lib/elementary/elm_hover.c|   6 +-
 src/lib/elementary/elm_icon.c |   6 +-
 src/lib/elementary/elm_index.c|   6 +-
 src/lib/elementary/elm_label.c|   8 +-
 src/lib/elementary/elm_list.c |   6 +-
 src/lib/elementary/elm_main.c |   2 +
 src/lib/elementary/elm_map.c  |   8 +-
 src/lib/elementary/elm_mapbuf.c   |   6 +-
 src/lib/elementary/elm_menu.c |   6 +-
 src/lib/elementary/elm_notify.c   |   8 +-
 src/lib/elementary/elm_panel.c

[EGIT] [core/efl] master 01/01: efl_ui_bg: remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget class

2018-11-19 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0611620301b3ada285bc48fc801cac2c5ba3e0a7

commit 0611620301b3ada285bc48fc801cac2c5ba3e0a7
Author: Jaehyun Cho 
Date:   Tue Nov 20 10:24:05 2018 +0900

efl_ui_bg: remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget class

Summary:
Efl.Ui.Bg interface does not have any new property or method.
Moreover, Efl.Ui.Bg interface is not used by widgets except
Efl.Ui.Bg_Widget and Efl.Ui.Widget_Part_Bg.
Consequently, Efl.Ui.Bg interface can be replaced by other interfaces.

Due to Efl.Ui.Bg interface, the bg widget class name becomes
Efl.UI.Bg_Widget which is not synchronized with other widget names.

Therefore, to keep consistency with other widgets, it would be better to
remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget to Efl.Ui.Bg.

Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7304
---
 src/Makefile_Elementary.am |   6 +-
 src/bin/elementary/test_bg.c   |   4 +-
 src/bin/elementary/test_part_bg.c  |   2 +-
 src/examples/elementary/bg_cxx_example_02.cc   |   2 +-
 src/lib/elementary/Efl_Ui.h|   1 -
 src/lib/elementary/Elementary.h|   1 -
 src/lib/elementary/efl_ui_bg.c | 287 
 src/lib/elementary/efl_ui_bg.eo|  16 +-
 ..._ui_bg_widget_legacy.eo => efl_ui_bg_legacy.eo} |   2 +-
 ..._ui_bg_widget_private.h => efl_ui_bg_private.h} |  20 +-
 src/lib/elementary/efl_ui_bg_widget.c  | 295 -
 src/lib/elementary/efl_ui_bg_widget.eo |  19 --
 src/lib/elementary/efl_ui_widget.c |   4 +-
 src/lib/elementary/efl_ui_widget_part_bg.eo|   2 +-
 src/lib/elementary/efl_ui_win.c|   4 +-
 src/lib/elementary/elm_bg_legacy.h |   2 +-
 src/lib/elementary/meson.build |   6 +-
 17 files changed, 325 insertions(+), 348 deletions(-)

diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index b7844562ac..2f4f9c0164 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -4,7 +4,6 @@
 elm_public_eolian_files = \
lib/elementary/efl_ui_widget.eo \
lib/elementary/efl_ui_bg.eo \
-   lib/elementary/efl_ui_bg_widget.eo \
lib/elementary/efl_ui_button.eo \
lib/elementary/efl_ui_calendar.eo \
lib/elementary/efl_ui_calendar_item.eo \
@@ -174,7 +173,7 @@ elm_legacy_eolian_files = \
lib/elementary/efl_ui_button_legacy.eo \
lib/elementary/efl_ui_check_legacy.eo \
lib/elementary/efl_ui_radio_legacy.eo \
-   lib/elementary/efl_ui_bg_widget_legacy.eo \
+   lib/elementary/efl_ui_bg_legacy.eo \
lib/elementary/efl_ui_video_legacy.eo \
lib/elementary/efl_ui_frame_legacy.eo \
lib/elementary/efl_ui_panes_legacy.eo \
@@ -338,7 +337,7 @@ includesunstable_HEADERS = \
lib/elementary/elm_widget_box.h \
lib/elementary/elm_widget_bubble.h \
lib/elementary/efl_ui_button_private.h \
-   lib/elementary/efl_ui_bg_widget_private.h \
+   lib/elementary/efl_ui_bg_private.h \
lib/elementary/elm_widget_calendar.h \
lib/elementary/efl_ui_calendar_private.h \
lib/elementary/efl_ui_check_private.h \
@@ -686,7 +685,6 @@ lib_elementary_libelementary_la_SOURCES = \
lib/elementary/elm_atspi_bridge.c \
lib/elementary/efl_ui_legacy.c \
lib/elementary/efl_ui_bg.c \
-   lib/elementary/efl_ui_bg_widget.c \
lib/elementary/elm_box.c \
lib/elementary/elm_bubble.c \
lib/elementary/efl_ui_button.c \
diff --git a/src/bin/elementary/test_bg.c b/src/bin/elementary/test_bg.c
index 59d18821d0..f71dd7bb86 100644
--- a/src/bin/elementary/test_bg.c
+++ b/src/bin/elementary/test_bg.c
@@ -408,7 +408,7 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *e
  efl_ui_win_autodel_set(efl_added, EINA_TRUE),
  efl_ui_win_alpha_set(efl_added, EINA_FALSE));
 
-   efl_add(EFL_UI_BG_WIDGET_CLASS, win,
+   efl_add(EFL_UI_BG_CLASS, win,
efl_gfx_size_hint_weight_set(efl_added, EFL_GFX_SIZE_HINT_EXPAND, 
EFL_GFX_SIZE_HINT_EXPAND),
efl_content_set(win, efl_added));
 
@@ -419,7 +419,7 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *e
 
snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", 
elm_app_data_dir_get());
 
-   o_bg = efl_add(EFL_UI_BG_WIDGET_CLASS, box,
+   o_bg = efl_add(EFL_UI_BG_CLASS, box,
   efl_file_set(efl_added, buf, NULL),
   efl_gfx_size_hint_weight_set(efl_added, 
EFL_GFX_

[EGIT] [core/efl] master 01/01: elementary: rename Efl.Ui.Popup classes

2018-11-16 Thread Jaehyun Cho
xartigas pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d4526f44b8c20010061c42a87ac0496796311afb

commit d4526f44b8c20010061c42a87ac0496796311afb
Author: Jaehyun Cho 
Date:   Fri Nov 16 11:11:50 2018 +0100

elementary: rename Efl.Ui.Popup classes

Summary:
Efl.Ui.Popup classes are renamed intuitively from backward order to
forward order.

Efl.Ui.Popup_Alert-> Efl.Ui.Alert_Popup
Efl.Ui.Popup_Alert_Scroll -> Efl.Ui.Scroll_Alert_Popup
Efl.Ui.Popup_Alert_Text   -> Efl.Ui.Text_Alert_Popup

Reviewers: segfaultxavi, bu5hm4n, cedric

Reviewed By: segfaultxavi

Subscribers: herb, SanghyeonLee, woohyun, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7292
---
 data/elementary/themes/edc/efl/popup.edc   |  46 ++--
 src/Makefile_Elementary.am |  30 +--
 src/bin/elementary/test.c  |  16 +-
 src/bin/elementary/test_ui_popup.c | 278 ++---
 src/examples/elementary/efl_ui_unit_converter.cs   |   6 +-
 src/lib/elementary/Elementary.h|   8 +-
 .../{efl_ui_popup_alert.c => efl_ui_alert_popup.c} |  86 +++
 ...efl_ui_popup_alert.eo => efl_ui_alert_popup.eo} |  14 +-
 src/lib/elementary/efl_ui_alert_popup_part.eo  |   8 +
 src/lib/elementary/efl_ui_alert_popup_private.h|  22 ++
 ...efl_ui_popup_anchor.c => efl_ui_anchor_popup.c} |  42 ++--
 ...l_ui_popup_anchor.eo => efl_ui_anchor_popup.eo} |   4 +-
 src/lib/elementary/efl_ui_anchor_popup_private.h   |  17 ++
 src/lib/elementary/efl_ui_popup_alert_part.eo  |   8 -
 src/lib/elementary/efl_ui_popup_alert_private.h|  22 --
 .../elementary/efl_ui_popup_alert_scroll_private.h |  15 --
 .../elementary/efl_ui_popup_alert_text_private.h   |  15 --
 src/lib/elementary/efl_ui_popup_anchor_private.h   |  17 --
 ..._alert_scroll.c => efl_ui_scroll_alert_popup.c} |  54 ++--
 ...lert_scroll.eo => efl_ui_scroll_alert_popup.eo} |   4 +-
 ...l_part.eo => efl_ui_scroll_alert_popup_part.eo} |   4 +-
 .../elementary/efl_ui_scroll_alert_popup_private.h |  15 ++
 ...opup_alert_text.c => efl_ui_text_alert_popup.c} |  58 ++---
 ...up_alert_text.eo => efl_ui_text_alert_popup.eo} |   4 +-
 ...ext_part.eo => efl_ui_text_alert_popup_part.eo} |   4 +-
 .../elementary/efl_ui_text_alert_popup_private.h   |  15 ++
 src/lib/elementary/meson.build |  30 +--
 27 files changed, 421 insertions(+), 421 deletions(-)

diff --git a/data/elementary/themes/edc/efl/popup.edc 
b/data/elementary/themes/edc/efl/popup.edc
index eb656c76e4..a10f0d59d0 100644
--- a/data/elementary/themes/edc/efl/popup.edc
+++ b/data/elementary/themes/edc/efl/popup.edc
@@ -23,9 +23,9 @@ group { "efl/popup";
}
 }
 
-group { "efl/popup_alert";
-   alias: "efl/popup_alert_scroll";
-   alias: "efl/popup_alert_text";
+group { "efl/alert_popup";
+   alias: "efl/scroll_alert_popup";
+   alias: "efl/text_alert_popup";
images.image: "rounded_square.png" COMP;
parts {
   alias: "title" "efl.text.title";
@@ -111,15 +111,15 @@ group { "efl/popup_alert";
}
 }
 
-group { "efl/popup_anchor";
+group { "efl/anchor_popup";
inherit: "efl/popup";
 }
 
 group { "efl/popup/backwall";
-   alias: "efl/popup_alert/backwall";
-   alias: "efl/popup_alert_scroll/backwall";
-   alias: "efl/popup_alert_text/backwall";
-   alias: "efl/popup_anchor/backwall";
+   alias: "efl/alert_popup/backwall";
+   alias: "efl/scroll_alert_popup/backwall";
+   alias: "efl/text_alert_popup/backwall";
+   alias: "efl/anchor_popup/backwall";
parts {
   rect { "base";
  desc { "default";
@@ -168,18 +168,18 @@ group { "efl/popup/backwall";
}
 }
 
-group { "efl/popup_alert/button_layout1";
-   alias: "efl/popup_alert_scroll/button_layout1";
-   alias: "efl/popup_alert_text/button_layout1";
+group { "efl/alert_popup/button_layout1";
+   alias: "efl/scroll_alert_popup/button_layout1";
+   alias: "efl/text_alert_popup/button_layout1";
parts {
   swallow { "efl.button1";
   }
}
 }
 
-group { "efl/popup_alert/button_layout2";
-   alias: "efl/popup_alert_scroll/button_layout2";
-   alias: "efl/popup_alert_text/button_layout2";
+group { "efl/alert_popup/button_layout2";
+   alias: "efl/scroll_alert_popup/button_layout2";
+   alias: "efl/text_alert_popup/button_layout2";
parts {
   spacer { "div1";
  desc { "default";
@@ -203,9 +203,9 @@ group { "efl/p

[EGIT] [core/efl] master 02/02: elm_theme: Fix to set default style group name correctly

2018-11-09 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f66414beec74422d472dce85e97e8090cd129975

commit f66414beec74422d472dce85e97e8090cd129975
Author: Jaehyun Cho 
Date:   Fri Nov 9 14:19:30 2018 +0900

elm_theme: Fix to set default style group name correctly

"default" should not be appended to the group name in new EFL interface
theme. e.g. "efl/button"

Therefore, if "default" is given as a style name, then the style name
should be converted to NULL for the group name in new EFL interface
theme.
---
 src/lib/elementary/elm_theme.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/elementary/elm_theme.c b/src/lib/elementary/elm_theme.c
index a5b1ff4302..2bcedc9ddf 100644
--- a/src/lib/elementary/elm_theme.c
+++ b/src/lib/elementary/elm_theme.c
@@ -329,6 +329,9 @@ _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char 
*clas, const char *grou
 
if ((!clas) || !o) return EFL_UI_THEME_APPLY_FAILED;
if (!th) th = &(theme_default);
+
+   if (eina_streq(style, "default")) style = NULL;
+
if (is_legacy)
  snprintf(buf2, sizeof(buf2), "elm/%s/%s/%s", clas, (group) ? group : 
"base", (style) ? style : "default");
else
@@ -356,10 +359,9 @@ _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char 
*clas, const char *grou
if (!style)
  return EFL_UI_THEME_APPLY_FAILED;
 
-   if (eina_streq(style, "default")) return EFL_UI_THEME_APPLY_FAILED;
// Use the elementary default style.
return (EFL_UI_THEME_APPLY_DEFAULT &
-   _elm_theme_set(th, o, clas, group, "default", is_legacy));
+   _elm_theme_set(th, o, clas, group, NULL, is_legacy));
 }
 
 Eina_Bool

-- 




[EGIT] [core/efl] master 01/02: efl_ui_win: Fix to check efl_ui_bg_widget theme version for non-legacy win

2018-11-09 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a2c8330d8f27f9e3b7736782ae1ea4c39904f55f

commit a2c8330d8f27f9e3b7736782ae1ea4c39904f55f
Author: Jaehyun Cho 
Date:   Fri Nov 9 13:59:05 2018 +0900

efl_ui_win: Fix to check efl_ui_bg_widget theme version for non-legacy win

Check efl_ui_bg_widget theme version instead of elm_bg for non-legacy
win if win must swallow bg manually or not.
---
 src/lib/elementary/efl_ui_win.c | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 20a70cd00a..529b41405e 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -7361,7 +7361,15 @@ _elm_win_bg_must_swallow(Efl_Ui_Win_Data *sd)
 sd->legacy.bg_must_swallow = 1;
 sd->legacy.bg_must_swallow_init = 1;
 
-bg = elm_bg_add(sd->obj);
+if (sd->legacy.ctor)
+  bg = elm_bg_add(sd->obj);
+else
+  {
+ // Note: This code path is probably not necessary (custom legacy
+ // theme but efl_add'ed window -- all efl_add'ed widgets would
+ // use default theme)
+ bg = efl_add(EFL_UI_BG_WIDGET_CLASS, sd->obj);
+  }
 wd = efl_data_scope_get(bg, EFL_UI_WIDGET_CLASS);
 if (wd)
   {

-- 




[EGIT] [core/efl] master 01/01: elc_naviframe: Fix to show prev item when top item is deleted

2018-10-26 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3e7321565d585bac278f37c60cbb19d6a9a5cace

commit 3e7321565d585bac278f37c60cbb19d6a9a5cace
Author: Jaehyun Cho 
Date:   Fri Oct 26 21:06:34 2018 +0900

elc_naviframe: Fix to show prev item when top item is deleted

When top item is deleted, previous item should be shown.
---
 src/lib/elementary/elc_naviframe.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elc_naviframe.c 
b/src/lib/elementary/elc_naviframe.c
index f8fbf376f4..65ed1c2710 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -1192,6 +1192,7 @@ _elm_naviframe_item_efl_object_invalidate(Eo *eo_item, 
Elm_Naviframe_Item_Data *
Elm_Naviframe_Item_Data *prev_it = NULL;
Elm_Naviframe_Content_Item_Pair *content_pair;
Eina_Inlist *l;
+   Eina_Bool top;
 
ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd);
if (it->title_prev_btn)
@@ -1227,9 +1228,10 @@ _elm_naviframe_item_efl_object_invalidate(Eo *eo_item, 
Elm_Naviframe_Item_Data *
if (evas_object_data_get(VIEW(it), "out_of_list"))
  goto end;
 
+   top = (eo_item == elm_naviframe_top_item_get(WIDGET(it)));
sd->stack = eina_inlist_remove(sd->stack, EINA_INLIST_GET(it));
 
-   if ((elm_naviframe_top_item_get(WIDGET(it)) == eo_item) && 
!sd->on_deletion) /* must raise another one */
+   if (top && !sd->on_deletion) /* must raise another one */
  {
 if (sd->stack && sd->stack->last)
   prev_it = EINA_INLIST_CONTAINER_GET(sd->stack->last,

-- 




[EGIT] [core/efl] master 01/01: elm_theme: fix return value when default style fallback is done

2018-10-04 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d03d29f7a298f7468599038f151166738cbf054a

commit d03d29f7a298f7468599038f151166738cbf054a
Author: Jaehyun Cho 
Date:   Thu Oct 4 16:50:21 2018 +0900

elm_theme: fix return value when default style fallback is done

To keep backward compatibility, EFL_UI_THEME_APPLY_DEFAULT is returned
instead of EFL_UI_THEME_APPLY_SUCCESS if style is not found in theme and
default style fallback is done instead.

This patch fixes 7353fc1cb85e08eb6e884ed8bbf9a009226069b6

@fix
---
 src/lib/elementary/elm_theme.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_theme.c b/src/lib/elementary/elm_theme.c
index 305f6fe102..a5b1ff4302 100644
--- a/src/lib/elementary/elm_theme.c
+++ b/src/lib/elementary/elm_theme.c
@@ -358,7 +358,8 @@ _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char 
*clas, const char *grou
 
if (eina_streq(style, "default")) return EFL_UI_THEME_APPLY_FAILED;
// Use the elementary default style.
-   return _elm_theme_set(th, o, clas, group, "default", is_legacy);
+   return (EFL_UI_THEME_APPLY_DEFAULT &
+   _elm_theme_set(th, o, clas, group, "default", is_legacy));
 }
 
 Eina_Bool

-- 




  1   2   3   >