ami pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=b9c912f7213dc4026e41d3f99e2f4a5fc78269db

commit b9c912f7213dc4026e41d3f99e2f4a5fc78269db
Author: Amitesh Singh <amitesh...@samsung.com>
Date:   Thu Mar 3 11:58:21 2016 +0530

    radio: inherit from elm check
    
    Summary: Radio inherits from Check now and remove the duplicate codes
    
    Reviewers: yashu21985, cedric, tasn, raster
    
    Reviewed By: raster
    
    Subscribers: seoz
    
    Differential Revision: https://phab.enlightenment.org/D3747
---
 src/lib/elm_radio.c  | 109 +++++++++------------------------------------------
 src/lib/elm_radio.eo |   8 +---
 2 files changed, 20 insertions(+), 97 deletions(-)

diff --git a/src/lib/elm_radio.c b/src/lib/elm_radio.c
index 4c6f5fa..3d40990 100644
--- a/src/lib/elm_radio.c
+++ b/src/lib/elm_radio.c
@@ -16,12 +16,6 @@
 #define MY_CLASS_NAME "Elm_Radio"
 #define MY_CLASS_NAME_LEGACY "elm_radio"
 
-static const Elm_Layout_Part_Alias_Description _content_aliases[] =
-{
-   {"icon", "elm.swallow.content"},
-   {NULL, NULL}
-};
-
 static const Elm_Layout_Part_Alias_Description _text_aliases[] =
 {
    {"default", "elm.text"},
@@ -129,56 +123,6 @@ _activate(Evas_Object *obj)
      }
 }
 
-/* FIXME: replicated from elm_layout just because radio's icon spot
- * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we
- * can changed the theme API */
-static void
-_icon_signal_emit(Evas_Object *obj)
-{
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
-   char buf[64];
-
-   snprintf(buf, sizeof(buf), "elm,state,icon,%s",
-            elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
-
-   elm_layout_signal_emit(obj, buf, "elm");
-   edje_object_message_signal_process(wd->resize_obj);
-}
-
-/* FIXME: replicated from elm_layout just because radio's icon spot
- * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we
- * can changed the theme API */
-EOLIAN static Eina_Bool
-_elm_radio_elm_widget_sub_object_del(Eo *obj, Elm_Radio_Data *_pd EINA_UNUSED, 
Evas_Object *sobj)
-{
-   Eina_Bool int_ret = EINA_FALSE;
-   eo_do_super(obj, MY_CLASS, int_ret = elm_obj_widget_sub_object_del(sobj));
-   if (!int_ret) return EINA_FALSE;
-
-   _icon_signal_emit(obj);
-
-   eo_do(obj, elm_obj_layout_sizing_eval());
-
-   return EINA_TRUE;
-}
-
-/* FIXME: replicated from elm_layout just because radio's icon spot
- * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we
- * can changed the theme API */
-EOLIAN static Eina_Bool
-_elm_radio_elm_container_content_set(Eo *obj, Elm_Radio_Data *_pd EINA_UNUSED, 
const char *part, Evas_Object *content)
-{
-   Eina_Bool int_ret = EINA_FALSE;
-   eo_do_super(obj, MY_CLASS, int_ret = elm_obj_container_content_set(part, 
content));
-   if (!int_ret) return EINA_FALSE;
-
-   _icon_signal_emit(obj);
-
-   eo_do(obj, elm_obj_layout_sizing_eval());
-
-   return EINA_TRUE;
-}
-
 static Eina_Bool
 _key_action_activate(Evas_Object *obj, const char *params EINA_UNUSED)
 {
@@ -202,12 +146,28 @@ _elm_radio_elm_widget_event(Eo *obj, Elm_Radio_Data *_pd 
EINA_UNUSED, Evas_Objec
    return EINA_TRUE;
 }
 
+/* FIXME: replicated from elm_layout just because radio's icon spot
+ * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we
+ * can changed the theme API */
+static void
+_icon_signal_emit(Evas_Object *obj)
+{
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+   char buf[64];
+
+   snprintf(buf, sizeof(buf), "elm,state,icon,%s",
+            elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
+
+   elm_layout_signal_emit(obj, buf, "elm");
+   edje_object_message_signal_process(wd->resize_obj);
+}
+
 EOLIAN static Eina_Bool
 _elm_radio_elm_widget_theme_apply(Eo *obj, Elm_Radio_Data *sd)
 {
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
    Eina_Bool int_ret = EINA_FALSE;
-   eo_do_super(obj, MY_CLASS, int_ret = elm_obj_widget_theme_apply());
+   eo_do_super(obj, ELM_CHECK_CLASS, int_ret = elm_obj_widget_theme_apply());
    if (!int_ret) return EINA_FALSE;
 
    if (sd->state) elm_layout_signal_emit(obj, "elm,state,radio,on", "elm");
@@ -227,19 +187,6 @@ _elm_radio_elm_widget_theme_apply(Eo *obj, Elm_Radio_Data 
*sd)
    return EINA_TRUE;
 }
 
-EOLIAN static void
-_elm_radio_elm_layout_sizing_eval(Eo *obj, Elm_Radio_Data *_pd EINA_UNUSED)
-{
-   Evas_Coord minw = -1, minh = -1;
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
-
-   elm_coords_finger_size_adjust(1, &minw, 1, &minh);
-   edje_object_size_min_restricted_calc
-     (wd->resize_obj, &minw, &minh, minw, minh);
-   evas_object_size_hint_min_set(obj, minw, minh);
-   evas_object_size_hint_max_set(obj, -1, -1);
-}
-
 static void
 _radio_on_cb(void *data,
              Evas_Object *obj EINA_UNUSED,
@@ -276,7 +223,7 @@ _elm_radio_evas_object_smart_add(Eo *obj, Elm_Radio_Data 
*priv)
 {
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
 
-   eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
+   eo_do_super(obj, ELM_CHECK_CLASS, evas_obj_smart_add());
    elm_widget_sub_object_parent_add(obj);
 
    if (!elm_layout_theme_set(obj, "radio", "base", elm_widget_style_get(obj)))
@@ -307,7 +254,7 @@ _elm_radio_evas_object_smart_del(Eo *obj, Elm_Radio_Data 
*sd)
    sd->group->radios = eina_list_remove(sd->group->radios, obj);
    if (!sd->group->radios) free(sd->group);
 
-   eo_do_super(obj, MY_CLASS, evas_obj_smart_del());
+   eo_do_super(obj, ELM_CHECK_CLASS, evas_obj_smart_del());
 }
 
 EOLIAN static const Elm_Layout_Part_Alias_Description*
@@ -316,12 +263,6 @@ _elm_radio_elm_layout_text_aliases_get(Eo *obj 
EINA_UNUSED, Elm_Radio_Data *_pd
    return _text_aliases;
 }
 
-EOLIAN static const Elm_Layout_Part_Alias_Description*
-_elm_radio_elm_layout_content_aliases_get(Eo *obj EINA_UNUSED, Elm_Radio_Data 
*_pd EINA_UNUSED)
-{
-   return _content_aliases;
-}
-
 EAPI Evas_Object *
 elm_radio_add(Evas_Object *parent)
 {
@@ -428,18 +369,6 @@ _elm_radio_selected_object_get(Eo *obj EINA_UNUSED, 
Elm_Radio_Data *sd)
 }
 
 EOLIAN static Eina_Bool
-_elm_radio_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, 
Elm_Radio_Data *_pd EINA_UNUSED)
-{
-   return EINA_FALSE;
-}
-
-EOLIAN static Eina_Bool
-_elm_radio_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, 
Elm_Radio_Data *_pd EINA_UNUSED)
-{
-   return EINA_FALSE;
-}
-
-EOLIAN static Eina_Bool
 _elm_radio_elm_widget_activate(Eo *obj, Elm_Radio_Data *_pd EINA_UNUSED, 
Elm_Activate act)
 {
    if (elm_widget_disabled_get(obj)) return EINA_FALSE;
diff --git a/src/lib/elm_radio.eo b/src/lib/elm_radio.eo
index fe43968..64c6527 100644
--- a/src/lib/elm_radio.eo
+++ b/src/lib/elm_radio.eo
@@ -1,4 +1,4 @@
-class Elm.Radio (Elm.Layout, Elm.Interface_Atspi_Widget_Action)
+class Elm.Radio (Elm.Check, Elm.Interface_Atspi_Widget_Action)
 {
    eo_prefix: elm_obj_radio;
    methods {
@@ -80,14 +80,8 @@ class Elm.Radio (Elm.Layout, 
Elm.Interface_Atspi_Widget_Action)
       Evas.Object_Smart.del;
       Elm.Widget.theme_apply;
       Elm.Widget.activate;
-      Elm.Widget.focus_next_manager_is;
-      Elm.Widget.focus_direction_manager_is;
-      Elm.Widget.sub_object_del;
       Elm.Widget.event;
-      Elm.Container.content_set;
       Elm.Layout.text_aliases.get;
-      Elm.Layout.content_aliases.get;
-      Elm.Layout.sizing_eval;
       Elm.Interface_Atspi_Accessible.state_set.get;
       Elm.Interface_Atspi_Widget_Action.elm_actions.get;
    }

-- 


Reply via email to