seoz pushed a commit to branch master. http://git.enlightenment.org/tools/elm-theme-viewer.git/commit/?id=20f889a7cb2bc4ca90570911df86daaab5a34d0c
commit 20f889a7cb2bc4ca90570911df86daaab5a34d0c Author: Daniel Juyung Seo <[email protected]> Date: Fri Dec 5 03:48:46 2014 +0900 widget/widget_option: Add datetime support with some options. --- src/bin/widget.c | 26 ++++++++++++++++++++++++++ src/bin/widget_option.c | 35 +++++++++++++++++++++++++++++++++++ src/bin/widget_option.h | 8 ++++++++ 3 files changed, 69 insertions(+) diff --git a/src/bin/widget.c b/src/bin/widget.c index 8126ff8..08d952f 100644 --- a/src/bin/widget.c +++ b/src/bin/widget.c @@ -345,6 +345,31 @@ _widget_colorselector_create(Evas_Object *parent, const char *style) return o; } +// datetime +static Evas_Object * +_widget_datetime_create(Evas_Object *parent, const char *style) +{ + Evas_Object *o = NULL; + + o = elm_datetime_add(parent); + EXPAND(o); FILL(o); + elm_object_style_set(o, style); + + if (wod) + { + elm_datetime_field_visible_set(o, ELM_DATETIME_YEAR, wod->dt_year); + elm_datetime_field_visible_set(o, ELM_DATETIME_MONTH, wod->dt_month); + elm_datetime_field_visible_set(o, ELM_DATETIME_DATE, wod->dt_date); + elm_datetime_field_visible_set(o, ELM_DATETIME_HOUR, wod->dt_hour); + elm_datetime_field_visible_set(o, ELM_DATETIME_MINUTE, wod->dt_minute); + elm_datetime_field_visible_set(o, ELM_DATETIME_AMPM, wod->dt_ampm); + } + + evas_object_show(o); + + return o; +} + // entry static Evas_Object * _widget_entry_create(Evas_Object *parent, const char *orig_style, const char* style) @@ -2163,6 +2188,7 @@ widget_create(Evas_Object *parent, Widget_Type widget, const char *orig_style) ADD_WIDGET(check, ETV_ID_CHECK, style); ADD_WIDGET(clock, ETV_ID_CLOCK, style); ADD_WIDGET(colorselector, ETV_ID_COLORSELECTOR, style); + ADD_WIDGET(datetime, ETV_ID_DATETIME, style); ADD_WIDGET2(entry, ETV_ID_ENTRY, orig_style, style); ADD_WIDGET(ews, ETV_ID_EWS, orig_style); ADD_WIDGET(fileselector, ETV_ID_FILESELECTOR, style); diff --git a/src/bin/widget_option.c b/src/bin/widget_option.c index 71eaab9..332ccff 100644 --- a/src/bin/widget_option.c +++ b/src/bin/widget_option.c @@ -201,6 +201,34 @@ _widget_option_check_create(Evas_Object *box) WIDGET_OPTION_CHECK_ADD("Image", wod->chk_image, _chk_image_changed_cb); } +// datetime +WIDGET_OPTION_CHECK_CHANGED_CB(datetime_year, wod->dt_year); +WIDGET_OPTION_CHECK_CHANGED_CB(datetime_month, wod->dt_month); +WIDGET_OPTION_CHECK_CHANGED_CB(datetime_date, wod->dt_date); +WIDGET_OPTION_CHECK_CHANGED_CB(datetime_hour, wod->dt_hour); +WIDGET_OPTION_CHECK_CHANGED_CB(datetime_minute, wod->dt_minute); +WIDGET_OPTION_CHECK_CHANGED_CB(datetime_ampm, wod->dt_ampm); + +static void +_widget_option_datetime_create(Evas_Object *box) +{ + Evas_Object *o = NULL; + + WIDGET_OPTION_CHECK_ADD("Year", wod->dt_year, + _datetime_year_changed_cb); + WIDGET_OPTION_CHECK_ADD("Month", wod->dt_month, + _datetime_month_changed_cb); + WIDGET_OPTION_CHECK_ADD("Date", wod->dt_date, + _datetime_date_changed_cb); + WIDGET_OPTION_CHECK_ADD("Hour", wod->dt_hour, + _datetime_hour_changed_cb); + WIDGET_OPTION_CHECK_ADD("Minute", wod->dt_minute, + _datetime_minute_changed_cb); + WIDGET_OPTION_CHECK_ADD("AMPM", wod->dt_ampm, + _datetime_ampm_changed_cb); +} + + // entry WIDGET_OPTION_HOVERSEL_CHANGED_CB(_entry_text_len_changed_cb, _text_len, wod->entry_text_len); @@ -710,6 +738,12 @@ _wod_init(void) wod->actslider_indi_pos = 0; wod->btn_text = EINA_TRUE; wod->chk_text = EINA_TRUE; + wod->dt_year = EINA_TRUE; + wod->dt_month = EINA_TRUE; + wod->dt_date = EINA_TRUE; + wod->dt_hour = EINA_TRUE; + wod->dt_minute = EINA_TRUE; + wod->dt_ampm = EINA_TRUE; wod->entry_text_len = 2; wod->gengrid_item_width = 168; wod->gengrid_item_height = 168; @@ -772,6 +806,7 @@ widget_option_content_update(Widget_Type type) WIDGET_OPTION(actionslider, ETV_ID_ACTIONSLIDER) WIDGET_OPTION(button, ETV_ID_BUTTON) WIDGET_OPTION(check, ETV_ID_CHECK) + WIDGET_OPTION(datetime, ETV_ID_DATETIME) WIDGET_OPTION(entry, ETV_ID_ENTRY) WIDGET_OPTION(gengrid, ETV_ID_GENGRID) WIDGET_OPTION(genlist, ETV_ID_GENLIST) diff --git a/src/bin/widget_option.h b/src/bin/widget_option.h index 9871045..95e3fb0 100644 --- a/src/bin/widget_option.h +++ b/src/bin/widget_option.h @@ -21,6 +21,14 @@ struct _Widget_Option_Data Eina_Bool chk_image : 1; Eina_Bool chk_text : 1; + // datetime + Eina_Bool dt_year : 1; // ELM_DATETIME_YEAR + Eina_Bool dt_month : 1; // ELM_DATETIME_MONTH + Eina_Bool dt_date : 1; // ELM_DATETIME_DATE + Eina_Bool dt_hour : 1; // ELM_DATETIME_HOUR + Eina_Bool dt_minute : 1; // ELM_DATETIME_MINUTE + Eina_Bool dt_ampm : 1; // ELM_DATETIME_AMPM + // entry int entry_text_len; Eina_Bool entry_guide_text : 1; --
