summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJinYong Park <j4939.park@samsung.com>2017-08-31 15:21:04 +0900
committerJaehyun Cho <jae_hyun.cho@samsung.com>2017-08-31 15:21:04 +0900
commit50ad480be6033744b43728086a3e0adf5dcdab47 (patch)
tree27789a02e3ab7a24c7d31eb34fed56f5e6f4bc24
parent0842b81824cb2eeca148a5b7a7a7c7187c5bf53f (diff)
downloadefl-50ad480be6033744b43728086a3e0adf5dcdab47.tar.gz
using efl_data_scope_get instead of using 'self' object
Summary: Using efl_data_scope_get to get Efl_Ui_Popup_Data structure, there is no reason using "self" object in Efl_Ui_Popup_Data Reviewers: Jaehyun_Cho, herb, thiepha, woohyun, jpeg, cedric Reviewed By: cedric Differential Revision: https://phab.enlightenment.org/D5128
-rw-r--r--src/lib/elementary/efl_ui_popup.c34
-rw-r--r--src/lib/elementary/efl_ui_popup_private.h1
2 files changed, 16 insertions, 19 deletions
diff --git a/src/lib/elementary/efl_ui_popup.c b/src/lib/elementary/efl_ui_popup.c
index c50f1af338..f0ca141c8e 100644
--- a/src/lib/elementary/efl_ui_popup.c
+++ b/src/lib/elementary/efl_ui_popup.c
@@ -57,8 +57,10 @@ _efl_ui_popup_efl_gfx_size_set(Eo *obj, Efl_Ui_Popup_Data *pd, int w, int h)
}
static void
-_calc_align(Efl_Ui_Popup_Data *pd)
+_calc_align(Evas_Object *obj)
{
+ Efl_Ui_Popup_Data *pd = efl_data_scope_get(obj, MY_CLASS);
+
Evas_Coord x, y, w, h;
evas_object_geometry_get(pd->win_parent, &x, &y, &w, &h);
@@ -69,39 +71,37 @@ _calc_align(Efl_Ui_Popup_Data *pd)
evas_object_resize(pd->event_bg, w, h);
Evas_Coord pw, ph;
- evas_object_geometry_get(pd->self, NULL, NULL, &pw, &ph);
+ evas_object_geometry_get(obj, NULL, NULL, &pw, &ph);
Efl_Ui_Popup_Align align;
- align = efl_ui_popup_align_get(pd->self);
+ align = efl_ui_popup_align_get(obj);
switch (align)
{
case EFL_UI_POPUP_ALIGN_CENTER:
- evas_object_move(pd->self, x + ((w - pw ) / 2), y + ((h - ph) / 2));
+ evas_object_move(obj, x + ((w - pw ) / 2), y + ((h - ph) / 2));
break;
case EFL_UI_POPUP_ALIGN_LEFT:
- evas_object_move(pd->self, x, y + ((h - ph) / 2));
+ evas_object_move(obj, x, y + ((h - ph) / 2));
break;
case EFL_UI_POPUP_ALIGN_RIGHT:
- evas_object_move(pd->self, x + (w - pw), ((h - ph) / 2));
+ evas_object_move(obj, x + (w - pw), ((h - ph) / 2));
break;
case EFL_UI_POPUP_ALIGN_TOP:
- evas_object_move(pd->self, x + ((w - pw) / 2), y);
+ evas_object_move(obj, x + ((w - pw) / 2), y);
break;
case EFL_UI_POPUP_ALIGN_BOTTOM:
- evas_object_move(pd->self, x + ((w - pw) / 2), y + (h - ph));
+ evas_object_move(obj, x + ((w - pw) / 2), y + (h - ph));
break;
default:
break;
}
}
-
static void
_parent_geom_cb(void *data, const Efl_Event *ev)
{
- Efl_Ui_Popup_Data *pd = data;
- _calc_align(pd);
+ _calc_align(data);
}
EOLIAN static void
@@ -119,8 +119,8 @@ _efl_ui_popup_elm_widget_widget_parent_set(Eo *obj, Efl_Ui_Popup_Data *pd, Evas_
evas_object_move(pd->event_bg, x, y);
evas_object_resize(pd->event_bg, w, h);
- efl_event_callback_add(pd->win_parent, EFL_GFX_EVENT_RESIZE, _parent_geom_cb, pd);
- efl_event_callback_add(pd->win_parent, EFL_GFX_EVENT_MOVE, _parent_geom_cb, pd);
+ efl_event_callback_add(pd->win_parent, EFL_GFX_EVENT_RESIZE, _parent_geom_cb, obj);
+ efl_event_callback_add(pd->win_parent, EFL_GFX_EVENT_MOVE, _parent_geom_cb, obj);
}
EOLIAN static Efl_Canvas_Object *
@@ -140,7 +140,7 @@ EOLIAN static void
_efl_ui_popup_align_set(Eo *obj, Efl_Ui_Popup_Data *pd, Efl_Ui_Popup_Align type)
{
pd->align = type;
- _calc_align(pd);
+ _calc_align(obj);
}
EOLIAN static Efl_Ui_Popup_Align
@@ -157,8 +157,6 @@ _efl_ui_popup_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Popup_Data *pd)
efl_canvas_group_add(efl_super(obj, MY_CLASS));
elm_widget_sub_object_parent_add(obj);
- pd->self = obj;
-
elm_widget_can_focus_set(obj, EINA_TRUE);
elm_layout_theme_set(obj, "popup", "base", "view");
@@ -176,8 +174,8 @@ EOLIAN static void
_efl_ui_popup_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Popup_Data *pd)
{
ELM_SAFE_FREE(pd->event_bg, evas_object_del);
- efl_event_callback_del(pd->win_parent, EFL_GFX_EVENT_RESIZE, _parent_geom_cb, pd);
- efl_event_callback_del(pd->win_parent, EFL_GFX_EVENT_MOVE, _parent_geom_cb, pd);
+ efl_event_callback_del(pd->win_parent, EFL_GFX_EVENT_RESIZE, _parent_geom_cb, obj);
+ efl_event_callback_del(pd->win_parent, EFL_GFX_EVENT_MOVE, _parent_geom_cb, obj);
efl_canvas_group_del(efl_super(obj, MY_CLASS));
}
diff --git a/src/lib/elementary/efl_ui_popup_private.h b/src/lib/elementary/efl_ui_popup_private.h
index 0e0972b38f..515b3d498d 100644
--- a/src/lib/elementary/efl_ui_popup_private.h
+++ b/src/lib/elementary/efl_ui_popup_private.h
@@ -7,7 +7,6 @@
typedef struct _Efl_Ui_Popup_Data Efl_Ui_Popup_Data;
struct _Efl_Ui_Popup_Data
{
- Evas_Object *self;
Evas_Object *win_parent;
Evas_Object *event_bg;
Efl_Ui_Popup_Align align;