From 998c8cc30371f752e77d625ec1ce068170fd55dc Mon Sep 17 00:00:00 2001 From: Prince Kumar Dubey Date: Fri, 9 Jul 2010 16:19:40 +0530 Subject: [PATCH] [SegmentControl] Clean up. --- src/lib/elm_segment_control.c | 61 +++++++------------------------------------ 1 file changed, 10 insertions(+), 51 deletions(-) diff --git a/src/lib/elm_segment_control.c b/src/lib/elm_segment_control.c index a3358b7..f9d131d 100755 --- a/src/lib/elm_segment_control.c +++ b/src/lib/elm_segment_control.c @@ -41,7 +41,6 @@ struct _Elm_Segment_Item int segment_id; }; -static void _sizing_eval(Evas_Object *obj); static void _signal_segment_on(void *data, Evas_Object *obj, const char *emission, const char *source); static void _theme_hook(Evas_Object *obj); static void _item_free(Evas_Object *obj, Elm_Segment_Item *it); @@ -51,7 +50,6 @@ static Elm_Segment_Item * _item_find(Evas_Object *obj, unsigned int index); static void _update_list(Evas_Object *obj); static void _refresh_segment_ids(Evas_Object *obj); static void _state_value_set(Evas_Object *obj); -static void _queue_list(Evas_Object *obj); static Elm_Segment_Item* _item_new(Evas_Object *obj, const char *label, Evas_Object *icon); static Elm_Segment_Item *_item_find(Evas_Object *obj, unsigned int index); @@ -69,14 +67,14 @@ _on_focus_hook(void *data, Evas_Object *obj) if (elm_widget_focus_get(obj)) { - edje_object_signal_emit(wd->seg_ctrl, "elm,action,focus", "elm"); - evas_object_focus_set(wd->seg_ctrl, 1); + edje_object_signal_emit((Evas_Object *)wd->seg_ctrl, "elm,action,focus", "elm"); + evas_object_focus_set((Evas_Object *)wd->seg_ctrl, 1); printf("\n _on_focus_hook :: elm,action,focus \n"); } else { - edje_object_signal_emit(wd->seg_ctrl, "elm,action,unfocus", "elm"); - evas_object_focus_set(wd->seg_ctrl, 0); + edje_object_signal_emit((Evas_Object *)wd->seg_ctrl, "elm,action,unfocus", "elm"); + evas_object_focus_set((Evas_Object *)wd->seg_ctrl, 0); EINA_LIST_FOREACH(wd->seg_ctrl, l, it) { if (it->segment_id == wd->cur_seg_id) { @@ -107,7 +105,6 @@ _signal_segment_on(void *data, Evas_Object *obj, const char *emission, const cha wd->cur_seg_id = item->segment_id; return; } - int i = 0; EINA_LIST_FOREACH(wd->seg_ctrl, l, it) { if (it->segment_id == wd->cur_seg_id) { @@ -120,27 +117,9 @@ _signal_segment_on(void *data, Evas_Object *obj, const char *emission, const cha evas_object_smart_callback_call(item->obj, "changed", (void*)wd->cur_seg_id); } - -static void -_sizing_eval(Evas_Object *obj) -{ - Widget_Data *wd = elm_widget_data_get(obj); - Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; - if (!wd) return; - elm_coords_finger_size_adjust(1, &minw, 1, &minh); - elm_coords_finger_size_adjust(1, &minw, 1, &minh); - - evas_object_size_hint_weight_set(wd->base, 1.0, -1.0); - evas_object_size_hint_align_set(wd->base, 1.0, -1.0); - evas_object_size_hint_min_set(wd->base, -1, -1); - evas_object_size_hint_max_set(wd->base, maxw, maxh); - return; -} - static void _theme_hook(Evas_Object *obj) { - Widget_Data *wd = elm_widget_data_get(obj); _elm_theme_object_set(obj, obj, "segmented-control", "base", elm_widget_style_get(obj)); return; @@ -224,7 +203,6 @@ elm_segment_control_add(Evas_Object *parent) Evas_Object *obj; Evas *e; Widget_Data *wd; - Evas_Coord w = 0, h = 0; wd = ELM_NEW(Widget_Data); e = evas_object_evas_get(parent); @@ -250,6 +228,7 @@ elm_segment_control_add(Evas_Object *parent) wd->id = 0; wd->del_index = 0; wd->insert_index = 0; + wd->cur_seg_id = -1; return obj; } @@ -263,7 +242,6 @@ _item_new(Evas_Object *obj, const char *label, Evas_Object *icon) Elm_Segment_Item *it; it = calloc(1, sizeof( Elm_Segment_Item)); if (!it) return NULL; - Evas_Coord mw, mh; if(obj) it->obj = obj; it->delete_me = EINA_FALSE; @@ -351,11 +329,7 @@ static void _update_list(Evas_Object *obj) edje_object_part_swallow(it->base, "elm.swallow.content", it->icon); edje_object_signal_emit(it->base, "elm,state,icon,visible", "elm"); - if(wd->cur_seg_id == it->segment_id && elm_widget_focus_get(obj)) - { - edje_object_signal_emit(it->base, "elm,state,segment,on", "elm"); - edje_object_signal_emit(it->base, "elm,state,text,change", "elm"); - } + i++; } } @@ -396,7 +370,7 @@ static void _state_value_set(Evas_Object *obj) Elm_Segment_Item *it; Eina_List *l; - Evas_Coord w, h, mw, mh, x, y, xx, yy; + Evas_Coord mw, mh, x, y; int w1=0, w2; @@ -505,21 +479,6 @@ _animator_animate_del_cb(Evas_Object *obj) } } -static void _queue_list(Evas_Object *obj) -{ - Widget_Data *wd = elm_widget_data_get(obj); - if (!wd) return; - - Elm_Segment_Item *it; - Eina_List *l; - int i = 0; - EINA_LIST_FOREACH(wd->seg_ctrl, l, it) - { - i++; - } - wd->count = eina_list_count(wd->seg_ctrl); -} - /** * Add a new segment to segmentcontrol * @param obj The SegmentControl object @@ -535,14 +494,14 @@ EAPI Elm_Segment_Item * elm_segment_control_add_segment(Evas_Object *obj, Evas_Object *icon, const char *label, Eina_Bool animate) { Widget_Data *wd = elm_widget_data_get(obj); - if(!wd) return; + if(!wd) return NULL; Evas_Object *seg; Elm_Segment_Item *it; it = _item_new(obj, label, icon); if(!it) - return; + return NULL; wd->seg_ctrl = eina_list_append(wd->seg_ctrl, it); wd->id = eina_list_count(wd->seg_ctrl); @@ -888,5 +847,5 @@ elm_segment_control_set_size(Evas_Object *obj, int width, int height) wd->item_width = wd->width = width*wd->scale_factor; wd->height = height*wd->scale_factor; - return; + return 0; } -- 2.7.4