diff options
Diffstat (limited to 'src/view.c')
-rwxr-xr-x | src/view.c | 62 |
1 files changed, 51 insertions, 11 deletions
@@ -48,7 +48,7 @@ static struct view_info { Evas_Object *edit_button; Evas_Object *edit_ctxpopup; Evas_Object *delete_button; - + Evas_Object *circle_genlist; } s_info = { .win = NULL, .conform = NULL, @@ -64,6 +64,7 @@ static struct view_info { .edit_button = NULL, .edit_ctxpopup = NULL, .delete_button = NULL, + .circle_genlist = NULL, }; static Elm_Genlist_Item_Class *_set_genlist_item_class(const char *style); @@ -75,13 +76,25 @@ static void _popup_hide_cb(void *data, Evas_Object *obj, void *event_info); static void _block_clicked_cb(void *data, Evas_Object *obj, void *event_info); static void go_to_normal_mode_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED); //static void _timeout_cb(void *data, Evas_Object *obj, void *event_info); - +mode_type f = EDIT_MODE; Evas_Object *view_get_timepicker(void) { _ALM_ENTER_; return s_info.datetime; } +Evas_Object *view_get_circle_genlist(void) +{ + _ALM_ENTER_; + return s_info.circle_genlist; +} + +void view_set_circle_genlist(Evas_Object *circle_genlist) +{ + _ALM_ENTER_; + s_info.circle_genlist = circle_genlist; +} + void view_free_s_info() { _ALM_ENTER_; @@ -733,6 +746,17 @@ void view_set_text(Evas_Object *parent, const char *part_name, const char *text) * @param[parent]: Object to which you want to set naviframe * @Add callback function will be operated when back key is pressed. */ +static void +eext_naviframe_back_cb1(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + _ALM_ENTER_; + ALM_INFO(" Circular genlist active "); + Evas_Object *circle_genlist = NULL; + circle_genlist = view_get_circle_genlist(); + eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE); + elm_naviframe_item_pop(obj); + +} Evas_Object *view_create_naviframe(Evas_Object *parent) { _ALM_ENTER_; @@ -753,7 +777,7 @@ Evas_Object *view_create_naviframe(Evas_Object *parent) nf = elm_naviframe_add(parent); elm_object_part_content_set(parent, "elm.swallow.content", nf); - eext_object_event_callback_add(nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL); + eext_object_event_callback_add(nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb1, NULL); eext_object_event_callback_add(nf, EEXT_CALLBACK_MORE, eext_naviframe_more_cb, NULL); evas_object_show(nf); @@ -974,7 +998,7 @@ void go_to_normal() eext_object_event_callback_del(layout, EEXT_CALLBACK_BACK, go_to_normal_mode_cb); Evas_Object *nf = NULL; nf = view_get_naviframe(); - eext_object_event_callback_add(nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL); + eext_object_event_callback_add(nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb1, NULL); } static void go_to_normal_mode_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) @@ -1010,7 +1034,7 @@ static void go_to_normal_mode_cb(void *data EINA_UNUSED, Evas_Object *obj, void eext_object_event_callback_del(obj, EEXT_CALLBACK_BACK, go_to_normal_mode_cb); Evas_Object *nf = NULL; nf = view_get_naviframe(); - eext_object_event_callback_add(nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL); + eext_object_event_callback_add(nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb1, NULL); //view_send_signal_to_edje(obj, "genlist.show", "alarm"); } @@ -1041,7 +1065,7 @@ static void _gl_longpress_cb(void *data, Evas_Object *obj, void *event_info) _ALM_ENTER_; Evas_Object *nf = NULL; nf = view_get_naviframe(); - eext_object_event_callback_del(nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb); + eext_object_event_callback_del(nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb1); ALM_ERR("_gl_longpress_cb"); Elm_Object_Item *it = (Elm_Object_Item *)event_info; @@ -1157,7 +1181,12 @@ Evas_Object *view_create_circle_genlist(Evas_Object *parent) circle_genlist = eext_circle_object_genlist_add(genlist, s_info.circle_surface); eext_circle_object_genlist_scroller_policy_set(circle_genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE); - + view_set_circle_genlist(circle_genlist); +#if 0 + circle_genlist = view_get_circle_genlist(); + eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE); + //evas_object_show(circle_genlist); +#endif evas_object_show(genlist); return genlist; @@ -1299,6 +1328,7 @@ Evas_Object *view_set_button(Evas_Object *parent, const char *part_name, const c void view_create_text_popup(Evas_Object *parent, double timeout, const char *text, int id , mode_type e) { _ALM_ENTER_; + ALM_INFO("view_create_text_popup mode_type e is %d ", e); Evas_Object *popup = NULL; Evas_Object *nf = view_get_naviframe(); int e_m = view_get_is_select_mode(); @@ -1320,8 +1350,8 @@ void view_create_text_popup(Evas_Object *parent, double timeout, const char *tex elm_image_file_set(img, file_path, NULL); elm_object_part_content_set(popup, "toast,icon", img); } - - evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL); + f = e; + evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, &f); if (!e_m) { if (e != NO_CALLBACK_MODE) { if (e != EDIT_MODE) @@ -1605,6 +1635,16 @@ static void _block_clicked_cb(void *data, Evas_Object *obj, void *event_info) _ALM_ENTER_; if (!obj) return; elm_popup_dismiss(obj); + mode_type e = *((mode_type *)data); + if (e == EDIT_MODE) + ALM_INFO("edit mode"); + else if (e == NORMAL_MODE) + ALM_INFO("normal mode"); + ALM_INFO(" _block_clicked_cbmode type e is %d", e); + update_genlist(e, 0); + Evas_Object *nf = NULL; + nf = view_get_naviframe(); + eext_object_event_callback_add(nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb1, NULL); } void _timeout_del_cb(void *data, Evas_Object *obj, void *event_info) @@ -1614,7 +1654,7 @@ void _timeout_del_cb(void *data, Evas_Object *obj, void *event_info) int last_alarm_id = (int)data; ALM_INFO(" _timeout_del_cb last_alarm_id temp %ld ", last_alarm_id); elm_popup_dismiss(obj); - update_genlist(last_alarm_id , 1, 0); + update_genlist(EDIT_MODE, 0); } void _timeout_cb(void *data, Evas_Object *obj, void *event_info) @@ -1624,7 +1664,7 @@ void _timeout_cb(void *data, Evas_Object *obj, void *event_info) int last_alarm_id = (int)data; ALM_INFO(" _timeout_cb last_alarm_id temp %ld ", last_alarm_id); elm_popup_dismiss(obj); - update_genlist(last_alarm_id , 0, 0); + update_genlist(NORMAL_MODE, 0); } /* |