[genlist] apply r71140 with local enhancement
[framework/uifw/elementary.git] / src / lib / elm_radio.c
index 3a3617d..0f6c0f6 100644 (file)
@@ -117,7 +117,7 @@ _theme_hook(Evas_Object *obj)
      edje_object_signal_emit(wd->radio, "elm,state,text,visible", "elm");
    else
      edje_object_signal_emit(wd->radio, "elm,state,text,hidden", "elm");
-   edje_object_part_text_set(wd->radio, "elm.text", wd->label);
+   edje_object_part_text_escaped_set(wd->radio, "elm.text", wd->label);
    if (elm_widget_disabled_get(obj))
      {
         edje_object_signal_emit(wd->radio, "elm,state,disabled", "elm");
@@ -263,7 +263,7 @@ _elm_radio_label_set(Evas_Object *obj, const char *item, const char *label)
         edje_object_signal_emit(wd->radio, "elm,state,text,hidden", "elm");
         edje_object_message_signal_process(wd->radio);
      }
-   edje_object_part_text_set(wd->radio, "elm.text", label);
+   edje_object_part_text_escaped_set(wd->radio, "elm.text", label);
    _sizing_eval(obj);
 }
 
@@ -304,7 +304,7 @@ _content_set_hook(Evas_Object *obj, const char *part, Evas_Object *content)
    ELM_CHECK_WIDTYPE(obj, widtype);
    Widget_Data *wd;
 
-   if (!part || strcmp(part, "icon")) return;
+   if (part && strcmp(part, "icon")) return;
    wd = elm_widget_data_get(obj);
    if (!wd) return;
    if (wd->icon == content) return;
@@ -329,7 +329,7 @@ _content_get_hook(const Evas_Object *obj, const char *part)
    ELM_CHECK_WIDTYPE(obj, widtype) NULL;
    Widget_Data *wd;
 
-   if (!part || strcmp(part, "icon")) return NULL;
+   if (part && strcmp(part, "icon")) return NULL;
    wd = elm_widget_data_get(obj);
    if (!wd) return NULL;
    return wd->icon;
@@ -341,7 +341,7 @@ _content_unset_hook(Evas_Object *obj, const char *part)
    ELM_CHECK_WIDTYPE(obj, widtype) NULL;
    Widget_Data *wd;
    Evas_Object *icon;
-   if (!part || strcmp(part, "icon")) return NULL;
+   if (part && strcmp(part, "icon")) return NULL;
    wd = elm_widget_data_get(obj);
    if (!wd) return NULL;
    if (!wd->icon) return NULL;
@@ -411,36 +411,6 @@ elm_radio_add(Evas_Object *parent)
 }
 
 EAPI void
-elm_radio_label_set(Evas_Object *obj, const char *label)
-{
-   _elm_radio_label_set(obj, NULL, label);
-}
-
-EAPI const char *
-elm_radio_label_get(const Evas_Object *obj)
-{
-   return _elm_radio_label_get(obj, NULL);
-}
-
-EAPI void
-elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon)
-{
-   _content_set_hook(obj, "icon", icon);
-}
-
-EAPI Evas_Object *
-elm_radio_icon_get(const Evas_Object *obj)
-{
-   return _content_get_hook(obj, "icon");
-}
-
-EAPI Evas_Object *
-elm_radio_icon_unset(Evas_Object *obj)
-{
-   return _content_unset_hook(obj, "icon");
-}
-
-EAPI void
 elm_radio_group_add(Evas_Object *obj, Evas_Object *group)
 {
    ELM_CHECK_WIDTYPE(obj, widtype);
@@ -528,3 +498,23 @@ elm_radio_value_pointer_set(Evas_Object *obj, int *valuep)
         wd->group->valuep = NULL;
      }
 }
+
+EAPI Evas_Object *
+elm_radio_selected_object_get(Evas_Object *obj)
+{
+   Eina_List *l;
+   Evas_Object *child;
+   Widget_Data *wd2;
+
+   ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+   Widget_Data *wd = elm_widget_data_get(obj);
+   if (!wd) return NULL;
+
+   EINA_LIST_FOREACH(wd->group->radios, l, child)
+     {
+        wd2  = elm_widget_data_get(child);
+        if (wd2->value == wd->group->value)
+           return child;
+     }
+   return NULL;
+}