elementary/widget - don't handle tthe resize objects in widget infrastructure. Acutally these resize objects are sub objects so we don't need to care them separately. This caused overhead in some cases(ie, theme change)

SVN revision: 83990
This commit is contained in:
ChunEon Park 2013-02-16 13:39:59 +00:00
parent 1f92ae407d
commit 844b5805ff
15 changed files with 73 additions and 107 deletions

View File

@ -1024,8 +1024,12 @@
2013-02-16 Paulo C. A. Cavalcanti Jr 2013-02-16 Paulo C. A. Cavalcanti Jr
* Fix elm_config to properly check file type. * Fix elm_config to properly check file type.
2013-02-16 ChunEon Park (Hermet) 2013-02-16 ChunEon Park (Hermet)
* Improve naviframe to not apply items'style multiple times. * Improve naviframe to not apply items'style multiple times.
2013-02-16 ChunEon Park (Hermet)
* Don't handle the resize objects in widget infrastructure. Actually resize objects are sub objects so we don't need to care them separately. this causes overhead in some cases.

View File

@ -70,6 +70,7 @@ Improvements:
* Ctxpopup will be dismissed when language is changed. * Ctxpopup will be dismissed when language is changed.
* Popup is now a focusable object. * Popup is now a focusable object.
* Improve naviframe to not apply items' style multiple times when theme/styles are changed. * Improve naviframe to not apply items' style multiple times when theme/styles are changed.
* Don't handle the resize objects in widget infrastructure. Actually resize objects are sub objects so we don't need to care them separately. This causes overhead in some cases(ie, theme change..).
Fixes: Fixes:

View File

@ -398,7 +398,7 @@ static void
_elm_box_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) _elm_box_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
{ {
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS); Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
wd->resize_obj = evas_object_box_add(evas_object_evas_get(obj)); elm_widget_resize_object_set(obj, evas_object_box_add(evas_object_evas_get(obj)));
evas_object_box_layout_set(wd->resize_obj, _elm_box_custom_layout, obj, NULL); evas_object_box_layout_set(wd->resize_obj, _elm_box_custom_layout, obj, NULL);

View File

@ -1249,21 +1249,19 @@ static void
_elm_diskselector_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) _elm_diskselector_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{ {
Elm_Diskselector_Smart_Data *priv = _pd; Elm_Diskselector_Smart_Data *priv = _pd;
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
Evas *evas; Evas *evas;
Evas_Object *blank; Evas_Object *blank, *edje;
evas = evas_object_evas_get(obj); evas = evas_object_evas_get(obj);
evas_event_freeze(evas); evas_event_freeze(evas);
wd->resize_obj = edje = edje_object_add(evas_object_evas_get(obj));
edje_object_add(evas_object_evas_get(obj)); elm_widget_resize_object_set(obj, edje);
eo_do_super(obj, evas_obj_smart_add()); eo_do_super(obj, evas_obj_smart_add());
elm_widget_theme_object_set elm_widget_theme_object_set
(obj, wd->resize_obj, "diskselector", "base", (obj, edje, "diskselector", "base", elm_widget_style_get(obj));
elm_widget_style_get(obj));
priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj)); priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
evas_object_smart_member_add(priv->hit_rect, obj); evas_object_smart_member_add(priv->hit_rect, obj);
@ -1276,7 +1274,7 @@ _elm_diskselector_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
elm_widget_can_focus_set(obj, EINA_TRUE); elm_widget_can_focus_set(obj, EINA_TRUE);
eo_do(obj, elm_scrollable_interface_objects_set(wd->resize_obj, priv->hit_rect)); eo_do(obj, elm_scrollable_interface_objects_set(edje, priv->hit_rect));
priv->len_side = 3; priv->len_side = 3;

View File

@ -194,10 +194,10 @@ _set_render_policy_callback(Evas_Object *obj)
static void static void
_elm_glview_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) _elm_glview_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{ {
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
// Create image to render Evas_GL Surface // Create image to render Evas_GL Surface
wd->resize_obj = evas_object_image_filled_add(evas_object_evas_get(obj)); Evas_Object *img = evas_object_image_filled_add(evas_object_evas_get(obj));
evas_object_image_size_set(wd->resize_obj, 1, 1); elm_widget_resize_object_set(obj, img);
evas_object_image_size_set(img, 1, 1);
eo_do_super(obj, evas_obj_smart_add()); eo_do_super(obj, evas_obj_smart_add());

View File

@ -127,8 +127,8 @@ static void
_elm_grid_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) _elm_grid_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
{ {
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS); Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
Evas_Object *grid = evas_object_grid_add(evas_object_evas_get(obj));
wd->resize_obj = 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); evas_object_grid_size_set(wd->resize_obj, 100, 100);
eo_do_super(obj, evas_obj_smart_add()); eo_do_super(obj, evas_obj_smart_add());

View File

@ -1335,19 +1335,18 @@ _on_size_evaluate_signal(void *data,
static void static void
_elm_layout_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) _elm_layout_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
{ {
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS); Evas_Object *edje;
/* has to be there *before* parent's smart_add() */ /* has to be there *before* parent's smart_add() */
wd->resize_obj = edje = edje_object_add(evas_object_evas_get(obj));
edje_object_add(evas_object_evas_get(obj)); elm_widget_resize_object_set(obj, edje);
eo_do_super(obj, evas_obj_smart_add()); eo_do_super(obj, evas_obj_smart_add());
elm_widget_can_focus_set(obj, EINA_FALSE); elm_widget_can_focus_set(obj, EINA_FALSE);
edje_object_signal_callback_add edje_object_signal_callback_add
(wd->resize_obj, "size,eval", "elm", (edje, "size,eval", "elm", _on_size_evaluate_signal, obj);
_on_size_evaluate_signal, obj);
eo_do(obj, elm_obj_layout_sizing_eval()); eo_do(obj, elm_obj_layout_sizing_eval());
} }

View File

@ -3938,18 +3938,17 @@ _elm_map_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{ {
Evas_Coord minw, minh; Evas_Coord minw, minh;
Elm_Map_Pan_Smart_Data *pan_data; Elm_Map_Pan_Smart_Data *pan_data;
Evas_Object *edje;
Elm_Map_Smart_Data *priv = _pd; Elm_Map_Smart_Data *priv = _pd;
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
wd->resize_obj = edje = edje_object_add(evas_object_evas_get(obj));
edje_object_add(evas_object_evas_get(obj)); elm_widget_resize_object_set(obj, edje);
eo_do_super(obj, evas_obj_smart_add()); eo_do_super(obj, evas_obj_smart_add());
elm_widget_theme_object_set elm_widget_theme_object_set
(obj, wd->resize_obj, "map", "base", (obj, edje, "map", "base", elm_widget_style_get(obj));
elm_widget_style_get(obj));
priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj)); priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
evas_object_smart_member_add(priv->hit_rect, obj); evas_object_smart_member_add(priv->hit_rect, obj);
@ -3970,7 +3969,7 @@ _elm_map_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
(obj, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb, priv); (obj, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb, priv);
eo_do(obj, eo_do(obj,
elm_scrollable_interface_objects_set(wd->resize_obj, priv->hit_rect), elm_scrollable_interface_objects_set(edje, priv->hit_rect),
elm_scrollable_interface_wheel_disabled_set(EINA_TRUE), elm_scrollable_interface_wheel_disabled_set(EINA_TRUE),
elm_scrollable_interface_bounce_allow_set( elm_scrollable_interface_bounce_allow_set(
_elm_config->thumbscroll_bounce_enable, _elm_config->thumbscroll_bounce_enable,
@ -3991,7 +3990,7 @@ _elm_map_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
eo_do(obj, elm_scrollable_interface_extern_pan_set(priv->pan_obj)); eo_do(obj, elm_scrollable_interface_extern_pan_set(priv->pan_obj));
edje_object_size_min_calc(wd->resize_obj, &minw, &minh); edje_object_size_min_calc(edje, &minw, &minh);
evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_min_set(obj, minw, minh);
priv->g_layer = elm_gesture_layer_add(obj); priv->g_layer = elm_gesture_layer_add(obj);

View File

@ -233,16 +233,14 @@ static void
_elm_mapbuf_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) _elm_mapbuf_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{ {
Elm_Mapbuf_Smart_Data *priv = _pd; Elm_Mapbuf_Smart_Data *priv = _pd;
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS); Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, rect);
wd->resize_obj =
evas_object_rectangle_add(evas_object_evas_get(obj));
eo_do_super(obj, evas_obj_smart_add()); eo_do_super(obj, evas_obj_smart_add());
evas_object_static_clip_set(wd->resize_obj, EINA_TRUE); evas_object_static_clip_set(rect, EINA_TRUE);
evas_object_pass_events_set(wd->resize_obj, EINA_TRUE); evas_object_pass_events_set(rect, EINA_TRUE);
evas_object_color_set(wd->resize_obj, 0, 0, 0, 0); evas_object_color_set(rect, 0, 0, 0, 0);
priv->alpha = EINA_TRUE; priv->alpha = EINA_TRUE;
priv->smooth = EINA_TRUE; priv->smooth = EINA_TRUE;

View File

@ -1293,18 +1293,18 @@ _elm_photocam_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
Evas_Coord minw, minh; Evas_Coord minw, minh;
Elm_Photocam_Pan_Smart_Data *pan_data; Elm_Photocam_Pan_Smart_Data *pan_data;
Eina_Bool bounce = _elm_config->thumbscroll_bounce_enable; Eina_Bool bounce = _elm_config->thumbscroll_bounce_enable;
Evas_Object *edje;
Elm_Photocam_Smart_Data *priv = _pd; Elm_Photocam_Smart_Data *priv = _pd;
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS); Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
wd->resize_obj = edje = edje_object_add(evas_object_evas_get(obj));
edje_object_add(evas_object_evas_get(obj)); elm_widget_resize_object_set(obj, edje);
eo_do_super(obj, evas_obj_smart_add()); eo_do_super(obj, evas_obj_smart_add());
elm_widget_theme_object_set elm_widget_theme_object_set
(obj, wd->resize_obj, "photocam", "base", (obj, edje, "photocam", "base", elm_widget_style_get(obj));
elm_widget_style_get(obj));
priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj)); priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
evas_object_smart_member_add(priv->hit_rect, obj); evas_object_smart_member_add(priv->hit_rect, obj);
@ -1317,8 +1317,7 @@ _elm_photocam_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
elm_widget_can_focus_set(obj, EINA_TRUE); elm_widget_can_focus_set(obj, EINA_TRUE);
eo_do(obj, elm_scrollable_interface_objects_set eo_do(obj, elm_scrollable_interface_objects_set(edje, priv->hit_rect));
(wd->resize_obj, priv->hit_rect));
eo_do(obj, eo_do(obj,
elm_scrollable_interface_animate_start_cb_set(_scroll_animate_start_cb), elm_scrollable_interface_animate_start_cb_set(_scroll_animate_start_cb),
@ -1358,7 +1357,7 @@ _elm_photocam_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
evas_object_event_callback_add evas_object_event_callback_add
(priv->img, EVAS_CALLBACK_IMAGE_PRELOADED, _main_img_preloaded_cb, obj); (priv->img, EVAS_CALLBACK_IMAGE_PRELOADED, _main_img_preloaded_cb, obj);
edje_object_size_min_calc(wd->resize_obj, &minw, &minh); edje_object_size_min_calc(edje, &minw, &minh);
evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_min_set(obj, minw, minh);
_sizing_eval(obj); _sizing_eval(obj);

View File

@ -178,13 +178,13 @@ _elm_table_sub_object_del(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
static void static void
_elm_table_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) _elm_table_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
{ {
Elm_Widget_Smart_Data *priv = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS); Evas_Object *table;
priv->resize_obj = evas_object_table_add(evas_object_evas_get(obj)); table = evas_object_table_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, table);
evas_object_event_callback_add evas_object_event_callback_add
(priv->resize_obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, (table, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_size_hints_changed, obj);
_on_size_hints_changed, obj);
eo_do_super(obj, evas_obj_smart_add()); eo_do_super(obj, evas_obj_smart_add());

View File

@ -2274,16 +2274,15 @@ static void
_elm_toolbar_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) _elm_toolbar_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{ {
Elm_Toolbar_Smart_Data *priv = _pd; Elm_Toolbar_Smart_Data *priv = _pd;
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS); Evas_Object *edje;
wd->resize_obj = edje = edje_object_add(evas_object_evas_get(obj));
edje_object_add(evas_object_evas_get(obj)); elm_widget_resize_object_set(obj, edje);
eo_do_super(obj, evas_obj_smart_add()); eo_do_super(obj, evas_obj_smart_add());
elm_widget_theme_object_set elm_widget_theme_object_set
(obj, wd->resize_obj, "toolbar", "base", (obj, edje, "toolbar", "base", elm_widget_style_get(obj));
elm_widget_style_get(obj));
priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj)); priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
evas_object_smart_member_add(priv->hit_rect, obj); evas_object_smart_member_add(priv->hit_rect, obj);
@ -2296,7 +2295,7 @@ _elm_toolbar_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
elm_widget_can_focus_set(obj, EINA_TRUE); elm_widget_can_focus_set(obj, EINA_TRUE);
eo_do(obj, elm_scrollable_interface_objects_set(wd->resize_obj, priv->hit_rect)); eo_do(obj, elm_scrollable_interface_objects_set(edje, priv->hit_rect));
priv->standard_priority = -99999; priv->standard_priority = -99999;
@ -2308,17 +2307,13 @@ _elm_toolbar_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
elm_scrollable_interface_drag_start_cb_set(_drag_start_cb)); elm_scrollable_interface_drag_start_cb_set(_drag_start_cb));
edje_object_signal_callback_add edje_object_signal_callback_add
(wd->resize_obj, "elm,action,left", "elm", (edje, "elm,action,left", "elm", _elm_toolbar_action_left_cb, obj);
_elm_toolbar_action_left_cb, obj);
edje_object_signal_callback_add edje_object_signal_callback_add
(wd->resize_obj, "elm,action,right", "elm", (edje, "elm,action,right", "elm", _elm_toolbar_action_right_cb, obj);
_elm_toolbar_action_right_cb, obj);
edje_object_signal_callback_add edje_object_signal_callback_add
(wd->resize_obj, "elm,action,up", "elm", (edje, "elm,action,up", "elm", _elm_toolbar_action_up_cb, obj);
_elm_toolbar_action_up_cb, obj);
edje_object_signal_callback_add edje_object_signal_callback_add
(wd->resize_obj, "elm,action,down", "elm", (edje, "elm,action,down", "elm", _elm_toolbar_action_down_cb, obj);
_elm_toolbar_action_down_cb, obj);
priv->shrink_mode = ELM_TOOLBAR_SHRINK_NONE; priv->shrink_mode = ELM_TOOLBAR_SHRINK_NONE;
priv->theme_icon_size = _elm_toolbar_icon_size_get(obj); priv->theme_icon_size = _elm_toolbar_icon_size_get(obj);

View File

@ -1127,51 +1127,53 @@ static void
_elm_web_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) _elm_web_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{ {
Elm_Web_Smart_Data *priv = _pd; Elm_Web_Smart_Data *priv = _pd;
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS); Evas_Object *resize_obj;
#ifdef HAVE_ELEMENTARY_WEB #ifdef HAVE_ELEMENTARY_WEB
wd->resize_obj = _view_add(obj); resize_obj = _view_add(obj);
#else #else
wd->resize_obj = elm_label_add(obj); resize_obj = elm_label_add(obj);
elm_widget_resize_object_set(obj, resize_obj);
elm_object_text_set elm_object_text_set
(wd->resize_obj, "WebKit not supported!"); (resize_obj, "WebKit not supported!");
evas_object_show(wd->resize_obj); evas_object_show(resize_obj);
#endif #endif
eo_do_super(obj, evas_obj_smart_add()); eo_do_super(obj, evas_obj_smart_add());
#ifdef HAVE_ELEMENTARY_WEB #ifdef HAVE_ELEMENTARY_WEB
ewk_view_setting_user_agent_set ewk_view_setting_user_agent_set
(wd->resize_obj, ELM_WEB_USER_AGENT); (resize_obj, ELM_WEB_USER_AGENT);
priv->input_method = ELM_WIN_KEYBOARD_OFF; priv->input_method = ELM_WIN_KEYBOARD_OFF;
evas_object_smart_callback_add evas_object_smart_callback_add
(wd->resize_obj, "inputmethod,changed", (resize_obj, "inputmethod,changed",
_ewk_view_inputmethod_change_cb, priv); _ewk_view_inputmethod_change_cb, priv);
evas_object_smart_callback_add evas_object_smart_callback_add
(wd->resize_obj, "load,started", (resize_obj, "load,started",
_ewk_view_load_started_cb, priv); _ewk_view_load_started_cb, priv);
evas_object_smart_callback_add evas_object_smart_callback_add
(wd->resize_obj, "popup,create", (resize_obj, "popup,create",
_ewk_view_popup_create_cb, priv); _ewk_view_popup_create_cb, priv);
evas_object_smart_callback_add evas_object_smart_callback_add
(wd->resize_obj, "load,finished", (resize_obj, "load,finished",
_ewk_view_load_finished_cb, priv); _ewk_view_load_finished_cb, priv);
evas_object_smart_callback_add evas_object_smart_callback_add
(wd->resize_obj, "viewport,changed", (resize_obj, "viewport,changed",
_ewk_view_viewport_changed_cb, priv); _ewk_view_viewport_changed_cb, priv);
evas_object_smart_callback_add evas_object_smart_callback_add
(wd->resize_obj, "view,resized", (resize_obj, "view,resized",
_ewk_view_resized_cb, priv); _ewk_view_resized_cb, priv);
priv->inwin_mode = _elm_config->inwin_dialogs_enable; priv->inwin_mode = _elm_config->inwin_dialogs_enable;
priv->zoom.min = priv->zoom.min =
ewk_view_zoom_range_min_get(wd->resize_obj); ewk_view_zoom_range_min_get(resize_obj);
priv->zoom.max = priv->zoom.max =
ewk_view_zoom_range_max_get(wd->resize_obj); ewk_view_zoom_range_max_get(resize_obj);
priv->zoom.current = 1.0; priv->zoom.current = 1.0;
_view_smart_callback_proxy(wd->resize_obj, obj); _view_smart_callback_proxy(resize_obj, obj);
eo_do(obj, elm_wdg_theme(NULL)); eo_do(obj, elm_wdg_theme(NULL));
elm_widget_can_focus_set(obj, EINA_TRUE); elm_widget_can_focus_set(obj, EINA_TRUE);

View File

@ -110,7 +110,7 @@ _elm_web_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS); Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
#ifdef HAVE_ELEMENTARY_WEB #ifdef HAVE_ELEMENTARY_WEB
wd->resize_obj = _view_add(obj); elm_widget_resize_object_set(obj, _view_add(obj));
eo_do_super(obj, evas_obj_smart_add()); eo_do_super(obj, evas_obj_smart_add());

View File

@ -759,8 +759,6 @@ elm_widget_theme(Evas_Object *obj)
EINA_LIST_FOREACH(sd->subobjs, l, child) EINA_LIST_FOREACH(sd->subobjs, l, child)
if (_elm_widget_is(child)) ret &= elm_widget_theme(child); if (_elm_widget_is(child)) ret &= elm_widget_theme(child);
if (sd->resize_obj && _elm_widget_is(sd->resize_obj))
ret &= elm_widget_theme(sd->resize_obj);
if (sd->hover_obj) ret &= elm_widget_theme(sd->hover_obj); if (sd->hover_obj) ret &= elm_widget_theme(sd->hover_obj);
EINA_LIST_FOREACH(sd->tooltips, l, tt) EINA_LIST_FOREACH(sd->tooltips, l, tt)
@ -809,7 +807,6 @@ elm_widget_theme_specific(Evas_Object *obj,
if (!force) return; if (!force) return;
EINA_LIST_FOREACH(sd->subobjs, l, child) EINA_LIST_FOREACH(sd->subobjs, l, child)
elm_widget_theme_specific(child, th, force); elm_widget_theme_specific(child, th, force);
if (sd->resize_obj) elm_widget_theme(sd->resize_obj);
if (sd->hover_obj) elm_widget_theme(sd->hover_obj); if (sd->hover_obj) elm_widget_theme(sd->hover_obj);
EINA_LIST_FOREACH(sd->tooltips, l, tt) EINA_LIST_FOREACH(sd->tooltips, l, tt)
elm_tooltip_theme(tt); elm_tooltip_theme(tt);
@ -2958,14 +2955,6 @@ _elm_widget_focus_set(Eo *obj, void *_pd, va_list *list)
break; break;
} }
} }
if (!l)
{
if ((_is_focusable(sd->resize_obj)) &&
(!elm_widget_disabled_get(sd->resize_obj)))
{
elm_widget_focus_set(sd->resize_obj, first);
}
}
} }
} }
@ -3107,12 +3096,8 @@ _elm_widget_top_win_focused_set(Evas_Object *obj,
API_ENTRY return; API_ENTRY return;
if (sd->top_win_focused == top_win_focused) return; if (sd->top_win_focused == top_win_focused) return;
if (sd->resize_obj)
_elm_widget_top_win_focused_set(sd->resize_obj, top_win_focused);
EINA_LIST_FOREACH(sd->subobjs, l, child) EINA_LIST_FOREACH(sd->subobjs, l, child)
{ _elm_widget_top_win_focused_set(child, top_win_focused);
_elm_widget_top_win_focused_set(child, top_win_focused);
}
sd->top_win_focused = top_win_focused; sd->top_win_focused = top_win_focused;
} }
@ -3747,7 +3732,6 @@ _elm_widget_translate(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list
EINA_LIST_FOREACH(sd->subobjs, l, child) EINA_LIST_FOREACH(sd->subobjs, l, child)
elm_widget_translate(child); elm_widget_translate(child);
if (sd->resize_obj) elm_widget_translate(sd->resize_obj);
if (sd->hover_obj) elm_widget_translate(sd->hover_obj); if (sd->hover_obj) elm_widget_translate(sd->hover_obj);
#ifdef HAVE_GETTEXT #ifdef HAVE_GETTEXT
EINA_LIST_FOREACH(sd->translate_strings, l, ts) EINA_LIST_FOREACH(sd->translate_strings, l, ts)
@ -4212,14 +4196,6 @@ _widget_name_find(const Evas_Object *obj,
INTERNAL_ENTRY NULL; INTERNAL_ENTRY NULL;
if (!_elm_widget_is(obj)) return NULL; if (!_elm_widget_is(obj)) return NULL;
if (sd->resize_obj)
{
s = evas_object_name_get(sd->resize_obj);
if ((s) && (!strcmp(s, name))) return sd->resize_obj;
if ((recurse != 0) &&
((child = _widget_name_find(sd->resize_obj, name, recurse - 1))))
return child;
}
EINA_LIST_FOREACH(sd->subobjs, l, child) EINA_LIST_FOREACH(sd->subobjs, l, child)
{ {
s = evas_object_name_get(child); s = evas_object_name_get(child);
@ -4562,11 +4538,11 @@ _elm_widget_orientation_set(Eo *obj __UNUSED__, void *_pd, va_list *list)
sd->orient_mode = orient_mode; sd->orient_mode = orient_mode;
eo_do(obj, elm_wdg_theme(NULL));
EINA_LIST_FOREACH (sd->subobjs, l, child) EINA_LIST_FOREACH (sd->subobjs, l, child)
elm_widget_orientation_set(child, orient_mode); elm_widget_orientation_set(child, orient_mode);
eo_do(obj, elm_wdg_theme(NULL));
if (ret) *ret = EINA_TRUE; if (ret) *ret = EINA_TRUE;
} }
@ -5365,13 +5341,8 @@ _sub_obj_tree_dump(const Evas_Object *obj,
printf("+ %s(%p)\n", printf("+ %s(%p)\n",
elm_widget_type_get(obj), elm_widget_type_get(obj),
obj); obj);
if (sd->resize_obj)
_sub_obj_tree_dump(sd->resize_obj, lvl + 1);
EINA_LIST_FOREACH(sd->subobjs, l, obj) EINA_LIST_FOREACH(sd->subobjs, l, obj)
{ _sub_obj_tree_dump(obj, lvl + 1);
if (obj != sd->resize_obj)
_sub_obj_tree_dump(obj, lvl + 1);
}
} }
else else
printf("+ %s(%p)\n", evas_object_type_get(obj), obj); printf("+ %s(%p)\n", evas_object_type_get(obj), obj);