Datefield_Item *selected_it;
char format[MAX_FORMAT_LEN];
Eina_Bool user_format:1; //whether user set format or the default format.
-
- //////////////////////DEPRECATED//////////////////////
- unsigned int datefield_layout; // user set layout
- const char *old_style_format; // user set format
- Eina_Bool time_mode; // current time mode 12hr/24hr
- //////////////////////////////////////////////////////
};
typedef struct _DiskItem_Data
edje_object_part_text_set(wd->base, buf, it->separator);
}
edje_object_message_signal_process(wd->base);
-
- wd->time_mode = ((wd->item_list + ELM_DATEFIELD_HOUR)->hour_type
- == ELM_DATEFIELD_HOUR_12);
_update_items(obj);
}
_item_list_init(obj);
_format_reload(obj);
- wd->datefield_layout = ELM_DATEFIELD_LAYOUT_DATEANDTIME;
- wd->time_mode = EINA_TRUE;
- wd->old_style_format = "mmddyy";
-
wd->ctxpopup = elm_ctxpopup_add(elm_widget_top_get(obj));
elm_object_style_set(wd->ctxpopup, "datefield/default");
elm_ctxpopup_horizontal_set(wd->ctxpopup, EINA_TRUE);
return ((wd->item_list + itemtype)->abs_max);
}
-
-/////////////////////////////////////////////////////////////////////////////////
-////////////////////////// Date Field DEPRECATED APIs ///////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-
-#define DATE_FORMAT_TYPE_COUNT 6
-
-typedef struct _format_mapper
-{
- char old_fmt[BUFFER_SIZE];
- char new_fmt[BUFFER_SIZE];
-}format_mapper;
-
-format_mapper map_format[DATE_FORMAT_TYPE_COUNT] = {
- { "ddmmyy", "%d %b %Y" },
- { "ddyymm", "%d %Y %b" },
- { "mmddyy", "%b %d %Y" },
- { "mmyydd", "%b %Y %d" },
- { "yymmdd", "%Y %b %d" },
- { "yyddmm", "%Y %d %b" }
-};
-
-static char*
-_get_format(Evas_Object *obj, const char * format)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- Eina_Strbuf *strbuf;
- char * fmt;
- unsigned int i= 0;
-
- if (!wd) return NULL;
-
- strbuf = eina_strbuf_new();
-
- if (wd->datefield_layout == ELM_DATEFIELD_LAYOUT_DATE ||
- wd->datefield_layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME)
- {
- for (i =0; i< DATE_FORMAT_TYPE_COUNT; i++)
- {
- if (!strncmp(format, map_format[i].old_fmt, BUFFER_SIZE))
- {
- eina_strbuf_append(strbuf, map_format[i].new_fmt);
- break;
- }
- }
- }
-
- if (wd->datefield_layout == ELM_DATEFIELD_LAYOUT_TIME ||
- wd->datefield_layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME)
- {
- if (wd->time_mode)
- eina_strbuf_append(strbuf, "%I : %M %p");
- else
- eina_strbuf_append(strbuf, "%H : %M");
- }
-
- eina_strbuf_append_char(strbuf, 0); // NULL terminated string
- fmt = eina_strbuf_string_steal(strbuf);
- eina_strbuf_free( strbuf );
-
- return fmt;
-}
-
-/**
- * @brief Set layout for the datefield
- *
- * @param[in] obj The datefield object
- * @param[in] layout set layout for date/time/dateandtime
- * (default: ELM_DATEFIELD_LAYOUT_DATEANDTIME)
- *
- * @ingroup Datefield
- */
-EINA_DEPRECATED 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);
- Eina_Bool date_enabled;
- Eina_Bool time_enabled;
-
- if (!wd || layout > ELM_DATEFIELD_LAYOUT_DATEANDTIME) return;
- if (layout == wd->datefield_layout) return;
- wd->datefield_layout = layout;
- date_enabled = ((wd->datefield_layout == ELM_DATEFIELD_LAYOUT_DATE)
- ||(wd->datefield_layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME));
-
- time_enabled = ((wd->datefield_layout == ELM_DATEFIELD_LAYOUT_TIME)
- ||(wd->datefield_layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME));
-
- elm_datefield_item_enabled_set(obj, ELM_DATEFIELD_YEAR, date_enabled);
- elm_datefield_item_enabled_set(obj, ELM_DATEFIELD_MONTH, date_enabled);
- elm_datefield_item_enabled_set(obj, ELM_DATEFIELD_DATE, date_enabled);
- elm_datefield_item_enabled_set(obj, ELM_DATEFIELD_HOUR, time_enabled);
- elm_datefield_item_enabled_set(obj, ELM_DATEFIELD_MINUTE, time_enabled);
- elm_datefield_item_enabled_set(obj, ELM_DATEFIELD_AMPM,
- (time_enabled && wd->time_mode));
-}
-
-/**
- * @brief Get layout of the datefield
- *
- * @param[in] obj The datefield object
- * @return layout of the datefield
- *
- * @ingroup Datefield
- */
-EINA_DEPRECATED EAPI Elm_Datefield_Layout
-elm_datefield_layout_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype)-1;
- Widget_Data *wd = elm_widget_data_get(obj);
-
- if (!wd) return -1;
-
- return (wd->datefield_layout);
-}
-
-/**
- * @brief Set date format of datefield
- *
- * @param[in] obj The datefield object
- * @param[in] fmt The date format, ex) mmddyy.
- * Default value is taken according to the system locale settings.
- *
- * @ingroup Datefield
- */
-EINA_DEPRECATED 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);
-
- if (!wd) return;
-
- wd->old_style_format = strdup(fmt);
- elm_datefield_format_set(obj, _get_format(obj, fmt));
-}
-
-/**
- * @brief Get the user set format of the datefield
- *
- * @param[in] obj The datefield object
- * @return date format string. ex) mmddyy
- *
- * @ingroup Datefield
- */
-EINA_DEPRECATED 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);
-
- if (!wd) return NULL;
-
- return (wd->old_style_format);
-}
-
-/**
- * @brief Set if the datefield show hours in military or am/pm mode
- *
- * @param[in] obj The datefield object
- * @param[in] mode option for the hours mode. If true, it is shown as 12h mode,
- * if false, it is shown as 24h mode. Default value is true
- *
- * @ingroup Datefield
- */
-EINA_DEPRECATED 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;
-
- wd->time_mode = mode;
- elm_datefield_format_set(obj, _get_format(obj, wd->old_style_format));
-}
-
-/**
- * @brief get time mode of the datefield
- *
- * @param[in] obj The datefield object
- * @return time mode (EINA_TRUE: 12hour mode / EINA_FALSE: 24hour mode)
- *
- * @ingroup Datefield
- */
-EINA_DEPRECATED 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;
-
- return (wd->time_mode);
-}
-
-/**
- * @brief Set selected date of the datefield
- *
- * @param[in] obj The datefield object
- * @param[in] year The year to set
- * @param[in] month The month to set (1-12)
- * @param[in] day The day to set
- * @param[in] hour The hours to set (24hour mode - 0~23)
- * @param[in] min The minutes to set (0~59)
- *
- * @ingroup Datefield
- * @deprecated, use elm_datefield_item_value_set() instead.
- */
-EINA_DEPRECATED EAPI void
-elm_datefield_date_set(Evas_Object *obj, int year, int month, int day, int hour,
- int min)
-{
- year -= 1900; // backward compatibility
- elm_datefield_item_value_set(obj, ELM_DATEFIELD_YEAR, year);
- month -= 1; // backward compatibility
- elm_datefield_item_value_set(obj, ELM_DATEFIELD_MONTH, month);
- elm_datefield_item_value_set(obj, ELM_DATEFIELD_DATE, day);
- elm_datefield_item_value_set(obj, ELM_DATEFIELD_HOUR, hour);
- elm_datefield_item_value_set(obj, ELM_DATEFIELD_MINUTE, min);
-}
-
-/**
- * @brief Get selected date of the datefield
- *
- * @param[in] obj The datefield object
- * @param[in] year The pointer to the variable get the selected year
- * @param[in] month The pointer to the variable get the selected month (1-12)
- * @param[in] day The pointer to the variable get the selected day
- * @param[in] hour The pointer to the variable get the selected hour(24hour mode)
- * @param[in] hour The pointer to the variable get the selected min
- *
- * @ingroup Datefield
- * @deprecated, use elm_datefield_item_value_get() instead.
- */
-EINA_DEPRECATED EAPI void
-elm_datefield_date_get(const Evas_Object *obj, int *year, int *month, int *day,
- int *hour, int *min)
-{
- if (year)
- {
- *year = elm_datefield_item_value_get(obj, ELM_DATEFIELD_YEAR);
- *year = (*year+1900); // backward compatibility
- }
- if (month)
- {
- *month = elm_datefield_item_value_get(obj, ELM_DATEFIELD_MONTH);
- (*month)+=1; // backward compatibility
- }
- if (day)
- *day = elm_datefield_item_value_get(obj, ELM_DATEFIELD_DATE);
- if (hour)
- *hour = elm_datefield_item_value_get(obj, ELM_DATEFIELD_HOUR);
- if (min)
- *min = elm_datefield_item_value_get(obj, ELM_DATEFIELD_MINUTE);
-}
-
-/**
- * @brief Set lower boundary of the datefield
- *
- * @param[in] obj The datefield object
- * @param[in] year The year to set
- * @param[in] month The month to set (1-12)
- * @param[in] day The day to set
- * @return TRUE/FALSE
- *
- * @ingroup Datepicker
- * @deprecated, use elm_datefield_item_min_set() instead.
- */
-EINA_DEPRECATED EAPI Eina_Bool
-elm_datefield_date_min_set(Evas_Object *obj, int year, int month, int day)
-{
- year -= 1900; // backward compatibility
- elm_datefield_item_min_set(obj, ELM_DATEFIELD_YEAR, year, EINA_FALSE);
- month -= 1; // backward compatibility
- elm_datefield_item_min_set(obj, ELM_DATEFIELD_MONTH, month, EINA_FALSE);
- elm_datefield_item_min_set(obj, ELM_DATEFIELD_DATE, day, EINA_FALSE);
- return EINA_TRUE;
-}
-
-/**
- * @brief Get lower boundary of the datefield
- *
- * @param[in] obj The datefield object
- * @param[in] year The pointer to the variable get the maximum year
- * @param[in] month The pointer to the variable get the maximum month (1-12)
- * @param[in] day The pointer to the variable get the maximum day
- *
- * @ingroup Datefield
- * @deprecated, use elm_datefield_item_min_get() instead.
- */
-EINA_DEPRECATED EAPI void
-elm_datefield_date_min_get(const Evas_Object *obj, int *year, int *month,
- int *day)
-{
- if (year)
- {
- *year = elm_datefield_item_min_get(obj, ELM_DATEFIELD_YEAR);
- *year = (*year) + 1900; // backward compatibility
- }
- if (month)
- {
- *month = elm_datefield_item_min_get(obj, ELM_DATEFIELD_MONTH);
- (*month)+=1; // backward compatibility
- }
- if (day)
- *day = elm_datefield_item_min_get(obj, ELM_DATEFIELD_DATE);
-}
-
-/**
- * @brief Set upper boundary of the datefield
- *
- * @param[in] obj The datefield object
- * @param[in] year The year to set
- * @param[in] month The month to set (1-12)
- * @param[in] day The day to set
- * @return TRUE/FALSE
- *
- * @ingroup Datefield
- * @deprecated, use elm_datefield_item_max_set() instead.
- */
-EINA_DEPRECATED EAPI Eina_Bool
-elm_datefield_date_max_set(Evas_Object *obj, int year, int month, int day)
-{
- year -= 1900; // backward compatibility
- elm_datefield_item_max_set(obj, ELM_DATEFIELD_YEAR, year, EINA_FALSE);
- month -= 1; // backward compatibility
- elm_datefield_item_max_set(obj, ELM_DATEFIELD_MONTH, month, EINA_FALSE);
- elm_datefield_item_max_set(obj, ELM_DATEFIELD_DATE, day, EINA_FALSE);
- return EINA_TRUE;
-}
-
-/**
- * @brief Get upper boundary of the datefield
- *
- * @param[in] obj The datefield object
- * @param[in] year The pointer to the variable get the maximum year
- * @param[in] month The pointer to the variable get the maximum month (1-12)
- * @param[in] day The pointer to the variable get the maximum day
- *
- * @ingroup Datefield
- * @deprecated, use elm_datefield_item_max_get() instead.
- */
-EINA_DEPRECATED EAPI void
-elm_datefield_date_max_get(const Evas_Object *obj, int *year, int *month,
- int *day)
-{
- if (year)
- {
- *year = elm_datefield_item_max_get(obj, ELM_DATEFIELD_YEAR);
- *year = (*year) + 1900; // backward compatibility
- }
- if (month)
- {
- *month = elm_datefield_item_max_get(obj, ELM_DATEFIELD_MONTH);
- (*month)+=1; // backward compatibility
- }
- if (day)
- *day = elm_datefield_item_max_get(obj, ELM_DATEFIELD_DATE);
-}
-
-/**
- * @brief Add a callback function for input panel state
- *
- * @param[in] obj The datefield object
- * @param[in] func The function to be called when the event is triggered
- * (value will be the Ecore_IMF_Input_Panel_State)
- * @param[in] data The data pointer to be passed to @p func
- *
- * @ingroup Datefield
- * @deprecated and will no longer be in use.
- */
-EINA_DEPRECATED EAPI void
-elm_datefield_input_panel_state_callback_add(Evas_Object *obj __UNUSED__,
- void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value)
- __UNUSED__, void *data __UNUSED__)
-{
- //Empty implementation
-}
-
-/**
- * @brief Delete a callback function for input panel state
- *
- * @param[in] obj The datefield object
- * @param[in] func The function to be called when the event is triggered
- *
- * @ingroup Datefield
- * @deprecated and will no longer be in use.
- */
-EINA_DEPRECATED EAPI void
-elm_datefield_input_panel_state_callback_del(Evas_Object *obj __UNUSED__,
- void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value)
- __UNUSED__)
-{
- //Empty implementation
-}
-/////////////////////////////////////////////////////////////////////////////////
-//////////////////////////Date Field DEPRECATED APIs END////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-