resolve missing return statement
[framework/uifw/elementary.git] / src / lib / elm_map.c
index 26cea4c..6b14a2d 100644 (file)
@@ -295,6 +295,8 @@ static const char SIG_NAME_LOADED[] = "name,loaded";
 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, ""},
@@ -320,6 +322,7 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
    {SIG_NAME_LOADED_FAIL, ""},
    {SIG_OVERLAY_CLICKED, ""},
    {SIG_OVERLAY_DEL, ""},
+   {SIG_LANG_CHANGED, ""},
    {NULL, NULL}
 };
 
@@ -337,6 +340,13 @@ ELM_INTERNAL_SMART_SUBCLASS_NEW
   (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,
@@ -4493,6 +4503,15 @@ _elm_map_smart_del(Evas_Object *obj)
 }
 
 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)
@@ -4545,6 +4564,8 @@ _elm_map_smart_set_user(Elm_Map_Smart_Class *sc)
 {
    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;
@@ -4552,6 +4573,7 @@ _elm_map_smart_set_user(Elm_Map_Smart_Class *sc)
    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