summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2013-08-27 14:19:19 +0900
committerChunEon Park <hermet@hermet.pe.kr>2013-08-27 14:19:19 +0900
commitb7113b67ea6fad05dad9d6e6f8e37572940efc9c (patch)
treebec00df6f864900c267a69b40a1be7a844ab4603
parent110a8f779bcb5d07310b42c6eb7c004935b5d459 (diff)
downloadelementary-b7113b67ea6fad05dad9d6e6f8e37572940efc9c.tar.gz
elementary/widgets - set parents before widget constructs their body.
This avoids unnecessary multiple setups when obj and subobj has connected.
-rw-r--r--src/lib/elm_glview.c4
-rw-r--r--src/lib/elm_grid.c5
-rw-r--r--src/lib/elm_hover.c4
-rw-r--r--src/lib/elm_icon.c5
-rw-r--r--src/lib/elm_image.c4
-rw-r--r--src/lib/elm_index.c4
-rw-r--r--src/lib/elm_inwin.c4
-rw-r--r--src/lib/elm_layout.c3
-rw-r--r--src/lib/elm_list.c4
-rw-r--r--src/lib/elm_map.c4
-rw-r--r--src/lib/elm_mapbuf.c4
-rw-r--r--src/lib/elm_menu.c4
-rw-r--r--src/lib/elm_notify.c4
-rw-r--r--src/lib/elm_panel.c4
-rw-r--r--src/lib/elm_panes.c4
-rw-r--r--src/lib/elm_photo.c4
-rw-r--r--src/lib/elm_photocam.c4
-rw-r--r--src/lib/elm_plug.c4
-rw-r--r--src/lib/elm_prefs.c4
-rw-r--r--src/lib/elm_progressbar.c4
-rw-r--r--src/lib/elm_radio.c5
-rw-r--r--src/lib/elm_route.c2
-rw-r--r--src/lib/elm_scroller.c3
-rw-r--r--src/lib/elm_segment_control.c4
-rw-r--r--src/lib/elm_separator.c3
-rw-r--r--src/lib/elm_slider.c4
-rw-r--r--src/lib/elm_slideshow.c4
-rw-r--r--src/lib/elm_spinner.c4
-rw-r--r--src/lib/elm_table.c3
-rw-r--r--src/lib/elm_thumb.c3
-rw-r--r--src/lib/elm_toolbar.c4
-rw-r--r--src/lib/elm_video.c3
-rw-r--r--src/lib/elm_web.c3
-rw-r--r--src/lib/elm_web2.c3
34 files changed, 66 insertions, 63 deletions
diff --git a/src/lib/elm_glview.c b/src/lib/elm_glview.c
index 69976f0ed..91bebc93d 100644
--- a/src/lib/elm_glview.c
+++ b/src/lib/elm_glview.c
@@ -197,6 +197,8 @@ _set_render_policy_callback(Evas_Object *obj)
static void
_elm_glview_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
// Create image to render Evas_GL Surface
Evas_Object *img = evas_object_image_filled_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, img);
@@ -293,8 +295,6 @@ _constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_error_set(obj);
return;
}
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI Evas_GL_API *
diff --git a/src/lib/elm_grid.c b/src/lib/elm_grid.c
index a9949bc2c..80bb446ec 100644
--- a/src/lib/elm_grid.c
+++ b/src/lib/elm_grid.c
@@ -131,7 +131,10 @@ _elm_grid_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
static void
_elm_grid_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
{
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
+
Evas_Object *grid = evas_object_grid_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, grid);
evas_object_grid_size_set(wd->resize_obj, 100, 100);
@@ -180,8 +183,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
{
eo_do_super(obj, MY_CLASS, eo_constructor());
eo_do(obj, evas_obj_type_set(MY_CLASS_NAME));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_hover.c b/src/lib/elm_hover.c
index 8e89df275..55453c08a 100644
--- a/src/lib/elm_hover.c
+++ b/src/lib/elm_hover.c
@@ -541,6 +541,8 @@ _elm_hover_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
for (i = 0; i < sizeof(priv->subs) / sizeof(priv->subs[0]); i++)
priv->subs[i].swallow = _content_aliases[i].alias;
@@ -654,8 +656,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_icon.c b/src/lib/elm_icon.c
index a451f763a..d203e07c5 100644
--- a/src/lib/elm_icon.c
+++ b/src/lib/elm_icon.c
@@ -608,6 +608,9 @@ static void
_elm_icon_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
Elm_Icon_Smart_Data *priv = _pd;
priv->lookup_order = ELM_ICON_LOOKUP_THEME_FDO;
@@ -758,8 +761,6 @@ _constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI Eina_Bool
diff --git a/src/lib/elm_image.c b/src/lib/elm_image.c
index b2040fa3e..a826a78bc 100644
--- a/src/lib/elm_image.c
+++ b/src/lib/elm_image.c
@@ -457,6 +457,8 @@ _elm_image_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
Elm_Image_Smart_Data *priv = _pd;
priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
@@ -795,8 +797,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI Eina_Bool
diff --git a/src/lib/elm_index.c b/src/lib/elm_index.c
index d924b64ac..c302929dd 100644
--- a/src/lib/elm_index.c
+++ b/src/lib/elm_index.c
@@ -908,6 +908,8 @@ _elm_index_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
if (!elm_layout_theme_set
(obj, "index", "base/vertical", elm_widget_style_get(obj)))
CRITICAL("Failed to set layout!");
@@ -1121,8 +1123,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_inwin.c b/src/lib/elm_inwin.c
index 0b6bf427c..1c9b5bfe9 100644
--- a/src/lib/elm_inwin.c
+++ b/src/lib/elm_inwin.c
@@ -76,6 +76,8 @@ _elm_inwin_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
{
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
elm_widget_can_focus_set(obj, EINA_FALSE);
elm_widget_highlight_ignore_set(obj, EINA_TRUE);
@@ -123,8 +125,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, eo_constructor());
eo_do(obj, evas_obj_type_set(MY_CLASS_NAME));
-
- elm_widget_sub_object_add(parent, obj);
}
EAPI void
diff --git a/src/lib/elm_layout.c b/src/lib/elm_layout.c
index d45311935..41d5fbb9f 100644
--- a/src/lib/elm_layout.c
+++ b/src/lib/elm_layout.c
@@ -1354,6 +1354,8 @@ _elm_layout_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
{
Evas_Object *edje;
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
/* has to be there *before* parent's smart_add() */
edje = edje_object_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, edje);
@@ -2179,7 +2181,6 @@ _constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
static void
diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index aeb410cfa..e193fdf3e 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -1690,6 +1690,8 @@ _elm_list_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
elm_widget_can_focus_set(obj, EINA_TRUE);
priv->mode = ELM_LIST_SCROLL;
@@ -1854,8 +1856,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_map.c b/src/lib/elm_map.c
index a8d6ab269..b7715322d 100644
--- a/src/lib/elm_map.c
+++ b/src/lib/elm_map.c
@@ -3976,6 +3976,8 @@ _elm_map_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
Elm_Map_Smart_Data *priv = _pd;
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
edje = edje_object_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, edje);
@@ -4209,8 +4211,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
#else
eo_error_set(obj);
#endif
diff --git a/src/lib/elm_mapbuf.c b/src/lib/elm_mapbuf.c
index 9c2d36ebe..07b3c0e77 100644
--- a/src/lib/elm_mapbuf.c
+++ b/src/lib/elm_mapbuf.c
@@ -338,6 +338,8 @@ _elm_mapbuf_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
evas_object_static_clip_set(rect, EINA_TRUE);
evas_object_pass_events_set(rect, EINA_TRUE);
evas_object_color_set(rect, 0, 0, 0, 0);
@@ -366,8 +368,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, eo_constructor());
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
static void
diff --git a/src/lib/elm_menu.c b/src/lib/elm_menu.c
index 63fb6b1c6..bda563dd8 100644
--- a/src/lib/elm_menu.c
+++ b/src/lib/elm_menu.c
@@ -585,6 +585,8 @@ _elm_menu_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
elm_widget_can_focus_set(obj, EINA_FALSE);
priv->location = elm_icon_add(obj);
@@ -697,8 +699,6 @@ _constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
-
elm_menu_parent_set(obj, eo_parent_get(obj));
elm_hover_target_set(sd->hv, sd->location);
elm_layout_content_set
diff --git a/src/lib/elm_notify.c b/src/lib/elm_notify.c
index 8bbb3b2ae..26fb7933c 100644
--- a/src/lib/elm_notify.c
+++ b/src/lib/elm_notify.c
@@ -476,6 +476,8 @@ _elm_notify_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
priv->allow_events = EINA_TRUE;
priv->notify = edje_object_add(evas_object_evas_get(obj));
@@ -521,8 +523,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, eo_constructor());
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_panel.c b/src/lib/elm_panel.c
index 9481d04c5..3c74dab2f 100644
--- a/src/lib/elm_panel.c
+++ b/src/lib/elm_panel.c
@@ -345,6 +345,8 @@ _elm_panel_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
elm_widget_can_focus_set(obj, EINA_TRUE);
/* just to bootstrap and have theme hook to work */
@@ -423,8 +425,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_panes.c b/src/lib/elm_panes.c
index 52e78a3c8..040bd5eff 100644
--- a/src/lib/elm_panes.c
+++ b/src/lib/elm_panes.c
@@ -203,6 +203,8 @@ _elm_panes_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
if (!elm_layout_theme_set
(obj, "panes", "vertical", elm_widget_style_get(obj)))
CRITICAL("Failed to set layout!");
@@ -257,8 +259,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EINA_DEPRECATED EAPI void
diff --git a/src/lib/elm_photo.c b/src/lib/elm_photo.c
index e39caa9ad..ae507d7a5 100644
--- a/src/lib/elm_photo.c
+++ b/src/lib/elm_photo.c
@@ -257,6 +257,8 @@ _elm_photo_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
elm_widget_can_focus_set(obj, EINA_FALSE);
priv->icon = elm_icon_add(obj);
@@ -277,8 +279,6 @@ _elm_photo_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
evas_object_smart_callback_add
(priv->icon, "thumb,done", _on_thumb_done, obj);
- elm_widget_sub_object_add(obj, priv->icon);
-
_elm_photo_internal_image_follow(obj);
_sizing_eval(obj);
diff --git a/src/lib/elm_photocam.c b/src/lib/elm_photocam.c
index 05c6a66a5..2a59dcda6 100644
--- a/src/lib/elm_photocam.c
+++ b/src/lib/elm_photocam.c
@@ -1327,6 +1327,8 @@ _elm_photocam_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
Elm_Photocam_Smart_Data *priv = _pd;
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
edje = edje_object_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, edje);
@@ -1476,8 +1478,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI Evas_Load_Error
diff --git a/src/lib/elm_plug.c b/src/lib/elm_plug.c
index e41bf1ae3..7ae0ef178 100644
--- a/src/lib/elm_plug.c
+++ b/src/lib/elm_plug.c
@@ -96,6 +96,8 @@ _elm_plug_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
ee = ecore_evas_ecore_evas_get(evas_object_evas_get(obj));
if (!ee) return;
@@ -128,8 +130,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI Evas_Object *
diff --git a/src/lib/elm_prefs.c b/src/lib/elm_prefs.c
index 43e8b7efa..b8bd9daf0 100644
--- a/src/lib/elm_prefs.c
+++ b/src/lib/elm_prefs.c
@@ -48,6 +48,8 @@ static void
_elm_prefs_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
{
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
static void _item_free(Elm_Prefs_Item_Node *it);
@@ -532,8 +534,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_elm_prefs_smart_callbacks,
NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
static Eina_Bool
diff --git a/src/lib/elm_progressbar.c b/src/lib/elm_progressbar.c
index 4adb438a2..d48c00e2b 100644
--- a/src/lib/elm_progressbar.c
+++ b/src/lib/elm_progressbar.c
@@ -247,6 +247,8 @@ _elm_progressbar_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
priv->horizontal = EINA_TRUE;
priv->units = eina_stringshare_add("%.0f %%");
priv->val = MIN_RATIO_LVL;
@@ -318,8 +320,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_radio.c b/src/lib/elm_radio.c
index 79138e136..d29543ad2 100644
--- a/src/lib/elm_radio.c
+++ b/src/lib/elm_radio.c
@@ -269,12 +269,15 @@ _access_state_cb(void *data __UNUSED__, Evas_Object *obj)
static void
_elm_radio_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+
{
Elm_Radio_Smart_Data *priv = _pd;
Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
if (!elm_layout_theme_set(obj, "radio", "base", elm_widget_style_get(obj)))
CRITICAL("Failed to set layout!");
@@ -338,8 +341,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_route.c b/src/lib/elm_route.c
index b7586c4f5..2599489cd 100644
--- a/src/lib/elm_route.c
+++ b/src/lib/elm_route.c
@@ -144,6 +144,7 @@ _elm_route_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
elm_widget_can_focus_set(obj, EINA_FALSE);
evas_object_event_callback_add
@@ -194,7 +195,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, eo_constructor());
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME));
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
#ifdef ELM_EMAP
diff --git a/src/lib/elm_scroller.c b/src/lib/elm_scroller.c
index cfaba5e5e..f1b97ea4d 100644
--- a/src/lib/elm_scroller.c
+++ b/src/lib/elm_scroller.c
@@ -751,6 +751,7 @@ _elm_scroller_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
elm_widget_can_focus_set(obj, EINA_TRUE);
if (!elm_layout_theme_set
@@ -853,8 +854,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
/* deprecated */
diff --git a/src/lib/elm_segment_control.c b/src/lib/elm_segment_control.c
index 642ada485..b0332d29a 100644
--- a/src/lib/elm_segment_control.c
+++ b/src/lib/elm_segment_control.c
@@ -610,6 +610,8 @@ _elm_segment_control_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EIN
{
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
if (!elm_layout_theme_set
(obj, "segment_control", "base", elm_widget_style_get(obj)))
CRITICAL("Failed to set layout!");
@@ -717,8 +719,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI Elm_Object_Item *
diff --git a/src/lib/elm_separator.c b/src/lib/elm_separator.c
index 5b211cd83..639808508 100644
--- a/src/lib/elm_separator.c
+++ b/src/lib/elm_separator.c
@@ -53,6 +53,7 @@ _elm_separator_smart_add(Eo *obj, void *_pd __UNUSED__,
{
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
elm_widget_can_focus_set(obj, EINA_FALSE);
if (!elm_layout_theme_set
@@ -77,8 +78,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, eo_constructor());
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_slider.c b/src/lib/elm_slider.c
index 7df5834d5..0437c714d 100644
--- a/src/lib/elm_slider.c
+++ b/src/lib/elm_slider.c
@@ -799,6 +799,8 @@ _elm_slider_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
priv->horizontal = EINA_TRUE;
priv->indicator_show = EINA_TRUE;
priv->val_max = 1.0;
@@ -911,8 +913,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_slideshow.c b/src/lib/elm_slideshow.c
index 54f577077..4a96d2190 100644
--- a/src/lib/elm_slideshow.c
+++ b/src/lib/elm_slideshow.c
@@ -321,6 +321,8 @@ _elm_slideshow_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
priv->count_item_pre_before = 2;
priv->count_item_pre_after = 2;
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
if (!elm_layout_theme_set
(obj, "slideshow", "base", elm_widget_style_get(obj)))
CRITICAL("Failed to set layout!");
@@ -386,8 +388,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI Elm_Object_Item *
diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c
index 703aae48e..5861c044d 100644
--- a/src/lib/elm_spinner.c
+++ b/src/lib/elm_spinner.c
@@ -655,6 +655,8 @@ _elm_spinner_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
priv->val_max = 100.0;
priv->step = 1.0;
priv->first_interval = 0.85;
@@ -834,8 +836,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_table.c b/src/lib/elm_table.c
index a125db52c..9e6888421 100644
--- a/src/lib/elm_table.c
+++ b/src/lib/elm_table.c
@@ -185,6 +185,8 @@ _elm_table_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
{
Evas_Object *table;
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
table = evas_object_table_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, table);
@@ -241,7 +243,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, eo_constructor());
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME));
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_thumb.c b/src/lib/elm_thumb.c
index fbda52f04..769f399d9 100644
--- a/src/lib/elm_thumb.c
+++ b/src/lib/elm_thumb.c
@@ -596,6 +596,7 @@ _elm_thumb_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
elm_widget_resize_object_set(obj, elm_layout_add(obj));
if (!elm_layout_theme_set(wd->resize_obj, "thumb", "base",
@@ -663,8 +664,6 @@ _constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
Elm_Thumb_Smart_Data *sd = _pd;
sd->obj = obj;
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_toolbar.c b/src/lib/elm_toolbar.c
index fa1a4e376..fd9880407 100644
--- a/src/lib/elm_toolbar.c
+++ b/src/lib/elm_toolbar.c
@@ -2491,6 +2491,8 @@ _elm_toolbar_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
Elm_Toolbar_Smart_Data *priv = _pd;
Evas_Object *edje;
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
edje = edje_object_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, edje);
@@ -2747,8 +2749,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI void
diff --git a/src/lib/elm_video.c b/src/lib/elm_video.c
index 445c6036b..9bdefe70b 100644
--- a/src/lib/elm_video.c
+++ b/src/lib/elm_video.c
@@ -251,6 +251,7 @@ _elm_video_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
elm_widget_can_focus_set(obj, EINA_TRUE);
#ifdef HAVE_EMOTION
@@ -321,8 +322,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
#else
eo_error_set(obj);
#endif
diff --git a/src/lib/elm_web.c b/src/lib/elm_web.c
index 0f473e67f..432de0fce 100644
--- a/src/lib/elm_web.c
+++ b/src/lib/elm_web.c
@@ -242,6 +242,8 @@ _view_smart_add(Evas_Object *obj)
{
View_Smart_Data *sd;
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
sd = calloc(1, sizeof(View_Smart_Data));
evas_object_smart_data_set(obj, sd);
@@ -1222,7 +1224,6 @@ _constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_elm_web_smart_callbacks, NULL));
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI Evas_Object *
diff --git a/src/lib/elm_web2.c b/src/lib/elm_web2.c
index 06272367b..9ac867c39 100644
--- a/src/lib/elm_web2.c
+++ b/src/lib/elm_web2.c
@@ -38,6 +38,8 @@ _view_smart_add(Evas_Object *obj)
sd = calloc(1, sizeof(View_Smart_Data));
evas_object_smart_data_set(obj, sd);
+ elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
_ewk_view_parent_sc.sc.add(obj);
}
@@ -171,7 +173,6 @@ _constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do(obj,
evas_obj_type_set(MY_CLASS_NAME),
evas_obj_smart_callbacks_descriptions_set(_elm_web_smart_callbacks, NULL));
- elm_widget_sub_object_add(eo_parent_get(obj), obj);
}
EAPI Evas_Object *