jaehyun pushed a commit to branch master.

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

commit a44e8cec395cb482e0f1668f16291198b0e0cd59
Author: Jaehyun Cho <jae_hyun....@samsung.com>
Date:   Tue Oct 24 21:29:15 2017 +0900

    efl_ui_popup: Replace group_add/del with constructor/destructor
---
 src/lib/elementary/efl_ui_popup.c               | 27 ++++++++++++++++---------
 src/lib/elementary/efl_ui_popup.eo              |  2 ++
 src/lib/elementary/efl_ui_popup_alert.c         | 18 ++++++++++-------
 src/lib/elementary/efl_ui_popup_alert.eo        |  2 ++
 src/lib/elementary/efl_ui_popup_alert_scroll.c  | 24 +++++++++++-----------
 src/lib/elementary/efl_ui_popup_alert_scroll.eo |  1 +
 src/lib/elementary/efl_ui_popup_alert_text.c    | 24 +++++++++++-----------
 src/lib/elementary/efl_ui_popup_alert_text.eo   |  1 +
 src/lib/elementary/efl_ui_popup_anchor.c        | 18 ++++++++---------
 src/lib/elementary/efl_ui_popup_anchor.eo       |  1 +
 10 files changed, 67 insertions(+), 51 deletions(-)

diff --git a/src/lib/elementary/efl_ui_popup.c 
b/src/lib/elementary/efl_ui_popup.c
index 6f225da034..7d59be8a7c 100644
--- a/src/lib/elementary/efl_ui_popup.c
+++ b/src/lib/elementary/efl_ui_popup.c
@@ -188,12 +188,14 @@ _efl_ui_popup_timeout_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Popup_Data *pd)
    return pd->timeout;
 }
 
-EOLIAN static void
-_efl_ui_popup_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Popup_Data *pd)
+EOLIAN static Eo *
+_efl_ui_popup_efl_object_constructor(Eo *obj, Efl_Ui_Popup_Data *pd)
 {
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
+
+   obj = efl_constructor(efl_super(obj, MY_CLASS));
+   efl_canvas_object_type_set(obj, MY_CLASS_NAME);
 
-   efl_canvas_group_add(efl_super(obj, MY_CLASS));
    elm_widget_sub_object_parent_add(obj);
 
    elm_widget_can_focus_set(obj, EINA_TRUE);
@@ -204,19 +206,25 @@ _efl_ui_popup_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Popup_Data *pd)
    evas_object_smart_member_add(pd->event_bg, obj);
    evas_object_stack_below(pd->event_bg, wd->resize_obj);
 
-   edje_object_signal_callback_add(pd->event_bg, "elm,action,clicked", "*", 
_bg_clicked_cb, obj);
+   edje_object_signal_callback_add(pd->event_bg, "elm,action,clicked", "*",
+                                   _bg_clicked_cb, obj);
 
    pd->align = EFL_UI_POPUP_ALIGN_CENTER;
+
+   return obj;
 }
 
 EOLIAN static void
-_efl_ui_popup_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Popup_Data *pd)
+_efl_ui_popup_efl_object_destructor(Eo *obj, Efl_Ui_Popup_Data *pd)
 {
    ELM_SAFE_DEL(pd->event_bg);
-   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));
+   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_destructor(efl_super(obj, MY_CLASS));
 }
 
 EOLIAN static void
@@ -277,7 +285,6 @@ _efl_ui_popup_bg_repeat_events_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Popup_Data *pd)
 /* Internal EO APIs and hidden overrides */
 
 #define EFL_UI_POPUP_EXTRA_OPS \
-   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_popup), \
    ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_popup)
 
 #include "efl_ui_popup.eo.c"
diff --git a/src/lib/elementary/efl_ui_popup.eo 
b/src/lib/elementary/efl_ui_popup.eo
index cf70162e84..8f2a23778d 100644
--- a/src/lib/elementary/efl_ui_popup.eo
+++ b/src/lib/elementary/efl_ui_popup.eo
@@ -57,6 +57,8 @@ class Efl.Ui.Popup(Efl.Ui.Layout)
       }
    }
    implements {
+      Efl.Object.constructor;
+      Efl.Object.destructor;
       Efl.Gfx.position { set; }
       Efl.Gfx.visible { set; }
       Elm.Widget.widget_parent { set; }
diff --git a/src/lib/elementary/efl_ui_popup_alert.c 
b/src/lib/elementary/efl_ui_popup_alert.c
index 64d1ff6b92..bfb2c3d4e2 100644
--- a/src/lib/elementary/efl_ui_popup_alert.c
+++ b/src/lib/elementary/efl_ui_popup_alert.c
@@ -212,19 +212,24 @@ _efl_ui_popup_alert_button_set(Eo *obj, 
Efl_Ui_Popup_Alert_Data *pd, Efl_Ui_Popu
    elm_layout_sizing_eval(obj);
 }
 
-EOLIAN static void
-_efl_ui_popup_alert_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Popup_Alert_Data *pd EINA_UNUSED)
+EOLIAN static Eo *
+_efl_ui_popup_alert_efl_object_constructor(Eo *obj,
+                                           Efl_Ui_Popup_Alert_Data *pd 
EINA_UNUSED)
 {
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
+
+   obj = efl_constructor(efl_super(obj, MY_CLASS));
+   efl_canvas_object_type_set(obj, MY_CLASS_NAME);
 
-   efl_canvas_group_add(efl_super(obj, MY_CLASS));
    elm_widget_sub_object_parent_add(obj);
 
    elm_layout_theme_set(efl_super(obj, MY_CLASS), "popup", "base", "alert");
+
+   return obj;
 }
 
 EOLIAN static void
-_efl_ui_popup_alert_efl_canvas_group_group_del(Eo *obj, 
Efl_Ui_Popup_Alert_Data *pd)
+_efl_ui_popup_alert_efl_object_destructor(Eo *obj, Efl_Ui_Popup_Alert_Data *pd)
 {
    if (pd->title_text)
      {
@@ -232,7 +237,7 @@ _efl_ui_popup_alert_efl_canvas_group_group_del(Eo *obj, 
Efl_Ui_Popup_Alert_Data
         pd->title_text = NULL;
      }
 
-   efl_canvas_group_del(efl_super(obj, MY_CLASS));
+   efl_destructor(efl_super(obj, MY_CLASS));
 }
 
 /* Efl.Part begin */
@@ -248,7 +253,6 @@ ELM_PART_OVERRIDE_TEXT_GET(efl_ui_popup_alert, 
EFL_UI_POPUP_ALERT, Efl_Ui_Popup_
 /* Efl.Part end */
 
 #define EFL_UI_POPUP_ALERT_EXTRA_OPS \
-   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_popup_alert), \
    ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_popup_alert)
 
 #include "efl_ui_popup_alert.eo.c"
diff --git a/src/lib/elementary/efl_ui_popup_alert.eo 
b/src/lib/elementary/efl_ui_popup_alert.eo
index 8929e1729d..42c55a47f5 100644
--- a/src/lib/elementary/efl_ui_popup_alert.eo
+++ b/src/lib/elementary/efl_ui_popup_alert.eo
@@ -21,6 +21,8 @@ class Efl.Ui.Popup.Alert(Efl.Ui.Popup)
       }
    }
    implements {
+      Efl.Object.constructor;
+      Efl.Object.destructor;
       Efl.Part.part;
    }
    events {
diff --git a/src/lib/elementary/efl_ui_popup_alert_scroll.c 
b/src/lib/elementary/efl_ui_popup_alert_scroll.c
index 7dc388bd97..ac57b3d6b4 100644
--- a/src/lib/elementary/efl_ui_popup_alert_scroll.c
+++ b/src/lib/elementary/efl_ui_popup_alert_scroll.c
@@ -182,27 +182,28 @@ 
_efl_ui_popup_alert_scroll_efl_gfx_size_hint_hint_max_set(Eo *obj, Efl_Ui_Popup_
    elm_layout_sizing_eval(obj);
 }
 
-EOLIAN static void
-_efl_ui_popup_alert_scroll_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Popup_Alert_Scroll_Data *pd)
+EOLIAN static Eo *
+_efl_ui_popup_alert_scroll_efl_object_constructor(Eo *obj,
+                                                  
Efl_Ui_Popup_Alert_Scroll_Data *pd)
 {
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
+
+   obj = efl_constructor(efl_super(obj, MY_CLASS));
+   efl_canvas_object_type_set(obj, MY_CLASS_NAME);
 
-   efl_canvas_group_add(efl_super(obj, MY_CLASS));
    elm_widget_sub_object_parent_add(obj);
 
    pd->scroller = elm_scroller_add(obj);
    elm_object_style_set(pd->scroller, "popup/no_inset_shadow");
-   elm_scroller_policy_set(pd->scroller, ELM_SCROLLER_POLICY_AUTO, 
ELM_SCROLLER_POLICY_AUTO);
+   elm_scroller_policy_set(pd->scroller, ELM_SCROLLER_POLICY_AUTO,
+                           ELM_SCROLLER_POLICY_AUTO);
 
-   efl_content_set(efl_part(efl_super(obj, MY_CLASS), "elm.swallow.content"), 
pd->scroller);
+   efl_content_set(efl_part(efl_super(obj, MY_CLASS), "elm.swallow.content"),
+                   pd->scroller);
 
    pd->max_scroll = EINA_SIZE2D(-1, -1);
-}
 
-EOLIAN static void
-_efl_ui_popup_alert_scroll_efl_canvas_group_group_del(Eo *obj, 
Efl_Ui_Popup_Alert_Scroll_Data *pd EINA_UNUSED)
-{
-   efl_canvas_group_del(efl_super(obj, MY_CLASS));
+   return obj;
 }
 
 /* Efl.Part begin */
@@ -220,7 +221,6 @@ ELM_PART_OVERRIDE_TEXT_GET(efl_ui_popup_alert_scroll, 
EFL_UI_POPUP_ALERT_SCROLL,
 /* Internal EO APIs and hidden overrides */
 
 #define EFL_UI_POPUP_ALERT_SCROLL_EXTRA_OPS \
-   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_popup_alert_scroll), \
    ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_popup_alert_scroll)
 
 #include "efl_ui_popup_alert_scroll.eo.c"
diff --git a/src/lib/elementary/efl_ui_popup_alert_scroll.eo 
b/src/lib/elementary/efl_ui_popup_alert_scroll.eo
index 69d3bbb9fe..b680f7644c 100644
--- a/src/lib/elementary/efl_ui_popup_alert_scroll.eo
+++ b/src/lib/elementary/efl_ui_popup_alert_scroll.eo
@@ -17,6 +17,7 @@ class Efl.Ui.Popup.Alert.Scroll(Efl.Ui.Popup.Alert)
        }
    }
    implements {
+      Efl.Object.constructor;
       Efl.Gfx.Size.Hint.hint_max { set; }
       Efl.Part.part;
    }
diff --git a/src/lib/elementary/efl_ui_popup_alert_text.c 
b/src/lib/elementary/efl_ui_popup_alert_text.c
index e3acce5fbd..9bf90f121d 100644
--- a/src/lib/elementary/efl_ui_popup_alert_text.c
+++ b/src/lib/elementary/efl_ui_popup_alert_text.c
@@ -131,27 +131,28 @@ 
_efl_ui_popup_alert_text_efl_gfx_size_hint_hint_max_set(Eo *obj, Efl_Ui_Popup_Al
    elm_layout_sizing_eval(obj);
 }
 
-EOLIAN static void
-_efl_ui_popup_alert_text_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Popup_Alert_Text_Data *pd)
+EOLIAN static Eo *
+_efl_ui_popup_alert_text_efl_object_constructor(Eo *obj,
+                                                Efl_Ui_Popup_Alert_Text_Data 
*pd)
 {
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
+
+   obj = efl_constructor(efl_super(obj, MY_CLASS));
+   efl_canvas_object_type_set(obj, MY_CLASS_NAME);
 
-   efl_canvas_group_add(efl_super(obj, MY_CLASS));
    elm_widget_sub_object_parent_add(obj);
 
    pd->scroller = elm_scroller_add(obj);
    elm_object_style_set(pd->scroller, "popup/no_inset_shadow");
-   elm_scroller_policy_set(pd->scroller, ELM_SCROLLER_POLICY_OFF, 
ELM_SCROLLER_POLICY_AUTO);
+   elm_scroller_policy_set(pd->scroller, ELM_SCROLLER_POLICY_OFF,
+                           ELM_SCROLLER_POLICY_AUTO);
 
-   efl_content_set(efl_part(efl_super(obj, MY_CLASS), "elm.swallow.content"), 
pd->scroller);
+   efl_content_set(efl_part(efl_super(obj, MY_CLASS), "elm.swallow.content"),
+                   pd->scroller);
 
    pd->max_scroll_h = -1;
-}
 
-EOLIAN static void
-_efl_ui_popup_alert_text_efl_canvas_group_group_del(Eo *obj, 
Efl_Ui_Popup_Alert_Text_Data *pd EINA_UNUSED)
-{
-   efl_canvas_group_del(efl_super(obj, MY_CLASS));
+   return obj;
 }
 
 /* Efl.Part begin */
@@ -169,7 +170,6 @@ ELM_PART_OVERRIDE_TEXT_GET(efl_ui_popup_alert_text, 
EFL_UI_POPUP_ALERT_TEXT, Efl
 /* Internal EO APIs and hidden overrides */
 
 #define EFL_UI_POPUP_ALERT_TEXT_EXTRA_OPS \
-   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_popup_alert_text), \
    ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_popup_alert_text)
 
 #include "efl_ui_popup_alert_text.eo.c"
diff --git a/src/lib/elementary/efl_ui_popup_alert_text.eo 
b/src/lib/elementary/efl_ui_popup_alert_text.eo
index 988c727680..d26ac90749 100644
--- a/src/lib/elementary/efl_ui_popup_alert_text.eo
+++ b/src/lib/elementary/efl_ui_popup_alert_text.eo
@@ -16,6 +16,7 @@ class Efl.Ui.Popup.Alert.Text(Efl.Ui.Popup.Alert, Efl.Text)
        }
    }
    implements {
+      Efl.Object.constructor;
       Efl.Gfx.Size.Hint.hint_max { set;}
       Efl.Text.text { get; set; }
       Efl.Part.part;
diff --git a/src/lib/elementary/efl_ui_popup_anchor.c 
b/src/lib/elementary/efl_ui_popup_anchor.c
index e9a79b8380..d1b5672743 100644
--- a/src/lib/elementary/efl_ui_popup_anchor.c
+++ b/src/lib/elementary/efl_ui_popup_anchor.c
@@ -346,12 +346,15 @@ _efl_ui_popup_anchor_efl_ui_popup_align_get(Eo *obj 
EINA_UNUSED, Efl_Ui_Popup_An
    return pd->align;
 }
 
-EOLIAN static void
-_efl_ui_popup_anchor_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Popup_Anchor_Data *pd EINA_UNUSED)
+EOLIAN static Eo *
+_efl_ui_popup_anchor_efl_object_constructor(Eo *obj,
+                                            Efl_Ui_Popup_Anchor_Data *pd)
 {
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
+
+   obj = efl_constructor(efl_super(obj, MY_CLASS));
+   efl_canvas_object_type_set(obj, MY_CLASS_NAME);
 
-   efl_canvas_group_add(efl_super(obj, MY_CLASS));
    elm_widget_sub_object_parent_add(obj);
 
    pd->priority[0] = EFL_UI_POPUP_ALIGN_TOP;
@@ -359,16 +362,11 @@ _efl_ui_popup_anchor_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Popup_Anchor_Dat
    pd->priority[2] = EFL_UI_POPUP_ALIGN_RIGHT;
    pd->priority[3] = EFL_UI_POPUP_ALIGN_BOTTOM;
    pd->priority[4] = EFL_UI_POPUP_ALIGN_CENTER;
-}
 
-EOLIAN static void
-_efl_ui_popup_anchor_efl_canvas_group_group_del(Eo *obj, 
Efl_Ui_Popup_Anchor_Data *pd EINA_UNUSED)
-{
-   efl_canvas_group_del(efl_super(obj, MY_CLASS));
+   return obj;
 }
 
 #define EFL_UI_POPUP_ANCHOR_EXTRA_OPS \
-   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_popup_anchor), \
    ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_popup_anchor)
 
 #include "efl_ui_popup_anchor.eo.c"
diff --git a/src/lib/elementary/efl_ui_popup_anchor.eo 
b/src/lib/elementary/efl_ui_popup_anchor.eo
index f3957d098c..656f48c45b 100644
--- a/src/lib/elementary/efl_ui_popup_anchor.eo
+++ b/src/lib/elementary/efl_ui_popup_anchor.eo
@@ -33,6 +33,7 @@ class Efl.Ui.Popup.Anchor(Efl.Ui.Popup)
       }
    }
    implements {
+      Efl.Object.constructor;
       Efl.Gfx.position { set; }
       Efl.Ui.Popup.align { set; get; }
    }

-- 


Reply via email to