diff --git a/src/lib/elementary/efl_ui_image_zoomable.c b/src/lib/elementary/efl_ui_image_zoomable.c index 88824c3985..92b234782a 100644 --- a/src/lib/elementary/efl_ui_image_zoomable.c +++ b/src/lib/elementary/efl_ui_image_zoomable.c @@ -377,15 +377,15 @@ _efl_ui_image_zoomable_pan_efl_canvas_group_group_calculate(Eo *obj, Efl_Ui_Imag evas_object_geometry_get(obj, &ox, &oy, &ow, &oh); _image_place( - wd->obj, psd->wsd->pan_x, psd->wsd->pan_y, + psd->wobj, psd->wsd->pan_x, psd->wsd->pan_y, ox - psd->wsd->g_layer_zoom.imx, oy - psd->wsd->g_layer_zoom.imy, ow, oh); EINA_LIST_FOREACH(psd->wsd->grids, l, g) { - _grid_load(wd->obj, g); + _grid_load(psd->wobj, g); _grid_place( - wd->obj, g, psd->wsd->pan_x, + psd->wobj, g, psd->wsd->pan_x, psd->wsd->pan_y, ox - psd->wsd->g_layer_zoom.imx, oy - psd->wsd->g_layer_zoom.imy, ow, oh); } @@ -536,7 +536,7 @@ _tile_preloaded_cb(void *data, "efl"); efl_event_callback_legacy_call - (wd->obj, EFL_UI_IMAGE_ZOOMABLE_EVENT_LOADED_DETAIL, NULL); + (git->obj, EFL_UI_IMAGE_ZOOMABLE_EVENT_LOADED_DETAIL, NULL); } } } diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c index fa6ba5a3ed..b3644a67ce 100644 --- a/src/lib/elementary/efl_ui_widget.c +++ b/src/lib/elementary/efl_ui_widget.c @@ -620,12 +620,12 @@ _on_sub_obj_del(void *data, const Efl_Event *event) if (_elm_widget_is(event->object)) { - if (_is_focused(event->object)) _parents_unfocus(sd->obj); + if (_is_focused(event->object)) _parents_unfocus(data); } if (event->object == sd->resize_obj) { /* already dels sub object */ - elm_widget_resize_object_set(sd->obj, NULL); + elm_widget_resize_object_set(data, NULL); } else if (event->object == sd->hover_obj) { @@ -633,8 +633,8 @@ _on_sub_obj_del(void *data, const Efl_Event *event) } else { - if (!elm_widget_sub_object_del(sd->obj, event->object)) - ERR("failed to remove sub object %p from %p\n", event->object, sd->obj); + if (!elm_widget_sub_object_del(data, event->object)) + ERR("failed to remove sub object %p from %p\n", event->object, data); } } @@ -715,8 +715,6 @@ _obj_mouse_in(void *data, EOLIAN static void _efl_ui_widget_efl_canvas_group_group_add(Eo *obj, Elm_Widget_Smart_Data *priv) { - - priv->obj = obj; priv->mirrored_auto_mode = EINA_TRUE; /* will follow system locale * settings */ priv->focus_move_policy_auto_mode = EINA_TRUE; @@ -791,9 +789,9 @@ _efl_ui_widget_efl_canvas_group_group_del(Eo *obj, Elm_Widget_Smart_Data *sd) } static void -_smart_reconfigure(Elm_Widget_Smart_Data *sd) +_smart_reconfigure(Eo *obj, Elm_Widget_Smart_Data *sd) { - Eina_Rect geom = efl_gfx_entity_geometry_get(sd->obj); + Eina_Rect geom = efl_gfx_entity_geometry_get(obj); if (sd->resize_obj) { @@ -808,7 +806,7 @@ _smart_reconfigure(Elm_Widget_Smart_Data *sd) efl_gfx_entity_geometry_set(sd->bg, geom); } if (sd->has_shadow) - _elm_widget_shadow_update(sd->obj); + _elm_widget_shadow_update(obj); } EOLIAN static void @@ -825,7 +823,7 @@ _efl_ui_widget_efl_gfx_entity_position_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart efl_gfx_entity_position_set(sd->bg, pos); if (sd->has_shadow) - _elm_widget_shadow_update(sd->obj); + _elm_widget_shadow_update(obj); efl_gfx_entity_position_set(efl_super(obj, MY_CLASS), pos); } @@ -844,7 +842,7 @@ _efl_ui_widget_efl_gfx_entity_size_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Dat efl_gfx_entity_size_set(sd->bg, sz); if (sd->has_shadow) - _elm_widget_shadow_update(sd->obj); + _elm_widget_shadow_update(obj); efl_gfx_entity_size_set(efl_super(obj, MY_CLASS), sz); } @@ -1642,7 +1640,7 @@ _efl_ui_widget_resize_object_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eo *sobj) elm_widget_sub_object_add(obj, sobj); evas_object_smart_member_add(sobj, obj); - _smart_reconfigure(sd); + _smart_reconfigure(obj, sd); } /* @@ -1666,7 +1664,7 @@ elm_widget_hover_object_set(Eo *obj, Evas_Object *sobj) if (sd->hover_obj) { _callbacks_add(sobj, obj); - _smart_reconfigure(sd); + _smart_reconfigure(obj, sd); } } @@ -5201,11 +5199,10 @@ elm_widget_show_region_set(Eo *obj, Eina_Rect sr, Eina_Bool forceshow) } } } - + child_obj = obj; do { parent_obj = sd->parent_obj; - child_obj = sd->obj; if ((!parent_obj) || (!_elm_widget_is(parent_obj))) break; sd = efl_data_scope_get(parent_obj, MY_CLASS); if (!sd) break; @@ -5219,6 +5216,7 @@ elm_widget_show_region_set(Eo *obj, Eina_Rect sr, Eina_Bool forceshow) if (sd->on_show_region) sd->on_show_region(sd->on_show_region_data, parent_obj, sr); + child_obj = parent_obj; } while (parent_obj); } @@ -5664,7 +5662,7 @@ _efl_ui_widget_bg_get(const Efl_Ui_Widget *obj) sd->bg = bg_obj; efl_canvas_group_member_add((Eo *)obj, sd->bg); evas_object_stack_below(sd->bg, sd->resize_obj); - _smart_reconfigure(sd); + _smart_reconfigure((Eo*)obj, sd); } return bg_obj; @@ -5796,7 +5794,7 @@ _efl_ui_property_bind_clean(Eo *obj EINA_UNUSED, } static void -_efl_ui_property_bind_get(Efl_Ui_Widget_Data *pd, Efl_Ui_Property_Bound *prop) +_efl_ui_property_bind_get(Eo *obj, Efl_Ui_Widget_Data *pd, Efl_Ui_Property_Bound *prop) { Eina_Value *value; Eina_Future *f; @@ -5807,7 +5805,7 @@ _efl_ui_property_bind_get(Efl_Ui_Widget_Data *pd, Efl_Ui_Property_Bound *prop) if (!pd->properties.model) return ; value = efl_model_property_get(pd->properties.model, prop->property); - target = prop->part ? efl_part(pd->obj, prop->part) : pd->obj; + target = prop->part ? efl_part(obj, prop->part) : obj; fprintf(stderr, "setting: %s for %s from %s\n", eina_value_to_string(value), prop->property, efl_debug_name_get(pd->properties.model)); @@ -5820,22 +5818,22 @@ _efl_ui_property_bind_get(Efl_Ui_Widget_Data *pd, Efl_Ui_Property_Bound *prop) if (prop->f) eina_future_cancel(prop->f); f = efl_model_property_set(pd->properties.model, prop->property, eina_value_error_new(err)); - prop->f = efl_future_then(pd->obj, f, .free = _efl_ui_property_bind_clean, .data = prop); + prop->f = efl_future_then(obj, f, .free = _efl_ui_property_bind_clean, .data = prop); } static void -_efl_ui_property_bind_set(Efl_Ui_Widget_Data *pd, Efl_Ui_Property_Bound *prop) +_efl_ui_property_bind_set(Eo *obj, Efl_Ui_Widget_Data *pd, Efl_Ui_Property_Bound *prop) { Eina_Value value; Eina_Future *f; Eo *target; - target = prop->part ? efl_part(pd->obj, prop->part) : pd->obj; + target = prop->part ? efl_part(obj, prop->part) : obj; value = efl_property_reflection_get(target, prop->key); if (prop->f) eina_future_cancel(prop->f); f = efl_model_property_set(pd->properties.model, prop->property, eina_value_dup(&value)); - prop->f = efl_future_then(pd->obj, f, .free = _efl_ui_property_bind_clean, .data = prop); + prop->f = efl_future_then(obj, f, .free = _efl_ui_property_bind_clean, .data = prop); eina_value_flush(&value); } @@ -5843,7 +5841,7 @@ static void _efl_ui_model_property_bind_changed(void *data, const Efl_Event *event) { Efl_Model_Property_Event *evt = event->info; - Efl_Ui_Widget_Data *pd = data; + ELM_WIDGET_DATA_GET(data, pd); Eina_Array_Iterator it; const char *prop; unsigned int i; @@ -5853,7 +5851,7 @@ _efl_ui_model_property_bind_changed(void *data, const Efl_Event *event) Efl_Ui_Property_Bound *lookup; lookup = eina_hash_find(pd->properties.model_lookup, prop); - if (lookup) _efl_ui_property_bind_get(pd, lookup); + if (lookup) _efl_ui_property_bind_get(data, pd, lookup); } } @@ -5861,7 +5859,7 @@ static void _efl_ui_view_property_bind_changed(void *data, const Efl_Event *event) { Efl_Ui_Property_Event *evt = event->info; - Efl_Ui_Widget_Data *pd = data; + ELM_WIDGET_DATA_GET(data, pd); Eina_Array_Iterator it; Eina_Stringshare *prop; unsigned int i; @@ -5871,19 +5869,19 @@ _efl_ui_view_property_bind_changed(void *data, const Efl_Event *event) Efl_Ui_Property_Bound *lookup; lookup = eina_hash_find(pd->properties.view_lookup, prop); - if (lookup) _efl_ui_property_bind_set(pd, lookup); + if (lookup) _efl_ui_property_bind_set(data, pd, lookup); } } static void -_efl_ui_widget_model_update(Efl_Ui_Widget_Data *pd) +_efl_ui_widget_model_update(Eo *obj, Efl_Ui_Widget_Data *pd) { Efl_Ui_Property_Bound *property; Eina_Iterator *it; it = eina_hash_iterator_data_new(pd->properties.model_lookup); EINA_ITERATOR_FOREACH(it, property) - _efl_ui_property_bind_get(pd, property); + _efl_ui_property_bind_get(obj, pd, property); eina_iterator_free(it); } @@ -5897,23 +5895,23 @@ EFL_CALLBACKS_ARRAY_DEFINE(efl_ui_widget_model_provider_callbacks, static void _efl_ui_widget_model_provider_model_change(void *data, const Efl_Event *event) { - Efl_Ui_Widget_Data *pd = data; + ELM_WIDGET_DATA_GET(data, pd); efl_replace(&pd->properties.model, efl_ui_view_model_get(pd->properties.provider)); - _efl_ui_widget_model_update(pd); + _efl_ui_widget_model_update(data, pd); - efl_event_callback_call(pd->obj, EFL_UI_VIEW_EVENT_MODEL_CHANGED, event->info); + efl_event_callback_call(data, EFL_UI_VIEW_EVENT_MODEL_CHANGED, event->info); } static void _efl_ui_widget_model_provider_invalidate(void *data, const Efl_Event *event EINA_UNUSED) { - Efl_Ui_Widget_Data *pd = data; + ELM_WIDGET_DATA_GET(data, pd); efl_event_callback_array_del(pd->properties.provider, efl_ui_widget_model_provider_callbacks(), - pd); + data); efl_replace(&pd->properties.provider, NULL); efl_replace(&pd->properties.model, NULL); } @@ -5932,7 +5930,7 @@ _efl_ui_widget_model_register(Eo *obj, Efl_Ui_Widget_Data *pd) if (!pd->properties.provider) return ; efl_event_callback_array_add(pd->properties.provider, efl_ui_widget_model_provider_callbacks(), - pd); + obj); efl_replace(&pd->properties.model, efl_ui_view_model_get(pd->properties.provider)); @@ -5948,9 +5946,9 @@ _efl_ui_widget_model_register(Eo *obj, Efl_Ui_Widget_Data *pd) if (!pd->properties.model_lookup) return ; efl_event_callback_add(pd->properties.model, EFL_MODEL_EVENT_PROPERTIES_CHANGED, - _efl_ui_model_property_bind_changed, pd); + _efl_ui_model_property_bind_changed, obj); efl_event_callback_add(obj, EFL_UI_PROPERTY_BIND_EVENT_PROPERTIES_CHANGED, - _efl_ui_view_property_bind_changed, pd); + _efl_ui_view_property_bind_changed, obj); pd->properties.registered = EINA_TRUE; } @@ -5961,15 +5959,15 @@ _efl_ui_widget_model_unregister(Eo *obj, Efl_Ui_Widget_Data *pd) { // Remove any existing handler that might exist for any reason efl_event_callback_del(pd->properties.model, EFL_MODEL_EVENT_PROPERTIES_CHANGED, - _efl_ui_model_property_bind_changed, pd); + _efl_ui_model_property_bind_changed, obj); efl_event_callback_del(obj, EFL_UI_PROPERTY_BIND_EVENT_PROPERTIES_CHANGED, - _efl_ui_view_property_bind_changed, pd); + _efl_ui_view_property_bind_changed, obj); pd->properties.registered = EINA_FALSE; } // Invalidate must be called before setting a new model and even if no model is registered if (pd->properties.provider) - _efl_ui_widget_model_provider_invalidate(pd, NULL); + _efl_ui_widget_model_provider_invalidate(obj, NULL); } static Eina_Error @@ -6001,7 +5999,7 @@ _efl_ui_property_bind(Eo *widget, Eo *target, Efl_Ui_Widget_Data *pd, eina_hash_direct_add(pd->properties.model_lookup, prop->property, prop); eina_hash_direct_add(pd->properties.view_lookup, prop->key, prop); - _efl_ui_property_bind_get(pd, prop); + _efl_ui_property_bind_get(widget, pd, prop); efl_event_callback_call(widget, EFL_UI_PROPERTY_BIND_EVENT_PROPERTY_BOUND, (void*) prop->key); // In case of part, we emit it also on the part so that the part too can act on it @@ -6040,7 +6038,7 @@ _efl_ui_widget_efl_ui_view_model_set(Eo *obj, if (ev.current == pd->properties.model) efl_event_callback_call(obj, EFL_UI_VIEW_EVENT_MODEL_CHANGED, &ev); - if (pd->properties.model) _efl_ui_widget_model_update(pd); + if (pd->properties.model) _efl_ui_widget_model_update(obj, pd); efl_unref(ev.current); efl_unref(ev.previous); diff --git a/src/lib/elementary/elm_map.c b/src/lib/elementary/elm_map.c index 995197ba7a..49ac3a2f28 100644 --- a/src/lib/elementary/elm_map.c +++ b/src/lib/elementary/elm_map.c @@ -3192,18 +3192,18 @@ _name_list_cb(void *data, sd->src_name->name_list_parse_cb(name_list); INF("Name List request success address"); if (name_list->cb) - name_list->cb(name_list->data, wd->obj, + name_list->cb(name_list->data, sd->obj, name_list->names); efl_event_callback_legacy_call - (wd->obj, ELM_MAP_EVENT_NAME_LOADED, NULL); + (sd->obj, ELM_MAP_EVENT_NAME_LOADED, NULL); } else { ERR("Name List request failed: %d", status); if (name_list->cb) - name_list->cb(name_list->data, wd->obj, NULL); + name_list->cb(name_list->data, sd->obj, NULL); efl_event_callback_legacy_call - (wd->obj, ELM_MAP_EVENT_NAME_LOADED_FAIL, NULL); + (sd->obj, ELM_MAP_EVENT_NAME_LOADED_FAIL, NULL); } edje_object_signal_emit(wd->resize_obj, @@ -3306,7 +3306,7 @@ _name_list_request(const Evas_Object *obj, fname = _prepare_download(); url = sd->src_name->url_cb - (wd->obj, method, address, lon, lat); + (obj, method, address, lon, lat); if (!url) { ERR("Name URL is NULL"); @@ -3335,7 +3335,7 @@ _name_list_request(const Evas_Object *obj, free(fname); efl_event_callback_legacy_call - (wd->obj, ELM_MAP_EVENT_NAME_LOAD, name_list->names); + ((Eo*)obj, ELM_MAP_EVENT_NAME_LOAD, name_list->names); edje_object_signal_emit(wd->resize_obj, "elm,state,busy,start", "elm"); return name_list->names; diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c index 551b9830b3..7da2e551bd 100644 --- a/src/lib/elementary/elm_menu.c +++ b/src/lib/elementary/elm_menu.c @@ -395,7 +395,7 @@ _parent_del_cb(void *data, ELM_WIDGET_DATA_GET_OR_RETURN(data, wd); evas_object_event_callback_del_full - (obj, EVAS_CALLBACK_RESIZE, _parent_resize_cb, wd->obj); + (obj, EVAS_CALLBACK_RESIZE, _parent_resize_cb, data); sd->parent = NULL; } diff --git a/src/lib/elementary/elm_prefs.c b/src/lib/elementary/elm_prefs.c index 32e684edc2..e1b1074d19 100644 --- a/src/lib/elementary/elm_prefs.c +++ b/src/lib/elementary/elm_prefs.c @@ -139,7 +139,7 @@ _elm_prefs_save(void *data) elm_prefs_data_save(sd->prefs_data, NULL, NULL); efl_event_callback_legacy_call - (wd->obj, ELM_PREFS_EVENT_PAGE_SAVED, (char *)sd->root->name); + (data, ELM_PREFS_EVENT_PAGE_SAVED, (char *)sd->root->name); } sd->dirty = EINA_FALSE; @@ -303,7 +303,7 @@ _elm_prefs_item_changed_report(Eo *obj, snprintf(buf, sizeof(buf), "%s:%s", it->page->name, it->name); efl_event_callback_legacy_call - (wd->obj, ELM_PREFS_EVENT_ITEM_CHANGED, buf); + (obj, ELM_PREFS_EVENT_ITEM_CHANGED, buf); } static Elm_Prefs_Item_Node * @@ -403,7 +403,7 @@ _prefs_data_autosaved_cb(void *cb_data, ELM_WIDGET_DATA_GET_OR_RETURN(cb_data, wd); efl_event_callback_legacy_call - (wd->obj, ELM_PREFS_EVENT_PAGE_SAVED, event_info); + (cb_data, ELM_PREFS_EVENT_PAGE_SAVED, event_info); sd->dirty = EINA_FALSE; } @@ -533,7 +533,7 @@ _item_changed_cb(Evas_Object *it_obj) if (it->type == ELM_PREFS_TYPE_ACTION) { efl_event_callback_legacy_call - (wd->obj, ELM_PREFS_EVENT_ACTION, buf); + (it->prefs, ELM_PREFS_EVENT_ACTION, buf); return; } diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h index 7a95d0b03b..6350c882bf 100644 --- a/src/lib/elementary/elm_widget.h +++ b/src/lib/elementary/elm_widget.h @@ -321,7 +321,6 @@ typedef void (*Elm_Access_On_Highlight_Cb)(void *data); */ typedef struct _Elm_Widget_Smart_Data { - Evas_Object *obj; /**< object pointer for this widget smart data */ Evas_Object *parent_obj; /**< parent object of a widget in the elementary tree */ Eina_List *subobjs; /**< list of widgets' sub objects in the elementary tree */ Evas_Object *resize_obj; /**< an unique object for each widget that shows the look of a widget. Resize object's geometry is same as the widget. This resize object is different from that of window's resize object. */