efl_ui_popup: Replace group_add/del with constructor/destructor
authorJaehyun Cho <jae_hyun.cho@samsung.com>
Tue, 24 Oct 2017 12:29:15 +0000 (21:29 +0900)
committerJaehyun Cho <jae_hyun.cho@samsung.com>
Tue, 28 Nov 2017 08:15:42 +0000 (17:15 +0900)
src/lib/elementary/efl_ui_popup.c
src/lib/elementary/efl_ui_popup.eo
src/lib/elementary/efl_ui_popup_alert.c
src/lib/elementary/efl_ui_popup_alert.eo
src/lib/elementary/efl_ui_popup_alert_scroll.c
src/lib/elementary/efl_ui_popup_alert_scroll.eo
src/lib/elementary/efl_ui_popup_alert_text.c
src/lib/elementary/efl_ui_popup_alert_text.eo
src/lib/elementary/efl_ui_popup_anchor.c
src/lib/elementary/efl_ui_popup_anchor.eo

index 6f225da..7d59be8 100644 (file)
@@ -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"
index cf70162..8f2a237 100644 (file)
@@ -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; }
index 64d1ff6..bfb2c3d 100644 (file)
@@ -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"
index 8929e17..42c55a4 100644 (file)
@@ -21,6 +21,8 @@ class Efl.Ui.Popup.Alert(Efl.Ui.Popup)
       }
    }
    implements {
+      Efl.Object.constructor;
+      Efl.Object.destructor;
       Efl.Part.part;
    }
    events {
index 7dc388b..ac57b3d 100644 (file)
@@ -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"
index 69d3bbb..b680f76 100644 (file)
@@ -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;
    }
index e3acce5..9bf90f1 100644 (file)
@@ -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"
index 988c727..d26ac90 100644 (file)
@@ -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;
index e9a79b8..d1b5672 100644 (file)
@@ -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"
index f3957d0..656f48c 100644 (file)
@@ -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; }
    }