From 2dabdd7782437606b8ce17cd20c2b1615ac36bcd Mon Sep 17 00:00:00 2001 From: Seunggyun Kim Date: Tue, 7 Dec 2010 21:11:43 +0900 Subject: [PATCH] [elm_datefield.c] fix indentation --- src/lib/elm_datefield.c | 1709 +++++++++++++++++++++++------------------------ 1 file changed, 854 insertions(+), 855 deletions(-) diff --git a/src/lib/elm_datefield.c b/src/lib/elm_datefield.c index b88f207..e8e8b69 100644 --- a/src/lib/elm_datefield.c +++ b/src/lib/elm_datefield.c @@ -11,26 +11,26 @@ typedef struct _Widget_Data Widget_Data; enum { - DATE_YEAR, - DATE_MON, - DATE_DAY, - DATE_MAX + DATE_YEAR, + DATE_MON, + DATE_DAY, + DATE_MAX }; enum { - TIME_HOUR, - TIME_MIN, - TIME_MAX + TIME_HOUR, + TIME_MIN, + TIME_MAX }; enum { - DATE_FORMAT_YYMMDD, - DATE_FORMAT_YYDDMM, - DATE_FORMAT_MMYYDD, - DATE_FORMAT_MMDDYY, - DATE_FORMAT_DDYYMM, - DATE_FORMAT_DDMMYY, - DATE_FORMAT_MAX + DATE_FORMAT_YYMMDD, + DATE_FORMAT_YYDDMM, + DATE_FORMAT_MMYYDD, + DATE_FORMAT_MMDDYY, + DATE_FORMAT_DDYYMM, + DATE_FORMAT_DDMMYY, + DATE_FORMAT_MAX }; #define YEAR_MAX_LENGTH 4 @@ -47,23 +47,23 @@ static char month_label[12][4] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul struct _Widget_Data { - Evas_Object *base; - Evas_Object *date[DATE_MAX]; - Evas_Object *time[TIME_MAX]; - Ecore_Event_Handler *handler; - Ecore_Idler *idler; - int layout; - - int year, month, day, hour, min; - int y_max, m_max, d_max; - int y_min, m_min, d_min; - int date_format; - Eina_Bool pm:1; - Eina_Bool time_mode:1; - Eina_Bool editing:1; - - void (*func)(void *data, Evas_Object *obj, int value); - void *func_data; + Evas_Object *base; + Evas_Object *date[DATE_MAX]; + Evas_Object *time[TIME_MAX]; + Ecore_Event_Handler *handler; + Ecore_Idler *idler; + int layout; + + int year, month, day, hour, min; + int y_max, m_max, d_max; + int y_min, m_min, d_min; + int date_format; + Eina_Bool pm:1; + Eina_Bool time_mode:1; + Eina_Bool editing:1; + + void (*func)(void *data, Evas_Object *obj, int value); + void *func_data; }; static const char *widtype = NULL; @@ -94,645 +94,645 @@ static int _check_date_boundary(Evas_Object *obj, int num, int flag); static void _del_hook(Evas_Object *obj) { - Widget_Data *wd = elm_widget_data_get(obj); - if (!wd) return ; + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return ; - ecore_event_handler_del(wd->handler); - - free(wd); + ecore_event_handler_del(wd->handler); + + free(wd); } static void _on_focus_hook(void *data, Evas_Object *obj) { - Widget_Data *wd = elm_widget_data_get(obj); - if (!wd || !wd->base) return ; + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd || !wd->base) return ; - if (elm_widget_focus_get(obj)) wd->idler = ecore_idler_add(_focus_idler_cb, obj); + if (elm_widget_focus_get(obj)) wd->idler = ecore_idler_add(_focus_idler_cb, obj); } static void _theme_hook(Evas_Object *obj) { - Widget_Data *wd = elm_widget_data_get(obj); - int i; - if (!wd || !wd->base) return; - - if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME) - { - _elm_theme_object_set(obj, wd->base, "datefield", "dateandtime", elm_widget_style_get(obj)); - - for (i = 0; i < DATE_MAX; i++) - elm_object_style_set(wd->date[i], "datefield/hybrid"); - for (i = 0; i < TIME_MAX; i++) - elm_object_style_set(wd->time[i], "datefield/hybrid"); - } - else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE) - { - _elm_theme_object_set(obj, wd->base, "datefield", "date", elm_widget_style_get(obj)); - - for (i = 0; i < DATE_MAX; i++) - elm_object_style_set(wd->date[i], "datefield"); - - for (i = 0; i < TIME_MAX; i++) - evas_object_hide(wd->time[i]); - } - else if (wd->layout == ELM_DATEFIELD_LAYOUT_TIME) - { - _elm_theme_object_set(obj, wd->base, "datefield", "time", elm_widget_style_get(obj)); - - for (i = 0; i < TIME_MAX; i++) - elm_object_style_set(wd->time[i], "datefield"); - - for (i = 0; i < DATE_MAX; i++) - evas_object_hide(wd->date[i]); - } - - if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_DATE) - { - edje_object_part_swallow(wd->base, "elm.swallow.date.year", wd->date[DATE_YEAR]); - edje_object_part_swallow(wd->base, "elm.swallow.date.month", wd->date[DATE_MON]); - edje_object_part_swallow(wd->base, "elm.swallow.date.day", wd->date[DATE_DAY]); - edje_object_part_text_set(wd->base, "elm.text.date.comma", ","); - } - - if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_TIME) - { - edje_object_part_swallow(wd->base, "elm.swallow.time.hour", wd->time[TIME_HOUR]); - edje_object_part_swallow(wd->base, "elm.swallow.time.min", wd->time[TIME_MIN]); - edje_object_part_text_set(wd->base, "elm.text.colon", ":"); - } - - edje_object_scale_set(wd->base, elm_widget_scale_get(obj) * _elm_config->scale); - - _date_update(obj); - _sizing_eval(obj); + Widget_Data *wd = elm_widget_data_get(obj); + int i; + if (!wd || !wd->base) return; + + if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME) + { + _elm_theme_object_set(obj, wd->base, "datefield", "dateandtime", elm_widget_style_get(obj)); + + for (i = 0; i < DATE_MAX; i++) + elm_object_style_set(wd->date[i], "datefield/hybrid"); + for (i = 0; i < TIME_MAX; i++) + elm_object_style_set(wd->time[i], "datefield/hybrid"); + } + else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE) + { + _elm_theme_object_set(obj, wd->base, "datefield", "date", elm_widget_style_get(obj)); + + for (i = 0; i < DATE_MAX; i++) + elm_object_style_set(wd->date[i], "datefield"); + + for (i = 0; i < TIME_MAX; i++) + evas_object_hide(wd->time[i]); + } + else if (wd->layout == ELM_DATEFIELD_LAYOUT_TIME) + { + _elm_theme_object_set(obj, wd->base, "datefield", "time", elm_widget_style_get(obj)); + + for (i = 0; i < TIME_MAX; i++) + elm_object_style_set(wd->time[i], "datefield"); + + for (i = 0; i < DATE_MAX; i++) + evas_object_hide(wd->date[i]); + } + + if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_DATE) + { + edje_object_part_swallow(wd->base, "elm.swallow.date.year", wd->date[DATE_YEAR]); + edje_object_part_swallow(wd->base, "elm.swallow.date.month", wd->date[DATE_MON]); + edje_object_part_swallow(wd->base, "elm.swallow.date.day", wd->date[DATE_DAY]); + edje_object_part_text_set(wd->base, "elm.text.date.comma", ","); + } + + if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_TIME) + { + edje_object_part_swallow(wd->base, "elm.swallow.time.hour", wd->time[TIME_HOUR]); + edje_object_part_swallow(wd->base, "elm.swallow.time.min", wd->time[TIME_MIN]); + edje_object_part_text_set(wd->base, "elm.text.colon", ":"); + } + + edje_object_scale_set(wd->base, elm_widget_scale_get(obj) * _elm_config->scale); + + _date_update(obj); + _sizing_eval(obj); } static void _sizing_eval(Evas_Object *obj) { - Widget_Data *wd = elm_widget_data_get(obj); - Evas_Coord minw = -1, minh = -1; + Widget_Data *wd = elm_widget_data_get(obj); + Evas_Coord minw = -1, minh = -1; - edje_object_size_min_calc(wd->base, &minw, &minh); - evas_object_size_hint_min_set(obj, minw, minh); - evas_object_size_hint_max_set(obj, -1, -1); + edje_object_size_min_calc(wd->base, &minw, &minh); + evas_object_size_hint_min_set(obj, minw, minh); + evas_object_size_hint_max_set(obj, -1, -1); } static void _signal_ampm_mouse_down(void *data, Evas_Object *obj, const char *emission, const char *source) { - Widget_Data *wd = elm_widget_data_get(data); - Evas_Object *focus_obj; - - if (!wd || !wd->base) return ; + Widget_Data *wd = elm_widget_data_get(data); + Evas_Object *focus_obj; + + if (!wd || !wd->base) return ; - focus_obj = elm_widget_focused_object_get(data); - if (focus_obj) elm_object_unfocus(focus_obj); + focus_obj = elm_widget_focused_object_get(data); + if (focus_obj) elm_object_unfocus(focus_obj); } static void _signal_ampm_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - Widget_Data *wd = elm_widget_data_get(data); - if (!wd || !wd->base) return ; - - wd->pm = !wd->pm; - - if (wd->pm) - { - edje_object_part_text_set(wd->base, "elm.text.ampm", "PM"); - wd->hour += HOUR_12H_MAXIMUM; - } - else - { - edje_object_part_text_set(wd->base, "elm.text.ampm", "AM"); - wd->hour -= HOUR_12H_MAXIMUM; - } + Widget_Data *wd = elm_widget_data_get(data); + if (!wd || !wd->base) return ; + + wd->pm = !wd->pm; + + if (wd->pm) + { + edje_object_part_text_set(wd->base, "elm.text.ampm", "PM"); + wd->hour += HOUR_12H_MAXIMUM; + } + else + { + edje_object_part_text_set(wd->base, "elm.text.ampm", "AM"); + wd->hour -= HOUR_12H_MAXIMUM; + } } static void _signal_rect_mouse_down(void *data, Evas_Object *obj, const char *emission, const char *source) { - Widget_Data *wd = elm_widget_data_get(data); - if (!wd) return ; - - if (!strcmp(source, "elm.rect.date.year.over")) - elm_object_focus(wd->date[DATE_YEAR]); - else if (!strcmp(source, "elm.rect.date.month.over")) - elm_object_focus(wd->date[DATE_MON]); - else if (!strcmp(source, "elm.rect.date.day.over")) - elm_object_focus(wd->date[DATE_DAY]); - else if (!strcmp(source, "elm.rect.time.hour.over")) - elm_object_focus(wd->time[TIME_HOUR]); - else if (!strcmp(source, "elm.rect.time.min.over")) - elm_object_focus(wd->time[TIME_MIN]); - else if (!strcmp(source, "elm.rect.date.left.pad")) - { - switch (wd->date_format) - { - case DATE_FORMAT_YYDDMM: - case DATE_FORMAT_YYMMDD: - elm_object_focus(wd->date[DATE_YEAR]); - break; - case DATE_FORMAT_MMDDYY: - case DATE_FORMAT_MMYYDD: - elm_object_focus(wd->date[DATE_MON]); - break; - case DATE_FORMAT_DDMMYY: - case DATE_FORMAT_DDYYMM: - elm_object_focus(wd->date[DATE_DAY]); - } - } - else if (!strcmp(source, "elm.rect.date.right.pad")) - { - switch (wd->date_format) - { - case DATE_FORMAT_MMDDYY: - case DATE_FORMAT_DDMMYY: - elm_object_focus(wd->date[DATE_YEAR]); - break; - case DATE_FORMAT_DDYYMM: - case DATE_FORMAT_YYDDMM: - elm_object_focus(wd->date[DATE_MON]); - break; - case DATE_FORMAT_YYMMDD: - case DATE_FORMAT_MMYYDD: - elm_object_focus(wd->date[DATE_DAY]); - } - } + Widget_Data *wd = elm_widget_data_get(data); + if (!wd) return ; + + if (!strcmp(source, "elm.rect.date.year.over")) + elm_object_focus(wd->date[DATE_YEAR]); + else if (!strcmp(source, "elm.rect.date.month.over")) + elm_object_focus(wd->date[DATE_MON]); + else if (!strcmp(source, "elm.rect.date.day.over")) + elm_object_focus(wd->date[DATE_DAY]); + else if (!strcmp(source, "elm.rect.time.hour.over")) + elm_object_focus(wd->time[TIME_HOUR]); + else if (!strcmp(source, "elm.rect.time.min.over")) + elm_object_focus(wd->time[TIME_MIN]); + else if (!strcmp(source, "elm.rect.date.left.pad")) + { + switch (wd->date_format) + { + case DATE_FORMAT_YYDDMM: + case DATE_FORMAT_YYMMDD: + elm_object_focus(wd->date[DATE_YEAR]); + break; + case DATE_FORMAT_MMDDYY: + case DATE_FORMAT_MMYYDD: + elm_object_focus(wd->date[DATE_MON]); + break; + case DATE_FORMAT_DDMMYY: + case DATE_FORMAT_DDYYMM: + elm_object_focus(wd->date[DATE_DAY]); + } + } + else if (!strcmp(source, "elm.rect.date.right.pad")) + { + switch (wd->date_format) + { + case DATE_FORMAT_MMDDYY: + case DATE_FORMAT_DDMMYY: + elm_object_focus(wd->date[DATE_YEAR]); + break; + case DATE_FORMAT_DDYYMM: + case DATE_FORMAT_YYDDMM: + elm_object_focus(wd->date[DATE_MON]); + break; + case DATE_FORMAT_YYMMDD: + case DATE_FORMAT_MMYYDD: + elm_object_focus(wd->date[DATE_DAY]); + } + } } static Eina_Bool _focus_idler_cb(void *obj) { - Widget_Data *wd = elm_widget_data_get(obj); - Evas_Object *focus_obj; - - focus_obj = elm_widget_focused_object_get(obj); - if (focus_obj == obj) - { - if (wd->layout == ELM_DATEFIELD_LAYOUT_TIME) - elm_object_focus(wd->time[TIME_HOUR]); - - else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_DATE) - { - switch (wd->date_format) - { - case DATE_FORMAT_YYDDMM: - case DATE_FORMAT_YYMMDD: - elm_object_focus(wd->date[DATE_YEAR]); - break; - case DATE_FORMAT_MMDDYY: - case DATE_FORMAT_MMYYDD: - elm_object_focus(wd->date[DATE_MON]); - break; - case DATE_FORMAT_DDMMYY: - case DATE_FORMAT_DDYYMM: - elm_object_focus(wd->date[DATE_DAY]); - } - } - } - wd->idler = NULL; - return EINA_FALSE; + Widget_Data *wd = elm_widget_data_get(obj); + Evas_Object *focus_obj; + + focus_obj = elm_widget_focused_object_get(obj); + if (focus_obj == obj) + { + if (wd->layout == ELM_DATEFIELD_LAYOUT_TIME) + elm_object_focus(wd->time[TIME_HOUR]); + + else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_DATE) + { + switch (wd->date_format) + { + case DATE_FORMAT_YYDDMM: + case DATE_FORMAT_YYMMDD: + elm_object_focus(wd->date[DATE_YEAR]); + break; + case DATE_FORMAT_MMDDYY: + case DATE_FORMAT_MMYYDD: + elm_object_focus(wd->date[DATE_MON]); + break; + case DATE_FORMAT_DDMMYY: + case DATE_FORMAT_DDYYMM: + elm_object_focus(wd->date[DATE_DAY]); + } + } + } + wd->idler = NULL; + return EINA_FALSE; } static void _entry_focused_cb(void *data, Evas_Object *obj, void *event_info) { - Widget_Data *wd = elm_widget_data_get(data); - if (!wd || !wd->base) return; - - if (wd->idler) - { - ecore_idler_del(wd->idler); - wd->idler = NULL; - } - - if (obj == wd->date[DATE_YEAR]) - edje_object_signal_emit(wd->base, "elm,state,year,focus,in", "elm"); - else if (obj == wd->date[DATE_MON]) - edje_object_signal_emit(wd->base, "elm,state,month,focus,in", "elm"); - else if (obj == wd->date[DATE_DAY]) - edje_object_signal_emit(wd->base, "elm,state,day,focus,in", "elm"); - else if (obj == wd->time[TIME_HOUR]) - edje_object_signal_emit(wd->base, "elm,state,hour,focus,in", "elm"); - else if (obj == wd->time[TIME_MIN]) - edje_object_signal_emit(wd->base, "elm,state,min,focus,in", "elm"); + Widget_Data *wd = elm_widget_data_get(data); + if (!wd || !wd->base) return; + + if (wd->idler) + { + ecore_idler_del(wd->idler); + wd->idler = NULL; + } + + if (obj == wd->date[DATE_YEAR]) + edje_object_signal_emit(wd->base, "elm,state,year,focus,in", "elm"); + else if (obj == wd->date[DATE_MON]) + edje_object_signal_emit(wd->base, "elm,state,month,focus,in", "elm"); + else if (obj == wd->date[DATE_DAY]) + edje_object_signal_emit(wd->base, "elm,state,day,focus,in", "elm"); + else if (obj == wd->time[TIME_HOUR]) + edje_object_signal_emit(wd->base, "elm,state,hour,focus,in", "elm"); + else if (obj == wd->time[TIME_MIN]) + edje_object_signal_emit(wd->base, "elm,state,min,focus,in", "elm"); } static void _entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info) { - Widget_Data *wd = elm_widget_data_get(data); - char str[YEAR_MAX_LENGTH+1] = {0,}; - int num = 0; - - if (!wd || !wd->base) return; - wd->editing = FALSE; - - if (obj == wd->date[DATE_YEAR]) - { - if (strlen(elm_entry_entry_get(wd->date[DATE_YEAR]))) wd->year = atoi(elm_entry_entry_get(wd->date[DATE_YEAR])); - wd->year = _check_date_boundary(data, wd->year, DATE_YEAR); - sprintf(str, "%d", wd->year); - elm_entry_entry_set(wd->date[DATE_YEAR], str); - - //check month boundary - if(wd->month != (num = _check_date_boundary(data, wd->month, DATE_MON))) - { - wd->month = num; - elm_entry_entry_set(wd->date[DATE_MON], month_label[wd->month-1]); - } - //check day boundary - if (wd->day != (num = _check_date_boundary(data, wd->day, DATE_DAY))) - { - wd->day = num; - sprintf(str, "%d", wd->day); - elm_entry_entry_set(wd->date[DATE_DAY], str); - } - edje_object_signal_emit(wd->base, "elm,state,year,focus,out", "elm"); - } - else if (obj == wd->date[DATE_MON]) - { - if(wd->month != (num = _check_date_boundary(data, wd->month, DATE_MON))) - { - wd->month = num; - elm_entry_entry_set(wd->date[DATE_MON], month_label[wd->month-1]); - } - //check day boundary - if (wd->day != (num = _check_date_boundary(data, wd->day, DATE_DAY))) - { - wd->day = num; - sprintf(str, "%d", wd->day); - elm_entry_entry_set(wd->date[DATE_DAY], str); - } - edje_object_signal_emit(wd->base, "elm,state,month,focus,out", "elm"); - } - else if (obj == wd->date[DATE_DAY]) - { - if (strlen(elm_entry_entry_get(wd->date[DATE_DAY]))) wd->day = atoi(elm_entry_entry_get(wd->date[DATE_DAY])); - wd->day = _check_date_boundary(data, wd->day, DATE_DAY); - sprintf(str, "%d", wd->day); - elm_entry_entry_set(wd->date[DATE_DAY], str); - edje_object_signal_emit(wd->base, "elm,state,day,focus,out", "elm"); - } - else if (obj == wd->time[TIME_HOUR]) - { - if (strlen(elm_entry_entry_get(wd->time[TIME_HOUR]))) num = atoi(elm_entry_entry_get(wd->time[TIME_HOUR])); - else num = wd->hour; - - if (!wd->time_mode) // 24 mode - { - if (num > HOUR_24H_MAXIMUM) num = HOUR_24H_MAXIMUM; - wd->hour = num; - } - else // 12 mode - { - if (num > HOUR_24H_MAXIMUM || num == 0) - { - num = HOUR_12H_MAXIMUM; - wd->pm = EINA_FALSE; - } - else if (num > HOUR_12H_MAXIMUM) - { - num -= HOUR_12H_MAXIMUM; - wd->pm = EINA_TRUE; - } - wd->hour = (wd->pm == EINA_TRUE)? num + HOUR_12H_MAXIMUM : num; - if((wd->hour % 12) == 0) wd->hour -= HOUR_12H_MAXIMUM; - - if (wd->pm) edje_object_part_text_set(wd->base, "elm.text.ampm", "PM"); - else edje_object_part_text_set(wd->base, "elm.text.ampm", "AM"); - } - sprintf(str, "%02d", num); - elm_entry_entry_set(wd->time[TIME_HOUR], str); - edje_object_signal_emit(wd->base, "elm,state,hour,focus,out", "elm"); - } - else if (obj == wd->time[TIME_MIN]) - { - if (strlen(elm_entry_entry_get(wd->time[TIME_MIN]))) wd->min = atoi(elm_entry_entry_get(wd->time[TIME_MIN])); - if (wd->min > MIN_MAXIMUM) wd->min = MIN_MAXIMUM; - - sprintf(str, "%02d", wd->min); - elm_entry_entry_set(wd->time[TIME_MIN], str); - edje_object_signal_emit(wd->base, "elm,state,min,focus,out", "elm"); - } - evas_object_smart_callback_call(data, "changed", NULL); + Widget_Data *wd = elm_widget_data_get(data); + char str[YEAR_MAX_LENGTH+1] = {0,}; + int num = 0; + + if (!wd || !wd->base) return; + wd->editing = FALSE; + + if (obj == wd->date[DATE_YEAR]) + { + if (strlen(elm_entry_entry_get(wd->date[DATE_YEAR]))) wd->year = atoi(elm_entry_entry_get(wd->date[DATE_YEAR])); + wd->year = _check_date_boundary(data, wd->year, DATE_YEAR); + sprintf(str, "%d", wd->year); + elm_entry_entry_set(wd->date[DATE_YEAR], str); + + //check month boundary + if(wd->month != (num = _check_date_boundary(data, wd->month, DATE_MON))) + { + wd->month = num; + elm_entry_entry_set(wd->date[DATE_MON], month_label[wd->month-1]); + } + //check day boundary + if (wd->day != (num = _check_date_boundary(data, wd->day, DATE_DAY))) + { + wd->day = num; + sprintf(str, "%d", wd->day); + elm_entry_entry_set(wd->date[DATE_DAY], str); + } + edje_object_signal_emit(wd->base, "elm,state,year,focus,out", "elm"); + } + else if (obj == wd->date[DATE_MON]) + { + if(wd->month != (num = _check_date_boundary(data, wd->month, DATE_MON))) + { + wd->month = num; + elm_entry_entry_set(wd->date[DATE_MON], month_label[wd->month-1]); + } + //check day boundary + if (wd->day != (num = _check_date_boundary(data, wd->day, DATE_DAY))) + { + wd->day = num; + sprintf(str, "%d", wd->day); + elm_entry_entry_set(wd->date[DATE_DAY], str); + } + edje_object_signal_emit(wd->base, "elm,state,month,focus,out", "elm"); + } + else if (obj == wd->date[DATE_DAY]) + { + if (strlen(elm_entry_entry_get(wd->date[DATE_DAY]))) wd->day = atoi(elm_entry_entry_get(wd->date[DATE_DAY])); + wd->day = _check_date_boundary(data, wd->day, DATE_DAY); + sprintf(str, "%d", wd->day); + elm_entry_entry_set(wd->date[DATE_DAY], str); + edje_object_signal_emit(wd->base, "elm,state,day,focus,out", "elm"); + } + else if (obj == wd->time[TIME_HOUR]) + { + if (strlen(elm_entry_entry_get(wd->time[TIME_HOUR]))) num = atoi(elm_entry_entry_get(wd->time[TIME_HOUR])); + else num = wd->hour; + + if (!wd->time_mode) // 24 mode + { + if (num > HOUR_24H_MAXIMUM) num = HOUR_24H_MAXIMUM; + wd->hour = num; + } + else // 12 mode + { + if (num > HOUR_24H_MAXIMUM || num == 0) + { + num = HOUR_12H_MAXIMUM; + wd->pm = EINA_FALSE; + } + else if (num > HOUR_12H_MAXIMUM) + { + num -= HOUR_12H_MAXIMUM; + wd->pm = EINA_TRUE; + } + wd->hour = (wd->pm == EINA_TRUE)? num + HOUR_12H_MAXIMUM : num; + if((wd->hour % 12) == 0) wd->hour -= HOUR_12H_MAXIMUM; + + if (wd->pm) edje_object_part_text_set(wd->base, "elm.text.ampm", "PM"); + else edje_object_part_text_set(wd->base, "elm.text.ampm", "AM"); + } + sprintf(str, "%02d", num); + elm_entry_entry_set(wd->time[TIME_HOUR], str); + edje_object_signal_emit(wd->base, "elm,state,hour,focus,out", "elm"); + } + else if (obj == wd->time[TIME_MIN]) + { + if (strlen(elm_entry_entry_get(wd->time[TIME_MIN]))) wd->min = atoi(elm_entry_entry_get(wd->time[TIME_MIN])); + if (wd->min > MIN_MAXIMUM) wd->min = MIN_MAXIMUM; + + sprintf(str, "%02d", wd->min); + elm_entry_entry_set(wd->time[TIME_MIN], str); + edje_object_signal_emit(wd->base, "elm,state,min,focus,out", "elm"); + } + evas_object_smart_callback_call(data, "changed", NULL); } static void _entry_focus_move(Evas_Object *obj, Evas_Object *focus_obj) { - Widget_Data *wd = elm_widget_data_get(obj); - - if (!wd) return; - - if (focus_obj == wd->date[DATE_YEAR]) - { - switch (wd->date_format) - { - case DATE_FORMAT_DDMMYY: - case DATE_FORMAT_MMDDYY: - if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME) - elm_object_focus(wd->time[TIME_HOUR]); - else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE) - elm_object_unfocus(wd->date[DATE_YEAR]); - break; - case DATE_FORMAT_DDYYMM: - case DATE_FORMAT_YYMMDD: - elm_object_focus(wd->date[DATE_MON]); - break; - case DATE_FORMAT_MMYYDD: - case DATE_FORMAT_YYDDMM: - elm_object_focus(wd->date[DATE_DAY]); - } - } - else if (focus_obj == wd->date[DATE_MON]) - { - switch (wd->date_format) - { - case DATE_FORMAT_DDYYMM: - case DATE_FORMAT_YYDDMM: - if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME) - elm_object_focus(wd->time[TIME_HOUR]); - else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE) - elm_object_unfocus(wd->date[DATE_MON]); - break; - case DATE_FORMAT_DDMMYY: - case DATE_FORMAT_MMYYDD: - elm_object_focus(wd->date[DATE_YEAR]); - break; - case DATE_FORMAT_MMDDYY: - case DATE_FORMAT_YYMMDD: - elm_object_focus(wd->date[DATE_DAY]); - } - } - else if (focus_obj == wd->date[DATE_DAY]) - { - switch (wd->date_format) - { - case DATE_FORMAT_YYMMDD: - case DATE_FORMAT_MMYYDD: - if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME) - elm_object_focus(wd->time[TIME_HOUR]); - else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE) - elm_object_unfocus(wd->date[DATE_DAY]); - break; - case DATE_FORMAT_DDYYMM: - case DATE_FORMAT_MMDDYY: - elm_object_focus(wd->date[DATE_YEAR]); - break; - case DATE_FORMAT_DDMMYY: - case DATE_FORMAT_YYDDMM: - elm_object_focus(wd->date[DATE_MON]); - } - } - else if (focus_obj == wd->time[TIME_HOUR]) - elm_object_focus(wd->time[TIME_MIN]); - else if (focus_obj == wd->time[TIME_MIN]) - elm_object_unfocus(wd->time[TIME_MIN]); + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) return; + + if (focus_obj == wd->date[DATE_YEAR]) + { + switch (wd->date_format) + { + case DATE_FORMAT_DDMMYY: + case DATE_FORMAT_MMDDYY: + if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME) + elm_object_focus(wd->time[TIME_HOUR]); + else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE) + elm_object_unfocus(wd->date[DATE_YEAR]); + break; + case DATE_FORMAT_DDYYMM: + case DATE_FORMAT_YYMMDD: + elm_object_focus(wd->date[DATE_MON]); + break; + case DATE_FORMAT_MMYYDD: + case DATE_FORMAT_YYDDMM: + elm_object_focus(wd->date[DATE_DAY]); + } + } + else if (focus_obj == wd->date[DATE_MON]) + { + switch (wd->date_format) + { + case DATE_FORMAT_DDYYMM: + case DATE_FORMAT_YYDDMM: + if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME) + elm_object_focus(wd->time[TIME_HOUR]); + else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE) + elm_object_unfocus(wd->date[DATE_MON]); + break; + case DATE_FORMAT_DDMMYY: + case DATE_FORMAT_MMYYDD: + elm_object_focus(wd->date[DATE_YEAR]); + break; + case DATE_FORMAT_MMDDYY: + case DATE_FORMAT_YYMMDD: + elm_object_focus(wd->date[DATE_DAY]); + } + } + else if (focus_obj == wd->date[DATE_DAY]) + { + switch (wd->date_format) + { + case DATE_FORMAT_YYMMDD: + case DATE_FORMAT_MMYYDD: + if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME) + elm_object_focus(wd->time[TIME_HOUR]); + else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE) + elm_object_unfocus(wd->date[DATE_DAY]); + break; + case DATE_FORMAT_DDYYMM: + case DATE_FORMAT_MMDDYY: + elm_object_focus(wd->date[DATE_YEAR]); + break; + case DATE_FORMAT_DDMMYY: + case DATE_FORMAT_YYDDMM: + elm_object_focus(wd->date[DATE_MON]); + } + } + else if (focus_obj == wd->time[TIME_HOUR]) + elm_object_focus(wd->time[TIME_MIN]); + else if (focus_obj == wd->time[TIME_MIN]) + elm_object_unfocus(wd->time[TIME_MIN]); } static int _check_date_boundary(Evas_Object *obj, int num, int flag) { - Widget_Data *wd = elm_widget_data_get(obj); - if (flag == DATE_YEAR) - { - if (num > wd->y_max) num = wd->y_max; - else if (num < wd->y_min) num = wd->y_min; - return num; - } - - else if (flag == DATE_MON) - { - if (wd->year == wd->y_max && num > wd->m_max) num = wd->m_max; - else if (wd->year == wd->y_min && num < wd->m_min) num = wd->m_min; - else if (num > MONTH_MAXIMUM) num = MONTH_MAXIMUM; - else if (num <= 0) num = 1; - return num; - } - - else if (flag == DATE_DAY) - { - int day_of_month = _maximum_day_get(wd->year, wd->month); - if (wd->year == wd->y_max && wd->month == wd->m_max && num > wd->d_max) num = wd->d_max; - else if (wd->year == wd->y_min && wd->month == wd->m_min && num < wd->d_min) num = wd->d_min; - else if (num > day_of_month) num = day_of_month; - else if (num <= 0) num = 1; - return num; - } + Widget_Data *wd = elm_widget_data_get(obj); + if (flag == DATE_YEAR) + { + if (num > wd->y_max) num = wd->y_max; + else if (num < wd->y_min) num = wd->y_min; + return num; + } + + else if (flag == DATE_MON) + { + if (wd->year == wd->y_max && num > wd->m_max) num = wd->m_max; + else if (wd->year == wd->y_min && num < wd->m_min) num = wd->m_min; + else if (num > MONTH_MAXIMUM) num = MONTH_MAXIMUM; + else if (num <= 0) num = 1; + return num; + } + + else if (flag == DATE_DAY) + { + int day_of_month = _maximum_day_get(wd->year, wd->month); + if (wd->year == wd->y_max && wd->month == wd->m_max && num > wd->d_max) num = wd->d_max; + else if (wd->year == wd->y_min && wd->month == wd->m_min && num < wd->d_min) num = wd->d_min; + else if (num > day_of_month) num = day_of_month; + else if (num <= 0) num = 1; return num; + } + return num; } static int _maximum_day_get(int year, int month) { - int day_of_month = 0; - if (year == 0 || month == 0) return 0; - - switch (month) { - case 4: - case 6: - case 9: - case 11: - day_of_month = 30; - break; - case 2: - if ((!(year % 4) && (year % 100)) || !(year % 400)) - day_of_month = 29; - else - day_of_month = 28; - break; - default: - day_of_month = 31; - break; - } - - return day_of_month; + int day_of_month = 0; + if (year == 0 || month == 0) return 0; + + switch (month) { + case 4: + case 6: + case 9: + case 11: + day_of_month = 30; + break; + case 2: + if ((!(year % 4) && (year % 100)) || !(year % 400)) + day_of_month = 29; + else + day_of_month = 28; + break; + default: + day_of_month = 31; + break; + } + + return day_of_month; } static Eina_Bool _check_input_done(Evas_Object *obj, Evas_Object *focus_obj, int strlen) { - Widget_Data *wd = elm_widget_data_get(obj); - - if (!wd) return EINA_FALSE; - - if (focus_obj == wd->date[DATE_YEAR] && strlen == YEAR_MAX_LENGTH) - wd->editing = EINA_FALSE; - else if (focus_obj == wd->date[DATE_MON] && strlen == MONTH_MAX_LENGTH) - wd->editing = EINA_FALSE; - else if (focus_obj == wd->date[DATE_DAY]) - { - if (strlen == DAY_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 3) - wd->editing = EINA_FALSE; - } - else if (focus_obj == wd->time[TIME_HOUR]) - { - if (strlen == TIME_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 2) - wd->editing = EINA_FALSE; - } - else if (focus_obj == wd->time[TIME_MIN]) - { - if (strlen == TIME_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 5) - wd->editing = EINA_FALSE; - } - return !wd->editing; + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) return EINA_FALSE; + + if (focus_obj == wd->date[DATE_YEAR] && strlen == YEAR_MAX_LENGTH) + wd->editing = EINA_FALSE; + else if (focus_obj == wd->date[DATE_MON] && strlen == MONTH_MAX_LENGTH) + wd->editing = EINA_FALSE; + else if (focus_obj == wd->date[DATE_DAY]) + { + if (strlen == DAY_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 3) + wd->editing = EINA_FALSE; + } + else if (focus_obj == wd->time[TIME_HOUR]) + { + if (strlen == TIME_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 2) + wd->editing = EINA_FALSE; + } + else if (focus_obj == wd->time[TIME_MIN]) + { + if (strlen == TIME_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 5) + wd->editing = EINA_FALSE; + } + return !wd->editing; } static void _entry_key_up_cb(void *data, Evas *e , Evas_Object *obj , void *event_info) { - Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *) event_info; + Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *) event_info; - if (!strcmp(ev->keyname, "BackSpace")) - elm_entry_entry_set(obj, ""); + if (!strcmp(ev->keyname, "BackSpace")) + elm_entry_entry_set(obj, ""); } static Eina_Bool _imf_event_commit_cb(void *data, int type, void *event) { - Widget_Data *wd = elm_widget_data_get(data); - Ecore_IMF_Event_Commit *ev = (Ecore_IMF_Event_Commit *) event; - Evas_Object *focus_obj; - char str[YEAR_MAX_LENGTH+1] = {0,}; - - if (!wd) return ECORE_CALLBACK_PASS_ON; - if (!elm_widget_focus_get(data)) return ECORE_CALLBACK_PASS_ON; - - focus_obj = elm_widget_focused_object_get(data); - if (!wd->editing) - { - elm_entry_entry_set(focus_obj, ""); - wd->editing = EINA_TRUE; - } - - if (focus_obj == wd->date[DATE_MON]) - { - wd->month = atoi(ev->str); - strcpy(str, month_label[wd->month-1]); - } - else - { - strcpy(str, elm_entry_entry_get(focus_obj)); - str[strlen(str)] = ev->str[0]; - } - elm_entry_entry_set(focus_obj, str); - - if (_check_input_done(data, focus_obj, strlen(str))) - _entry_focus_move(data, focus_obj); - - return ECORE_CALLBACK_DONE; + Widget_Data *wd = elm_widget_data_get(data); + Ecore_IMF_Event_Commit *ev = (Ecore_IMF_Event_Commit *) event; + Evas_Object *focus_obj; + char str[YEAR_MAX_LENGTH+1] = {0,}; + + if (!wd) return ECORE_CALLBACK_PASS_ON; + if (!elm_widget_focus_get(data)) return ECORE_CALLBACK_PASS_ON; + + focus_obj = elm_widget_focused_object_get(data); + if (!wd->editing) + { + elm_entry_entry_set(focus_obj, ""); + wd->editing = EINA_TRUE; + } + + if (focus_obj == wd->date[DATE_MON]) + { + wd->month = atoi(ev->str); + strcpy(str, month_label[wd->month-1]); + } + else + { + strcpy(str, elm_entry_entry_get(focus_obj)); + str[strlen(str)] = ev->str[0]; + } + elm_entry_entry_set(focus_obj, str); + + if (_check_input_done(data, focus_obj, strlen(str))) + _entry_focus_move(data, focus_obj); + + return ECORE_CALLBACK_DONE; } static void _input_panel_event_callback(void *data, Ecore_IMF_Context *ctx, int value) { - Widget_Data *wd = elm_widget_data_get(data); + Widget_Data *wd = elm_widget_data_get(data); - if (!wd) return; + if (!wd) return; - if (wd->func) - wd->func(wd->func_data, data, value); + if (wd->func) + wd->func(wd->func_data, data, value); } static void _date_update(Evas_Object *obj) { - Widget_Data *wd = elm_widget_data_get(obj); - char str[YEAR_MAX_LENGTH+1]; + Widget_Data *wd = elm_widget_data_get(obj); + char str[YEAR_MAX_LENGTH+1]; - if (!wd || !wd->base) return; - - sprintf(str, "%d", wd->year); - elm_entry_entry_set(wd->date[DATE_YEAR], str); + if (!wd || !wd->base) return; - sprintf(str, "%s", month_label[wd->month-1]); - elm_entry_entry_set(wd->date[DATE_MON], str); + sprintf(str, "%d", wd->year); + elm_entry_entry_set(wd->date[DATE_YEAR], str); - sprintf(str, "%d", wd->day); - elm_entry_entry_set(wd->date[DATE_DAY], str); + sprintf(str, "%s", month_label[wd->month-1]); + elm_entry_entry_set(wd->date[DATE_MON], str); - if (!wd->time_mode) //24 mode - sprintf(str, "%d", wd->hour); + sprintf(str, "%d", wd->day); + elm_entry_entry_set(wd->date[DATE_DAY], str); + + if (!wd->time_mode) //24 mode + sprintf(str, "%d", wd->hour); + else + { + if (wd->hour >= HOUR_12H_MAXIMUM) + { + wd->pm = EINA_TRUE; + edje_object_part_text_set(wd->base, "elm.text.ampm", "PM"); + } else - { - if (wd->hour >= HOUR_12H_MAXIMUM) - { - wd->pm = EINA_TRUE; - edje_object_part_text_set(wd->base, "elm.text.ampm", "PM"); - } - else - { - wd->pm = EINA_FALSE; - edje_object_part_text_set(wd->base, "elm.text.ampm", "AM"); - } - - if (wd->hour > HOUR_12H_MAXIMUM) - sprintf(str, "%02d", wd->hour - HOUR_12H_MAXIMUM); - else if (wd->hour == 0) - sprintf(str, "%02d", HOUR_12H_MAXIMUM); - else - sprintf(str, "%02d", wd->hour); - } - elm_entry_entry_set(wd->time[TIME_HOUR], str); + { + wd->pm = EINA_FALSE; + edje_object_part_text_set(wd->base, "elm.text.ampm", "AM"); + } + + if (wd->hour > HOUR_12H_MAXIMUM) + sprintf(str, "%02d", wd->hour - HOUR_12H_MAXIMUM); + else if (wd->hour == 0) + sprintf(str, "%02d", HOUR_12H_MAXIMUM); + else + sprintf(str, "%02d", wd->hour); + } + elm_entry_entry_set(wd->time[TIME_HOUR], str); - sprintf(str, "%02d", wd->min); - elm_entry_entry_set(wd->time[TIME_MIN], str); + sprintf(str, "%02d", wd->min); + elm_entry_entry_set(wd->time[TIME_MIN], str); } static void _date_entry_add(Evas_Object *obj) { - Widget_Data *wd = elm_widget_data_get(obj); - int i; - - if (!wd) return; - - for (i = 0; i < DATE_MAX; i++) - { - wd->date[i] = elm_entry_add(obj); - elm_entry_single_line_set(wd->date[i], EINA_TRUE); - elm_entry_context_menu_disabled_set(wd->date[i], EINA_TRUE); - if (i == DATE_MON) elm_entry_input_panel_layout_set(wd->date[i], ELM_INPUT_PANEL_LAYOUT_MONTH); - else elm_entry_input_panel_layout_set(wd->date[i], ELM_INPUT_PANEL_LAYOUT_NUMBERONLY); - evas_object_size_hint_weight_set(wd->date[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(wd->date[i], EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_smart_callback_add(wd->date[i], "focused", _entry_focused_cb, obj); - evas_object_smart_callback_add(wd->date[i], "unfocused", _entry_unfocused_cb, obj); - evas_object_event_callback_add(wd->date[i], EVAS_CALLBACK_KEY_UP, _entry_key_up_cb, obj); - elm_widget_sub_object_add(obj, wd->date[i]); - } - elm_entry_maximum_bytes_set(wd->date[DATE_YEAR], YEAR_MAX_LENGTH); - elm_entry_maximum_bytes_set(wd->date[DATE_MON], MONTH_MAX_LENGTH); - elm_entry_maximum_bytes_set(wd->date[DATE_DAY], DAY_MAX_LENGTH); + Widget_Data *wd = elm_widget_data_get(obj); + int i; + + if (!wd) return; + + for (i = 0; i < DATE_MAX; i++) + { + wd->date[i] = elm_entry_add(obj); + elm_entry_single_line_set(wd->date[i], EINA_TRUE); + elm_entry_context_menu_disabled_set(wd->date[i], EINA_TRUE); + if (i == DATE_MON) elm_entry_input_panel_layout_set(wd->date[i], ELM_INPUT_PANEL_LAYOUT_MONTH); + else elm_entry_input_panel_layout_set(wd->date[i], ELM_INPUT_PANEL_LAYOUT_NUMBERONLY); + evas_object_size_hint_weight_set(wd->date[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(wd->date[i], EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_smart_callback_add(wd->date[i], "focused", _entry_focused_cb, obj); + evas_object_smart_callback_add(wd->date[i], "unfocused", _entry_unfocused_cb, obj); + evas_object_event_callback_add(wd->date[i], EVAS_CALLBACK_KEY_UP, _entry_key_up_cb, obj); + elm_widget_sub_object_add(obj, wd->date[i]); + } + elm_entry_maximum_bytes_set(wd->date[DATE_YEAR], YEAR_MAX_LENGTH); + elm_entry_maximum_bytes_set(wd->date[DATE_MON], MONTH_MAX_LENGTH); + elm_entry_maximum_bytes_set(wd->date[DATE_DAY], DAY_MAX_LENGTH); } static void _time_entry_add(Evas_Object *obj) { - Widget_Data *wd = elm_widget_data_get(obj); - int i; - - if (!wd) return; - - for (i = 0; i < TIME_MAX; i++) - { - wd->time[i] = elm_entry_add(obj); - elm_entry_single_line_set(wd->time[i], EINA_TRUE); - elm_entry_context_menu_disabled_set(wd->time[i], EINA_TRUE); - elm_entry_input_panel_layout_set(wd->time[i], ELM_INPUT_PANEL_LAYOUT_NUMBERONLY); - elm_entry_maximum_bytes_set(wd->time[i], TIME_MAX_LENGTH); - evas_object_size_hint_weight_set(wd->time[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(wd->time[i], EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_smart_callback_add(wd->time[i], "focused", _entry_focused_cb, obj); - evas_object_smart_callback_add(wd->time[i], "unfocused", _entry_unfocused_cb, obj); - evas_object_event_callback_add(wd->time[i], EVAS_CALLBACK_KEY_UP, _entry_key_up_cb, obj); - elm_widget_sub_object_add(obj, wd->time[i]); - } + Widget_Data *wd = elm_widget_data_get(obj); + int i; + + if (!wd) return; + + for (i = 0; i < TIME_MAX; i++) + { + wd->time[i] = elm_entry_add(obj); + elm_entry_single_line_set(wd->time[i], EINA_TRUE); + elm_entry_context_menu_disabled_set(wd->time[i], EINA_TRUE); + elm_entry_input_panel_layout_set(wd->time[i], ELM_INPUT_PANEL_LAYOUT_NUMBERONLY); + elm_entry_maximum_bytes_set(wd->time[i], TIME_MAX_LENGTH); + evas_object_size_hint_weight_set(wd->time[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(wd->time[i], EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_smart_callback_add(wd->time[i], "focused", _entry_focused_cb, obj); + evas_object_smart_callback_add(wd->time[i], "unfocused", _entry_unfocused_cb, obj); + evas_object_event_callback_add(wd->time[i], EVAS_CALLBACK_KEY_UP, _entry_key_up_cb, obj); + elm_widget_sub_object_add(obj, wd->time[i]); + } } /** @@ -746,57 +746,57 @@ _time_entry_add(Evas_Object *obj) EAPI Evas_Object * elm_datefield_add(Evas_Object *parent) { - Evas_Object *obj; - Evas *e; - Widget_Data *wd; - - e = evas_object_evas_get(parent); - if (!e) return NULL; - wd = ELM_NEW(Widget_Data); - obj = elm_widget_add(e); - ELM_SET_WIDTYPE(widtype, "datefield"); - elm_widget_type_set(obj, "datefield"); - elm_widget_sub_object_add(parent, obj); - elm_widget_data_set(obj, wd); - elm_widget_del_hook_set(obj, _del_hook); - elm_widget_theme_hook_set(obj, _theme_hook); - elm_widget_on_focus_hook_set( obj, _on_focus_hook, NULL ); - elm_widget_can_focus_set(obj, EINA_TRUE); - - wd->base = edje_object_add(e); - elm_widget_resize_object_set(obj, wd->base); - edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.left.pad", _signal_rect_mouse_down, obj); - edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.year.over", _signal_rect_mouse_down, obj); - edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.month.over", _signal_rect_mouse_down, obj); - edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.day.over", _signal_rect_mouse_down, obj); - edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.right.pad", _signal_rect_mouse_down, obj); - - edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.hour.over", _signal_rect_mouse_down, obj); - edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.min.over", _signal_rect_mouse_down, obj); - edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.ampm.over", _signal_ampm_mouse_down, obj); - edje_object_signal_callback_add(wd->base, "mouse,clicked,1", "elm.rect.time.ampm.over", _signal_ampm_clicked, obj); - - wd->handler = ecore_event_handler_add(ECORE_IMF_EVENT_COMMIT, _imf_event_commit_cb, obj); - _date_entry_add(obj); - _time_entry_add(obj); - - wd->y_min = 1900; - wd->m_min = 1; - wd->d_min = 1; - wd->y_max = 2099; - wd->m_max = 12; - wd->d_max = 31; - wd->year = wd->y_min; - wd->month = 1; - wd->day = 1; - - wd->layout = ELM_DATEFIELD_LAYOUT_DATEANDTIME; - wd->time_mode = EINA_TRUE; - wd->date_format = DATE_FORMAT_MMDDYY; - - _theme_hook(obj); - - return obj; + Evas_Object *obj; + Evas *e; + Widget_Data *wd; + + e = evas_object_evas_get(parent); + if (!e) return NULL; + wd = ELM_NEW(Widget_Data); + obj = elm_widget_add(e); + ELM_SET_WIDTYPE(widtype, "datefield"); + elm_widget_type_set(obj, "datefield"); + elm_widget_sub_object_add(parent, obj); + elm_widget_data_set(obj, wd); + elm_widget_del_hook_set(obj, _del_hook); + elm_widget_theme_hook_set(obj, _theme_hook); + elm_widget_on_focus_hook_set( obj, _on_focus_hook, NULL ); + elm_widget_can_focus_set(obj, EINA_TRUE); + + wd->base = edje_object_add(e); + elm_widget_resize_object_set(obj, wd->base); + edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.left.pad", _signal_rect_mouse_down, obj); + edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.year.over", _signal_rect_mouse_down, obj); + edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.month.over", _signal_rect_mouse_down, obj); + edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.day.over", _signal_rect_mouse_down, obj); + edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.right.pad", _signal_rect_mouse_down, obj); + + edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.hour.over", _signal_rect_mouse_down, obj); + edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.min.over", _signal_rect_mouse_down, obj); + edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.ampm.over", _signal_ampm_mouse_down, obj); + edje_object_signal_callback_add(wd->base, "mouse,clicked,1", "elm.rect.time.ampm.over", _signal_ampm_clicked, obj); + + wd->handler = ecore_event_handler_add(ECORE_IMF_EVENT_COMMIT, _imf_event_commit_cb, obj); + _date_entry_add(obj); + _time_entry_add(obj); + + wd->y_min = 1900; + wd->m_min = 1; + wd->d_min = 1; + wd->y_max = 2099; + wd->m_max = 12; + wd->d_max = 31; + wd->year = wd->y_min; + wd->month = 1; + wd->day = 1; + + wd->layout = ELM_DATEFIELD_LAYOUT_DATEANDTIME; + wd->time_mode = EINA_TRUE; + wd->date_format = DATE_FORMAT_MMDDYY; + + _theme_hook(obj); + + return obj; } /** @@ -810,18 +810,18 @@ elm_datefield_add(Evas_Object *parent) EAPI void elm_datefield_layout_set(Evas_Object *obj, Elm_Datefield_Layout layout) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - - if (!wd) return; - if (layout < ELM_DATEFIELD_LAYOUT_TIME ||layout > ELM_DATEFIELD_LAYOUT_DATEANDTIME) return; - - if (wd->layout != layout) - { - wd->layout = layout; - _theme_hook(obj); - } - return; + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) return; + if (layout < ELM_DATEFIELD_LAYOUT_TIME ||layout > ELM_DATEFIELD_LAYOUT_DATEANDTIME) return; + + if (wd->layout != layout) + { + wd->layout = layout; + _theme_hook(obj); + } + return; } /** @@ -835,12 +835,12 @@ elm_datefield_layout_set(Evas_Object *obj, Elm_Datefield_Layout layout) EAPI Elm_Datefield_Layout elm_datefield_layout_get(const Evas_Object *obj) { - ELM_CHECK_WIDTYPE(obj, widtype) 0; - Widget_Data *wd = elm_widget_data_get(obj); - - if (!wd) return 0; + ELM_CHECK_WIDTYPE(obj, widtype) 0; + Widget_Data *wd = elm_widget_data_get(obj); - return wd->layout; + if (!wd) return 0; + + return wd->layout; } /** @@ -858,24 +858,24 @@ elm_datefield_layout_get(const Evas_Object *obj) EAPI void elm_datefield_date_set(Evas_Object *obj, int year, int month, int day, int hour, int min) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - - if (!wd) return; - - wd->year = _check_date_boundary(obj, year, DATE_YEAR); - wd->month = _check_date_boundary(obj, month, DATE_MON); - wd->day = _check_date_boundary(obj, day, DATE_DAY); - - if (hour > HOUR_24H_MAXIMUM) wd->hour = HOUR_24H_MAXIMUM; - else if (hour < 0) wd->hour = 0; - else wd->hour = hour; - - if (min > MIN_MAXIMUM) wd->min = MIN_MAXIMUM; - else if (min < 0) wd->min = 0; - else wd->min = min; - - _date_update(obj); + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) return; + + wd->year = _check_date_boundary(obj, year, DATE_YEAR); + wd->month = _check_date_boundary(obj, month, DATE_MON); + wd->day = _check_date_boundary(obj, day, DATE_DAY); + + if (hour > HOUR_24H_MAXIMUM) wd->hour = HOUR_24H_MAXIMUM; + else if (hour < 0) wd->hour = 0; + else wd->hour = hour; + + if (min > MIN_MAXIMUM) wd->min = MIN_MAXIMUM; + else if (min < 0) wd->min = 0; + else wd->min = min; + + _date_update(obj); } /** @@ -893,21 +893,21 @@ elm_datefield_date_set(Evas_Object *obj, int year, int month, int day, int hour, EAPI void elm_datefield_date_get(const Evas_Object *obj, int *year, int *month, int *day, int *hour, int *min) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - - if (!wd) return; - - if (year) - *year = wd->year; - if (month) - *month = wd->month; - if (day) - *day = wd->day; - if (hour) - *hour = wd->hour; - if (min) - *min = wd->min; + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) return; + + if (year) + *year = wd->year; + if (month) + *month = wd->month; + if (day) + *day = wd->day; + if (hour) + *hour = wd->hour; + if (min) + *min = wd->min; } /** @@ -924,38 +924,38 @@ elm_datefield_date_get(const Evas_Object *obj, int *year, int *month, int *day, EAPI Eina_Bool elm_datefield_date_max_set(Evas_Object *obj, int year, int month, int day) { - ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE; - Widget_Data *wd = elm_widget_data_get(obj); - int day_of_month; - Eina_Bool update = EINA_FALSE; - - if (!wd) return EINA_FALSE; - if (month < 1 || month > MONTH_MAXIMUM) return EINA_FALSE; - day_of_month = _maximum_day_get(year, month); - if (day < 1 || day > day_of_month) return EINA_FALSE; - - wd->y_max = year; - wd->m_max = month; - wd->d_max = day; - - if (wd->year > wd->y_max) - { - wd->year = wd->y_max; - update = EINA_TRUE; - } - if (wd->year == wd->y_max && wd->month > wd->m_max) - { - wd->month = wd->m_max; - update = EINA_TRUE; - } - if (wd->year == wd->y_max && wd->month == wd->m_max && wd->day > wd->d_max) - { - wd->day = wd->d_max; - update = EINA_TRUE; - } - - if (update) _date_update(obj); - return EINA_TRUE; + ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE; + Widget_Data *wd = elm_widget_data_get(obj); + int day_of_month; + Eina_Bool update = EINA_FALSE; + + if (!wd) return EINA_FALSE; + if (month < 1 || month > MONTH_MAXIMUM) return EINA_FALSE; + day_of_month = _maximum_day_get(year, month); + if (day < 1 || day > day_of_month) return EINA_FALSE; + + wd->y_max = year; + wd->m_max = month; + wd->d_max = day; + + if (wd->year > wd->y_max) + { + wd->year = wd->y_max; + update = EINA_TRUE; + } + if (wd->year == wd->y_max && wd->month > wd->m_max) + { + wd->month = wd->m_max; + update = EINA_TRUE; + } + if (wd->year == wd->y_max && wd->month == wd->m_max && wd->day > wd->d_max) + { + wd->day = wd->d_max; + update = EINA_TRUE; + } + + if (update) _date_update(obj); + return EINA_TRUE; } /** @@ -971,17 +971,17 @@ elm_datefield_date_max_set(Evas_Object *obj, int year, int month, int day) EAPI void elm_datefield_date_max_get(const Evas_Object *obj, int *year, int *month, int *day) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - - if (!wd) return; - - if (year) - *year = wd->y_max; - if (month) - *month = wd->m_max; - if (day) - *day = wd->d_max; + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) return; + + if (year) + *year = wd->y_max; + if (month) + *month = wd->m_max; + if (day) + *day = wd->d_max; } /** @@ -998,38 +998,38 @@ elm_datefield_date_max_get(const Evas_Object *obj, int *year, int *month, int *d EAPI Eina_Bool elm_datefield_date_min_set(Evas_Object *obj, int year, int month, int day) { - ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE; - Widget_Data *wd = elm_widget_data_get(obj); - int day_of_month; - Eina_Bool update = EINA_FALSE; - - if (!wd) return EINA_FALSE; - if (month < 1 || month > MONTH_MAXIMUM) return EINA_FALSE; - day_of_month = _maximum_day_get(year, month); - if (day < 1 || day > day_of_month) return EINA_FALSE; - - wd->y_min = year; - wd->m_min = month; - wd->d_min = day; - - if (wd->year < wd->y_min) - { - wd->year = wd->y_min; - update = EINA_TRUE; - } - if (wd->year == wd->y_min && wd->month < wd->m_min) - { - wd->month = wd->m_min; - update = EINA_TRUE; - } - if (wd->year == wd->y_min && wd->month == wd->m_min && wd->day < wd->d_min) - { - wd->day = wd->d_min; - update = EINA_TRUE; - } - - if (update) _date_update(obj); - return EINA_TRUE; + ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE; + Widget_Data *wd = elm_widget_data_get(obj); + int day_of_month; + Eina_Bool update = EINA_FALSE; + + if (!wd) return EINA_FALSE; + if (month < 1 || month > MONTH_MAXIMUM) return EINA_FALSE; + day_of_month = _maximum_day_get(year, month); + if (day < 1 || day > day_of_month) return EINA_FALSE; + + wd->y_min = year; + wd->m_min = month; + wd->d_min = day; + + if (wd->year < wd->y_min) + { + wd->year = wd->y_min; + update = EINA_TRUE; + } + if (wd->year == wd->y_min && wd->month < wd->m_min) + { + wd->month = wd->m_min; + update = EINA_TRUE; + } + if (wd->year == wd->y_min && wd->month == wd->m_min && wd->day < wd->d_min) + { + wd->day = wd->d_min; + update = EINA_TRUE; + } + + if (update) _date_update(obj); + return EINA_TRUE; } /** @@ -1045,17 +1045,17 @@ elm_datefield_date_min_set(Evas_Object *obj, int year, int month, int day) EAPI void elm_datefield_date_min_get(const Evas_Object *obj, int *year, int *month, int *day) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - - if (!wd) return; - - if (year) - *year = wd->y_min; - if (month) - *month = wd->m_min; - if (day) - *day = wd->d_min; + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) return; + + if (year) + *year = wd->y_min; + if (month) + *month = wd->m_min; + if (day) + *day = wd->d_min; } /** @@ -1069,43 +1069,43 @@ elm_datefield_date_min_get(const Evas_Object *obj, int *year, int *month, int *d EAPI void elm_datefield_time_mode_set(Evas_Object *obj, Eina_Bool mode) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - - if (!wd) return; - - if (wd->time_mode != mode) - { - char str[YEAR_MAX_LENGTH+1]; - - wd->time_mode = mode; - if (!wd->time_mode) edje_object_signal_emit(wd->base, "elm,state,mode,24h", "elm"); - else edje_object_signal_emit(wd->base, "elm,state,mode,12h", "elm"); - - if (!wd->time_mode) //24 mode - sprintf(str, "%d", wd->hour); - else - { - if (wd->hour >= HOUR_12H_MAXIMUM) - { - wd->pm = EINA_TRUE; - edje_object_part_text_set(wd->base, "elm.text.ampm", "PM"); - } - else - { - wd->pm = EINA_FALSE; - edje_object_part_text_set(wd->base, "elm.text.ampm", "AM"); - } - - if (wd->hour > HOUR_12H_MAXIMUM) - sprintf(str, "%d", wd->hour - HOUR_12H_MAXIMUM); - else if (wd->hour == 0) - sprintf(str, "%d", HOUR_12H_MAXIMUM); - else - sprintf(str, "%d", wd->hour); - } - elm_entry_entry_set(wd->time[TIME_HOUR], str); - } + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) return; + + if (wd->time_mode != mode) + { + char str[YEAR_MAX_LENGTH+1]; + + wd->time_mode = mode; + if (!wd->time_mode) edje_object_signal_emit(wd->base, "elm,state,mode,24h", "elm"); + else edje_object_signal_emit(wd->base, "elm,state,mode,12h", "elm"); + + if (!wd->time_mode) //24 mode + sprintf(str, "%d", wd->hour); + else + { + if (wd->hour >= HOUR_12H_MAXIMUM) + { + wd->pm = EINA_TRUE; + edje_object_part_text_set(wd->base, "elm.text.ampm", "PM"); + } + else + { + wd->pm = EINA_FALSE; + edje_object_part_text_set(wd->base, "elm.text.ampm", "AM"); + } + + if (wd->hour > HOUR_12H_MAXIMUM) + sprintf(str, "%d", wd->hour - HOUR_12H_MAXIMUM); + else if (wd->hour == 0) + sprintf(str, "%d", HOUR_12H_MAXIMUM); + else + sprintf(str, "%d", wd->hour); + } + elm_entry_entry_set(wd->time[TIME_HOUR], str); + } } /** @@ -1119,12 +1119,12 @@ elm_datefield_time_mode_set(Evas_Object *obj, Eina_Bool mode) EAPI Eina_Bool elm_datefield_time_mode_get(const Evas_Object *obj) { - ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE; - Widget_Data *wd = elm_widget_data_get(obj); - - if (!wd) return EINA_FALSE; + ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE; + Widget_Data *wd = elm_widget_data_get(obj); - return wd->time_mode; + if (!wd) return EINA_FALSE; + + return wd->time_mode; } /** @@ -1138,26 +1138,26 @@ elm_datefield_time_mode_get(const Evas_Object *obj) EAPI void elm_datefield_date_format_set(Evas_Object *obj, const char *fmt) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - char sig[32] = "elm,state,format,"; - int i = 0, j; - - if (!wd || !fmt) return; - - j = strlen(sig); - while (j < 32) { - sig[j++] = tolower(fmt[i++]); - } - - edje_object_signal_emit(wd->base, sig, "elm"); - - if (strstr(sig, "yymmdd")) wd->date_format = DATE_FORMAT_YYMMDD; - else if (strstr(sig, "yyddmm")) wd->date_format = DATE_FORMAT_YYDDMM; - else if (strstr(sig, "mmyydd")) wd->date_format = DATE_FORMAT_MMYYDD; - else if (strstr(sig, "mmddyy")) wd->date_format = DATE_FORMAT_MMDDYY; - else if (strstr(sig, "ddyymm")) wd->date_format = DATE_FORMAT_DDYYMM; - else if (strstr(sig, "ddmmyy")) wd->date_format = DATE_FORMAT_DDMMYY; + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + char sig[32] = "elm,state,format,"; + int i = 0, j; + + if (!wd || !fmt) return; + + j = strlen(sig); + while (j < 32) { + sig[j++] = tolower(fmt[i++]); + } + + edje_object_signal_emit(wd->base, sig, "elm"); + + if (strstr(sig, "yymmdd")) wd->date_format = DATE_FORMAT_YYMMDD; + else if (strstr(sig, "yyddmm")) wd->date_format = DATE_FORMAT_YYDDMM; + else if (strstr(sig, "mmyydd")) wd->date_format = DATE_FORMAT_MMYYDD; + else if (strstr(sig, "mmddyy")) wd->date_format = DATE_FORMAT_MMDDYY; + else if (strstr(sig, "ddyymm")) wd->date_format = DATE_FORMAT_DDYYMM; + else if (strstr(sig, "ddmmyy")) wd->date_format = DATE_FORMAT_DDMMYY; } /** @@ -1171,18 +1171,18 @@ elm_datefield_date_format_set(Evas_Object *obj, const char *fmt) EAPI const char * elm_datefield_date_format_get(const Evas_Object *obj) { - ELM_CHECK_WIDTYPE(obj, widtype) NULL; - Widget_Data *wd = elm_widget_data_get(obj); - - switch (wd->date_format) - { - case DATE_FORMAT_YYMMDD: return "yymmdd"; - case DATE_FORMAT_YYDDMM: return "yyddmm"; - case DATE_FORMAT_MMYYDD: return "mmyydd"; - case DATE_FORMAT_MMDDYY: return "mmddyy"; - case DATE_FORMAT_DDYYMM: return "ddyymm"; - case DATE_FORMAT_DDMMYY: return "ddmmyy"; - } + ELM_CHECK_WIDTYPE(obj, widtype) NULL; + Widget_Data *wd = elm_widget_data_get(obj); + + switch (wd->date_format) + { + case DATE_FORMAT_YYMMDD: return "yymmdd"; + case DATE_FORMAT_YYDDMM: return "yyddmm"; + case DATE_FORMAT_MMYYDD: return "mmyydd"; + case DATE_FORMAT_MMDDYY: return "mmddyy"; + case DATE_FORMAT_DDYYMM: return "ddyymm"; + case DATE_FORMAT_DDMMYY: return "ddmmyy"; + } } /** @@ -1197,28 +1197,28 @@ elm_datefield_date_format_get(const Evas_Object *obj) EAPI void elm_datefield_input_panel_state_callback_add(Evas_Object *obj, void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value), void *data) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - int i; + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + int i; - if (!wd) return; + if (!wd) return; - if (wd->func && (wd->func != pEventCallbackFunc)) - elm_datefield_input_panel_state_callback_del(obj, wd->func); + if (wd->func && (wd->func != pEventCallbackFunc)) + elm_datefield_input_panel_state_callback_del(obj, wd->func); - if (wd->func != pEventCallbackFunc) - { - wd->func = pEventCallbackFunc; - wd->func_data = data; + if (wd->func != pEventCallbackFunc) + { + wd->func = pEventCallbackFunc; + wd->func_data = data; - for (i = 0; i < DATE_MAX; i++) - ecore_imf_context_input_panel_event_callback_add( - elm_entry_imf_context_get(wd->date[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback, obj); + for (i = 0; i < DATE_MAX; i++) + ecore_imf_context_input_panel_event_callback_add( + elm_entry_imf_context_get(wd->date[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback, obj); - for (i = 0; i < TIME_MAX; i++) - ecore_imf_context_input_panel_event_callback_add( - elm_entry_imf_context_get(wd->time[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback, obj); - } + for (i = 0; i < TIME_MAX; i++) + ecore_imf_context_input_panel_event_callback_add( + elm_entry_imf_context_get(wd->time[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback, obj); + } } /** @@ -1232,24 +1232,23 @@ elm_datefield_input_panel_state_callback_add(Evas_Object *obj, void (*pEventCall EAPI void elm_datefield_input_panel_state_callback_del(Evas_Object *obj, void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value)) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - int i; + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + int i; - if (!wd) return; + if (!wd) return; - if (wd->func && wd->func == pEventCallbackFunc) - { - for (i = 0; i < DATE_MAX; i++) - ecore_imf_context_input_panel_event_callback_del( - elm_entry_imf_context_get(wd->date[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback); + if (wd->func && wd->func == pEventCallbackFunc) + { + for (i = 0; i < DATE_MAX; i++) + ecore_imf_context_input_panel_event_callback_del( + elm_entry_imf_context_get(wd->date[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback); - for (i = 0; i < TIME_MAX; i++) - ecore_imf_context_input_panel_event_callback_del( - elm_entry_imf_context_get(wd->time[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback); + for (i = 0; i < TIME_MAX; i++) + ecore_imf_context_input_panel_event_callback_del( + elm_entry_imf_context_get(wd->time[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback); - wd->func = NULL; - wd->func_data = NULL; - } + wd->func = NULL; + wd->func_data = NULL; + } } - -- 2.7.4