static const char SIG_NAME_LOADED_FAIL[] = "name,loaded,fail";
static const char SIG_OVERLAY_CLICKED[] = "overlay,clicked";
static const char SIG_OVERLAY_DEL[] = "overlay,del";
+static const char SIG_LANG_CHANGED[] = "language,changed";
+
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CLICKED, ""},
{SIG_CLICKED_DOUBLE, ""},
{SIG_NAME_LOADED_FAIL, ""},
{SIG_OVERLAY_CLICKED, ""},
{SIG_OVERLAY_DEL, ""},
+ {SIG_LANG_CHANGED, ""},
{NULL, NULL}
};
(ELM_MAP_PAN_SMART_NAME, _elm_map_pan, Elm_Map_Pan_Smart_Class,
Elm_Pan_Smart_Class, elm_pan_smart_class_get, NULL);
+static Eina_Bool
+_elm_map_smart_translate(Evas_Object *obj)
+{
+ evas_object_smart_callback_call(obj, SIG_LANG_CHANGED, NULL);
+ return EINA_TRUE;
+}
+
static void
_edj_overlay_size_get(Elm_Map_Smart_Data *sd,
Evas_Coord *w,
}
static void
+_elm_map_smart_calculate(Evas_Object *obj)
+{
+ ELM_MAP_DATA_GET(obj, sd);
+
+ if (strcmp(sd->engine->name, INTERNAL_ENGINE_NAME))
+ _overlay_place(sd);
+}
+
+static void
_elm_map_smart_move(Evas_Object *obj,
Evas_Coord x,
Evas_Coord y)
{
ELM_WIDGET_CLASS(sc)->base.add = _elm_map_smart_add;
ELM_WIDGET_CLASS(sc)->base.del = _elm_map_smart_del;
+ ELM_WIDGET_CLASS(sc)->base.calculate = _elm_map_smart_calculate;
+
ELM_WIDGET_CLASS(sc)->base.move = _elm_map_smart_move;
ELM_WIDGET_CLASS(sc)->base.resize = _elm_map_smart_resize;
ELM_WIDGET_CLASS(sc)->base.member_add = _elm_map_smart_member_add;
ELM_WIDGET_CLASS(sc)->on_focus = _elm_map_smart_on_focus;
ELM_WIDGET_CLASS(sc)->theme = _elm_map_smart_theme;
ELM_WIDGET_CLASS(sc)->event = _elm_map_smart_event;
+ ELM_WIDGET_CLASS(sc)->translate = _elm_map_smart_translate;
}
#endif
}
else ERR("Not supported overlay type: %d", overlay->type);
- evas_object_smart_changed(overlay->wsd->pan_obj);
+ if (!strcmp(overlay->wsd->engine->name, INTERNAL_ENGINE_NAME))
+ evas_object_smart_changed(overlay->wsd->pan_obj);
+ else _overlay_place(overlay->wsd);
#else
(void)overlay;
(void)lon;