From b65a1647592f7134288898e5ea66ce822e4ec781 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 5 Mar 2019 17:00:37 -0500 Subject: [PATCH] elm_dayselector: remove all legacy usage from eo files this takes the current generated output from eolian for legacy code in efl and adds it to the tree, then removes legacy references from the corresponding eo files. in the case where the entire eo file was for a legacy object, that eo file has been removed from the tree ref T7724 Reviewed-by: Cedric BAIL Differential Revision: https://phab.enlightenment.org/D8164 --- src/Makefile_Elementary.am | 9 +- src/lib/elementary/elm_dayselector.c | 4 +- src/lib/elementary/elm_dayselector.eo | 163 --------------- src/lib/elementary/elm_dayselector_eo.c | 131 ++++++++++++ src/lib/elementary/elm_dayselector_eo.h | 194 ++++++++++++++++++ .../elementary/elm_dayselector_eo.legacy.c | 60 ++++++ .../elementary/elm_dayselector_eo.legacy.h | 182 ++++++++++++++++ src/lib/elementary/elm_dayselector_item.eo | 8 - src/lib/elementary/elm_dayselector_item_eo.c | 35 ++++ src/lib/elementary/elm_dayselector_item_eo.h | 24 +++ .../elm_dayselector_item_eo.legacy.h | 17 ++ src/lib/elementary/elm_dayselector_legacy.h | 2 +- src/lib/elementary/elm_widget_dayselector.h | 4 +- src/lib/elementary/meson.build | 6 +- 14 files changed, 659 insertions(+), 180 deletions(-) delete mode 100644 src/lib/elementary/elm_dayselector.eo create mode 100644 src/lib/elementary/elm_dayselector_eo.c create mode 100644 src/lib/elementary/elm_dayselector_eo.h create mode 100644 src/lib/elementary/elm_dayselector_eo.legacy.c create mode 100644 src/lib/elementary/elm_dayselector_eo.legacy.h delete mode 100644 src/lib/elementary/elm_dayselector_item.eo create mode 100644 src/lib/elementary/elm_dayselector_item_eo.c create mode 100644 src/lib/elementary/elm_dayselector_item_eo.h create mode 100644 src/lib/elementary/elm_dayselector_item_eo.legacy.h diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index 1827d80f13..9f28146ff9 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -187,7 +187,6 @@ elm_private_eolian_files = \ elm_legacy_eolian_files = \ lib/elementary/efl_ui_clock_legacy.eo \ lib/elementary/elm_interface_fileselector.eo \ - lib/elementary/elm_dayselector.eo \ lib/elementary/elm_entry.eo \ lib/elementary/elm_fileselector.eo \ lib/elementary/elm_gengrid.eo \ @@ -214,7 +213,6 @@ elm_legacy_eolian_files = \ lib/elementary/elm_sys_notify.eo \ lib/elementary/elm_sys_notify_dbus.eo \ lib/elementary/elm_systray.eo \ - lib/elementary/elm_dayselector_item.eo \ lib/elementary/elm_flipselector_item.eo \ lib/elementary/elm_menu_item.eo \ lib/elementary/elm_index_item.eo \ @@ -342,6 +340,9 @@ lib/elementary/elm_ctxpopup_eo.legacy.c \ lib/elementary/elm_ctxpopup_eo.c \ lib/elementary/elm_ctxpopup_item_eo.legacy.c \ lib/elementary/elm_ctxpopup_item_eo.c \ +lib/elementary/elm_dayselector_eo.legacy.c \ +lib/elementary/elm_dayselector_eo.c \ +lib/elementary/elm_dayselector_item_eo.c \ lib/elementary/elm_hoversel_eo.c \ lib/elementary/elm_hoversel_item_eo.c \ lib/elementary/elm_hoversel_item_eo.legacy.c @@ -417,6 +418,10 @@ lib/elementary/elm_ctxpopup_eo.h \ lib/elementary/elm_ctxpopup_eo.legacy.h \ lib/elementary/elm_ctxpopup_item_eo.h \ lib/elementary/elm_ctxpopup_item_eo.legacy.h \ +lib/elementary/elm_dayselector_eo.h \ +lib/elementary/elm_dayselector_eo.legacy.h \ +lib/elementary/elm_dayselector_item_eo.h \ +lib/elementary/elm_dayselector_item_eo.legacy.h \ lib/elementary/elm_hoversel_eo.h \ lib/elementary/elm_hoversel_eo.legacy.h \ lib/elementary/elm_hoversel_item_eo.h \ diff --git a/src/lib/elementary/elm_dayselector.c b/src/lib/elementary/elm_dayselector.c index a2cf481bcf..78536bb3fd 100644 --- a/src/lib/elementary/elm_dayselector.c +++ b/src/lib/elementary/elm_dayselector.c @@ -653,6 +653,6 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_dayselector, ELM_DAYSELECTOR, Elm_Dayselecto ELM_LAYOUT_SIZING_EVAL_OPS(elm_dayselector), \ EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_dayselector) -#include "elm_dayselector.eo.c" -#include "elm_dayselector_item.eo.c" +#include "elm_dayselector_eo.c" +#include "elm_dayselector_item_eo.c" diff --git a/src/lib/elementary/elm_dayselector.eo b/src/lib/elementary/elm_dayselector.eo deleted file mode 100644 index 12a054677b..0000000000 --- a/src/lib/elementary/elm_dayselector.eo +++ /dev/null @@ -1,163 +0,0 @@ -enum Elm.Dayselector.Day -{ - [[Identifies the day of the week. API can call the selection/unselection - of day with this as a parameter. - - See also @Elm.Dayselector.day_selected_set, @Elm.Dayselector.day_selected_get. - ]] - - legacy: elm_dayselector; - sun = 0,[[Indicates Sunday.]] - mon, [[Indicates Monday.]] - tue, [[Indicates Tuesday.]] - wed, [[Indicates Wednesday.]] - thu, [[Indicates Thursday.]] - fri, [[Indicates Friday.]] - sat, [[Indicates Saturday.]] - max [[Sentinel value to indicate last enum field during iteration]] -} - -class Elm.Dayselector extends Efl.Ui.Layout_Base implements Efl.Ui.Legacy -{ - [[Elementary dayselector class]] - legacy_prefix: elm_dayselector; - eo_prefix: elm_obj_dayselector; - event_prefix: elm_dayselector; - methods { - @property week_start { - set { - [[Set the starting day of Dayselector. - - See also @Elm.Dayselector.Day, - @.week_start.get. - ]] - } - get { - [[Get the starting day of Dayselector. - - See also @Elm.Dayselector.Day, - @.week_start.set. - ]] - } - values { - day: Elm.Dayselector.Day; [[Dayselector_Day the first day that the user wants to display.]] - } - } - @property weekend_length { - set { - [[Set the weekend length of Dayselector. - - See also @.weekend_length.get. - ]] - } - get { - [[Get the weekend length of Dayselector. - - See also @Elm.Dayselector.Day, - @.weekend_length.set. - ]] - } - values { - length: uint; [[Weekend length, number of days as an integer.]] - } - } - @property weekend_start { - set { - [[Set the weekend starting day of Dayselector. - - See also @Elm.Dayselector.Day, - @.weekend_start.get. - ]] - } - get { - [[Get the weekend starting day of Dayselector. - - See also @Elm.Dayselector.Day, - @.weekend_start.set. - ]] - } - values { - day: Elm.Dayselector.Day; [[Dayselector_Day the first day from where weekend starts.]] - } - } - weekdays_names_set { - [[Set weekdays names to be displayed by the Dayselector. - - By default or if weekdays is $null, weekdays abbreviations get from system are displayed: - E.g. for an en_US locale: "Sun, Mon, Tue, Wed, Thu, Fri, Sat" - - The first string should be related to Sunday, the second to Monday... - - See also @.weekdays_names_get, - @.weekend_start.set. - - @since 1.8 - ]] - /* FIXME-doc - * - * The usage should be like this: - * @code - * const char *weekdays[] = - * { - * "Sunday", "Monday", "Tuesday", "Wednesday", - * "Thursday", "Friday", "Saturday" - * }; - * elm_dayselector_wekdays_names_set(calendar, weekdays); - * @endcode - */ - - params { - @in weekdays: legacy(ptr(string)) @nullable; [[Array of seven strings to be used as weekday names. - Warning: It must have 7 elements, or it will access invalid memory. - Warning: The strings must be NULL terminated ('@\0').]] - } - } - weekdays_names_get @const { - [[Get weekdays names displayed by the calendar. - - By default, weekdays abbreviations get from system are displayed: - E.g. for an en_US locale: "Sun, Mon, Tue, Wed, Thu, Fri, Sat" - The first string is related to Sunday, the second to Monday... - - See also @.weekdays_names_set. - - @since 1.8 - ]] - return: list @owned @warn_unused; [[A list of seven strings to be used as weekday names.]] - } - day_selected_set { - [[Set the state of given Dayselector_Day. - - See also @Elm.Dayselector.Day, - @.day_selected_get. - ]] - params { - @in day: Elm.Dayselector.Day; [[Dayselector_Day that the user want to set state.]] - @in selected: bool; [[State of the day. $true is selected.]] - } - } - day_selected_get @const { - [[Get the state of given Dayselector_Day. - - See also @Elm.Dayselector.Day, - @.day_selected_set. - ]] - return: bool; [[$true on success, $false on failure]] - params { - @in day: Elm.Dayselector.Day; [[Dayselector_Day that the user want to know state.]] - } - } - } - implements { - class.constructor; - Efl.Object.constructor; - Efl.Ui.Widget.theme_apply; - Efl.Ui.L10n.translation_update; - Efl.Part.part_get; - } - events { - /* FIXME: Nobody emits this - dayselector,changed; [[Called when dayselector widget changed]] - */ - } -} diff --git a/src/lib/elementary/elm_dayselector_eo.c b/src/lib/elementary/elm_dayselector_eo.c new file mode 100644 index 0000000000..a05052e3d5 --- /dev/null +++ b/src/lib/elementary/elm_dayselector_eo.c @@ -0,0 +1,131 @@ + +void _elm_dayselector_week_start_set(Eo *obj, Elm_Dayselector_Data *pd, Elm_Dayselector_Day day); + +EOAPI EFL_VOID_FUNC_BODYV(elm_obj_dayselector_week_start_set, EFL_FUNC_CALL(day), Elm_Dayselector_Day day); + +Elm_Dayselector_Day _elm_dayselector_week_start_get(const Eo *obj, Elm_Dayselector_Data *pd); + +EOAPI EFL_FUNC_BODY_CONST(elm_obj_dayselector_week_start_get, Elm_Dayselector_Day, 0); + +void _elm_dayselector_weekend_length_set(Eo *obj, Elm_Dayselector_Data *pd, unsigned int length); + + +static Eina_Error +__eolian_elm_dayselector_weekend_length_set_reflect(Eo *obj, Eina_Value val) +{ + Eina_Error r = 0; unsigned int cval; + if (!eina_value_uint_convert(&val, &cval)) + { + r = EINA_ERROR_VALUE_FAILED; + goto end; + } + elm_obj_dayselector_weekend_length_set(obj, cval); + end: + eina_value_flush(&val); + return r; +} + +EOAPI EFL_VOID_FUNC_BODYV(elm_obj_dayselector_weekend_length_set, EFL_FUNC_CALL(length), unsigned int length); + +unsigned int _elm_dayselector_weekend_length_get(const Eo *obj, Elm_Dayselector_Data *pd); + + +static Eina_Value +__eolian_elm_dayselector_weekend_length_get_reflect(Eo *obj) +{ + unsigned int val = elm_obj_dayselector_weekend_length_get(obj); + return eina_value_uint_init(val); +} + +EOAPI EFL_FUNC_BODY_CONST(elm_obj_dayselector_weekend_length_get, unsigned int, 0); + +void _elm_dayselector_weekend_start_set(Eo *obj, Elm_Dayselector_Data *pd, Elm_Dayselector_Day day); + +EOAPI EFL_VOID_FUNC_BODYV(elm_obj_dayselector_weekend_start_set, EFL_FUNC_CALL(day), Elm_Dayselector_Day day); + +Elm_Dayselector_Day _elm_dayselector_weekend_start_get(const Eo *obj, Elm_Dayselector_Data *pd); + +EOAPI EFL_FUNC_BODY_CONST(elm_obj_dayselector_weekend_start_get, Elm_Dayselector_Day, 0); + +void _elm_dayselector_weekdays_names_set(Eo *obj, Elm_Dayselector_Data *pd, const char **weekdays); + +EOAPI EFL_VOID_FUNC_BODYV(elm_obj_dayselector_weekdays_names_set, EFL_FUNC_CALL(weekdays), const char **weekdays); + +Eina_List *_elm_dayselector_weekdays_names_get(const Eo *obj, Elm_Dayselector_Data *pd); + +EOAPI EFL_FUNC_BODY_CONST(elm_obj_dayselector_weekdays_names_get, Eina_List *, NULL); + +void _elm_dayselector_day_selected_set(Eo *obj, Elm_Dayselector_Data *pd, Elm_Dayselector_Day day, Eina_Bool selected); + +EOAPI EFL_VOID_FUNC_BODYV(elm_obj_dayselector_day_selected_set, EFL_FUNC_CALL(day, selected), Elm_Dayselector_Day day, Eina_Bool selected); + +Eina_Bool _elm_dayselector_day_selected_get(const Eo *obj, Elm_Dayselector_Data *pd, Elm_Dayselector_Day day); + +EOAPI EFL_FUNC_BODYV_CONST(elm_obj_dayselector_day_selected_get, Eina_Bool, 0, EFL_FUNC_CALL(day), Elm_Dayselector_Day day); + +Efl_Object *_elm_dayselector_efl_object_constructor(Eo *obj, Elm_Dayselector_Data *pd); + + +Eina_Error _elm_dayselector_efl_ui_widget_theme_apply(Eo *obj, Elm_Dayselector_Data *pd); + + +void _elm_dayselector_efl_ui_l10n_translation_update(Eo *obj, Elm_Dayselector_Data *pd); + + +Efl_Object *_elm_dayselector_efl_part_part_get(const Eo *obj, Elm_Dayselector_Data *pd, const char *name); + + +static Eina_Bool +_elm_dayselector_class_initializer(Efl_Class *klass) +{ + const Efl_Object_Ops *opsp = NULL; + + const Efl_Object_Property_Reflection_Ops *ropsp = NULL; + +#ifndef ELM_DAYSELECTOR_EXTRA_OPS +#define ELM_DAYSELECTOR_EXTRA_OPS +#endif + + EFL_OPS_DEFINE(ops, + EFL_OBJECT_OP_FUNC(elm_obj_dayselector_week_start_set, _elm_dayselector_week_start_set), + EFL_OBJECT_OP_FUNC(elm_obj_dayselector_week_start_get, _elm_dayselector_week_start_get), + EFL_OBJECT_OP_FUNC(elm_obj_dayselector_weekend_length_set, _elm_dayselector_weekend_length_set), + EFL_OBJECT_OP_FUNC(elm_obj_dayselector_weekend_length_get, _elm_dayselector_weekend_length_get), + EFL_OBJECT_OP_FUNC(elm_obj_dayselector_weekend_start_set, _elm_dayselector_weekend_start_set), + EFL_OBJECT_OP_FUNC(elm_obj_dayselector_weekend_start_get, _elm_dayselector_weekend_start_get), + EFL_OBJECT_OP_FUNC(elm_obj_dayselector_weekdays_names_set, _elm_dayselector_weekdays_names_set), + EFL_OBJECT_OP_FUNC(elm_obj_dayselector_weekdays_names_get, _elm_dayselector_weekdays_names_get), + EFL_OBJECT_OP_FUNC(elm_obj_dayselector_day_selected_set, _elm_dayselector_day_selected_set), + EFL_OBJECT_OP_FUNC(elm_obj_dayselector_day_selected_get, _elm_dayselector_day_selected_get), + EFL_OBJECT_OP_FUNC(efl_constructor, _elm_dayselector_efl_object_constructor), + EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_dayselector_efl_ui_widget_theme_apply), + EFL_OBJECT_OP_FUNC(efl_ui_l10n_translation_update, _elm_dayselector_efl_ui_l10n_translation_update), + EFL_OBJECT_OP_FUNC(efl_part_get, _elm_dayselector_efl_part_part_get), + ELM_DAYSELECTOR_EXTRA_OPS + ); + opsp = &ops; + + static const Efl_Object_Property_Reflection refl_table[] = { + {"weekend_length", __eolian_elm_dayselector_weekend_length_set_reflect, __eolian_elm_dayselector_weekend_length_get_reflect}, + }; + static const Efl_Object_Property_Reflection_Ops rops = { + refl_table, EINA_C_ARRAY_LENGTH(refl_table) + }; + ropsp = &rops; + + return efl_class_functions_set(klass, opsp, ropsp); +} + +static const Efl_Class_Description _elm_dayselector_class_desc = { + EO_VERSION, + "Elm.Dayselector", + EFL_CLASS_TYPE_REGULAR, + sizeof(Elm_Dayselector_Data), + _elm_dayselector_class_initializer, + _elm_dayselector_class_constructor, + NULL +}; + +EFL_DEFINE_CLASS(elm_dayselector_class_get, &_elm_dayselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); + +#include "elm_dayselector_eo.legacy.c" diff --git a/src/lib/elementary/elm_dayselector_eo.h b/src/lib/elementary/elm_dayselector_eo.h new file mode 100644 index 0000000000..02e3d6fd10 --- /dev/null +++ b/src/lib/elementary/elm_dayselector_eo.h @@ -0,0 +1,194 @@ +#ifndef _ELM_DAYSELECTOR_EO_H_ +#define _ELM_DAYSELECTOR_EO_H_ + +#ifndef _ELM_DAYSELECTOR_EO_CLASS_TYPE +#define _ELM_DAYSELECTOR_EO_CLASS_TYPE + +typedef Eo Elm_Dayselector; + +#endif + +#ifndef _ELM_DAYSELECTOR_EO_TYPES +#define _ELM_DAYSELECTOR_EO_TYPES + +/** + * @brief Identifies the day of the week. API can call the + * selection/unselection of day with this as a parameter. + * + * See also @ref elm_obj_dayselector_day_selected_set, + * @ref elm_obj_dayselector_day_selected_get. + * + * @ingroup Elm_Dayselector + */ +typedef enum +{ + ELM_DAYSELECTOR_SUN = 0, /**< Indicates Sunday. */ + ELM_DAYSELECTOR_MON, /**< Indicates Monday. */ + ELM_DAYSELECTOR_TUE, /**< Indicates Tuesday. */ + ELM_DAYSELECTOR_WED, /**< Indicates Wednesday. */ + ELM_DAYSELECTOR_THU, /**< Indicates Thursday. */ + ELM_DAYSELECTOR_FRI, /**< Indicates Friday. */ + ELM_DAYSELECTOR_SAT, /**< Indicates Saturday. */ + ELM_DAYSELECTOR_MAX /**< Sentinel value to indicate last enum field during + * iteration */ +} Elm_Dayselector_Day; + + +#endif +/** Elementary dayselector class + * + * @ingroup Elm_Dayselector + */ +#define ELM_DAYSELECTOR_CLASS elm_dayselector_class_get() + +EWAPI const Efl_Class *elm_dayselector_class_get(void); + +/** + * @brief Set the starting day of Dayselector. + * + * See also @ref Elm_Dayselector_Day, @ref elm_obj_dayselector_week_start_get. + * + * @param[in] obj The object. + * @param[in] day Dayselector_Day the first day that the user wants to display. + * + * @ingroup Elm_Dayselector + */ +EOAPI void elm_obj_dayselector_week_start_set(Eo *obj, Elm_Dayselector_Day day); + +/** + * @brief Get the starting day of Dayselector. + * + * See also @ref Elm_Dayselector_Day, @ref elm_obj_dayselector_week_start_set. + * + * @param[in] obj The object. + * + * @return Dayselector_Day the first day that the user wants to display. + * + * @ingroup Elm_Dayselector + */ +EOAPI Elm_Dayselector_Day elm_obj_dayselector_week_start_get(const Eo *obj); + +/** + * @brief Set the weekend length of Dayselector. + * + * See also @ref elm_obj_dayselector_weekend_length_get. + * + * @param[in] obj The object. + * @param[in] length Weekend length, number of days as an integer. + * + * @ingroup Elm_Dayselector + */ +EOAPI void elm_obj_dayselector_weekend_length_set(Eo *obj, unsigned int length); + +/** + * @brief Get the weekend length of Dayselector. + * + * See also @ref Elm_Dayselector_Day, + * @ref elm_obj_dayselector_weekend_length_set. + * + * @param[in] obj The object. + * + * @return Weekend length, number of days as an integer. + * + * @ingroup Elm_Dayselector + */ +EOAPI unsigned int elm_obj_dayselector_weekend_length_get(const Eo *obj); + +/** + * @brief Set the weekend starting day of Dayselector. + * + * See also @ref Elm_Dayselector_Day, + * @ref elm_obj_dayselector_weekend_start_get. + * + * @param[in] obj The object. + * @param[in] day Dayselector_Day the first day from where weekend starts. + * + * @ingroup Elm_Dayselector + */ +EOAPI void elm_obj_dayselector_weekend_start_set(Eo *obj, Elm_Dayselector_Day day); + +/** + * @brief Get the weekend starting day of Dayselector. + * + * See also @ref Elm_Dayselector_Day, + * @ref elm_obj_dayselector_weekend_start_set. + * + * @param[in] obj The object. + * + * @return Dayselector_Day the first day from where weekend starts. + * + * @ingroup Elm_Dayselector + */ +EOAPI Elm_Dayselector_Day elm_obj_dayselector_weekend_start_get(const Eo *obj); + +/** + * @brief Set weekdays names to be displayed by the Dayselector. + * + * By default or if weekdays is @c null, weekdays abbreviations get from system + * are displayed: E.g. for an en_US locale: "Sun, Mon, Tue, Wed, Thu, Fri, Sat" + * + * The first string should be related to Sunday, the second to Monday... + * + * See also @ref elm_obj_dayselector_weekdays_names_get, + * @ref elm_obj_dayselector_weekend_start_set. + * + * @param[in] obj The object. + * @param[in] weekdays Array of seven strings to be used as weekday names. + * Warning: It must have 7 elements, or it will access invalid memory. Warning: + * The strings must be NULL terminated ('@\0'). + * + * @since 1.8 + * + * @ingroup Elm_Dayselector + */ +EOAPI void elm_obj_dayselector_weekdays_names_set(Eo *obj, const char **weekdays); + +/** + * @brief Get weekdays names displayed by the calendar. + * + * By default, weekdays abbreviations get from system are displayed: E.g. for + * an en_US locale: "Sun, Mon, Tue, Wed, Thu, Fri, Sat" The first string is + * related to Sunday, the second to Monday... + * + * See also @ref elm_obj_dayselector_weekdays_names_set. + * + * @param[in] obj The object. + * + * @return A list of seven strings to be used as weekday names. + * + * @since 1.8 + * + * @ingroup Elm_Dayselector + */ +EOAPI Eina_List *elm_obj_dayselector_weekdays_names_get(const Eo *obj) EINA_WARN_UNUSED_RESULT; + +/** + * @brief Set the state of given Dayselector_Day. + * + * See also @ref Elm_Dayselector_Day, + * @ref elm_obj_dayselector_day_selected_get. + * + * @param[in] obj The object. + * @param[in] day Dayselector_Day that the user want to set state. + * @param[in] selected State of the day. @c true is selected. + * + * @ingroup Elm_Dayselector + */ +EOAPI void elm_obj_dayselector_day_selected_set(Eo *obj, Elm_Dayselector_Day day, Eina_Bool selected); + +/** + * @brief Get the state of given Dayselector_Day. + * + * See also @ref Elm_Dayselector_Day, + * @ref elm_obj_dayselector_day_selected_set. + * + * @param[in] obj The object. + * @param[in] day Dayselector_Day that the user want to know state. + * + * @return @c true on success, @c false on failure + * + * @ingroup Elm_Dayselector + */ +EOAPI Eina_Bool elm_obj_dayselector_day_selected_get(const Eo *obj, Elm_Dayselector_Day day); + +#endif diff --git a/src/lib/elementary/elm_dayselector_eo.legacy.c b/src/lib/elementary/elm_dayselector_eo.legacy.c new file mode 100644 index 0000000000..20ad0d8777 --- /dev/null +++ b/src/lib/elementary/elm_dayselector_eo.legacy.c @@ -0,0 +1,60 @@ + +EAPI void +elm_dayselector_week_start_set(Elm_Dayselector *obj, Elm_Dayselector_Day day) +{ + elm_obj_dayselector_week_start_set(obj, day); +} + +EAPI Elm_Dayselector_Day +elm_dayselector_week_start_get(const Elm_Dayselector *obj) +{ + return elm_obj_dayselector_week_start_get(obj); +} + +EAPI void +elm_dayselector_weekend_length_set(Elm_Dayselector *obj, unsigned int length) +{ + elm_obj_dayselector_weekend_length_set(obj, length); +} + +EAPI unsigned int +elm_dayselector_weekend_length_get(const Elm_Dayselector *obj) +{ + return elm_obj_dayselector_weekend_length_get(obj); +} + +EAPI void +elm_dayselector_weekend_start_set(Elm_Dayselector *obj, Elm_Dayselector_Day day) +{ + elm_obj_dayselector_weekend_start_set(obj, day); +} + +EAPI Elm_Dayselector_Day +elm_dayselector_weekend_start_get(const Elm_Dayselector *obj) +{ + return elm_obj_dayselector_weekend_start_get(obj); +} + +EAPI void +elm_dayselector_weekdays_names_set(Elm_Dayselector *obj, const char **weekdays) +{ + elm_obj_dayselector_weekdays_names_set(obj, weekdays); +} + +EAPI Eina_List * +elm_dayselector_weekdays_names_get(const Elm_Dayselector *obj) +{ + return elm_obj_dayselector_weekdays_names_get(obj); +} + +EAPI void +elm_dayselector_day_selected_set(Elm_Dayselector *obj, Elm_Dayselector_Day day, Eina_Bool selected) +{ + elm_obj_dayselector_day_selected_set(obj, day, selected); +} + +EAPI Eina_Bool +elm_dayselector_day_selected_get(const Elm_Dayselector *obj, Elm_Dayselector_Day day) +{ + return elm_obj_dayselector_day_selected_get(obj, day); +} diff --git a/src/lib/elementary/elm_dayselector_eo.legacy.h b/src/lib/elementary/elm_dayselector_eo.legacy.h new file mode 100644 index 0000000000..0e524b0e2b --- /dev/null +++ b/src/lib/elementary/elm_dayselector_eo.legacy.h @@ -0,0 +1,182 @@ +#ifndef _ELM_DAYSELECTOR_EO_LEGACY_H_ +#define _ELM_DAYSELECTOR_EO_LEGACY_H_ + +#ifndef _ELM_DAYSELECTOR_EO_CLASS_TYPE +#define _ELM_DAYSELECTOR_EO_CLASS_TYPE + +typedef Eo Elm_Dayselector; + +#endif + +#ifndef _ELM_DAYSELECTOR_EO_TYPES +#define _ELM_DAYSELECTOR_EO_TYPES + +/** + * @brief Identifies the day of the week. API can call the + * selection/unselection of day with this as a parameter. + * + * See also @ref elm_dayselector_day_selected_set, + * @ref elm_dayselector_day_selected_get. + * + * @ingroup Elm_Dayselector + */ +typedef enum +{ + ELM_DAYSELECTOR_SUN = 0, /**< Indicates Sunday. */ + ELM_DAYSELECTOR_MON, /**< Indicates Monday. */ + ELM_DAYSELECTOR_TUE, /**< Indicates Tuesday. */ + ELM_DAYSELECTOR_WED, /**< Indicates Wednesday. */ + ELM_DAYSELECTOR_THU, /**< Indicates Thursday. */ + ELM_DAYSELECTOR_FRI, /**< Indicates Friday. */ + ELM_DAYSELECTOR_SAT, /**< Indicates Saturday. */ + ELM_DAYSELECTOR_MAX /**< Sentinel value to indicate last enum field during + * iteration */ +} Elm_Dayselector_Day; + + +#endif + +/** + * @brief Set the starting day of Dayselector. + * + * See also @ref Elm_Dayselector_Day, @ref elm_dayselector_week_start_get. + * + * @param[in] obj The object. + * @param[in] day Dayselector_Day the first day that the user wants to display. + * + * @ingroup Elm_Dayselector_Group + */ +EAPI void elm_dayselector_week_start_set(Elm_Dayselector *obj, Elm_Dayselector_Day day); + +/** + * @brief Get the starting day of Dayselector. + * + * See also @ref Elm_Dayselector_Day, @ref elm_dayselector_week_start_set. + * + * @param[in] obj The object. + * + * @return Dayselector_Day the first day that the user wants to display. + * + * @ingroup Elm_Dayselector_Group + */ +EAPI Elm_Dayselector_Day elm_dayselector_week_start_get(const Elm_Dayselector *obj); + +/** + * @brief Set the weekend length of Dayselector. + * + * See also @ref elm_dayselector_weekend_length_get. + * + * @param[in] obj The object. + * @param[in] length Weekend length, number of days as an integer. + * + * @ingroup Elm_Dayselector_Group + */ +EAPI void elm_dayselector_weekend_length_set(Elm_Dayselector *obj, unsigned int length); + +/** + * @brief Get the weekend length of Dayselector. + * + * See also @ref Elm_Dayselector_Day, @ref elm_dayselector_weekend_length_set. + * + * @param[in] obj The object. + * + * @return Weekend length, number of days as an integer. + * + * @ingroup Elm_Dayselector_Group + */ +EAPI unsigned int elm_dayselector_weekend_length_get(const Elm_Dayselector *obj); + +/** + * @brief Set the weekend starting day of Dayselector. + * + * See also @ref Elm_Dayselector_Day, @ref elm_dayselector_weekend_start_get. + * + * @param[in] obj The object. + * @param[in] day Dayselector_Day the first day from where weekend starts. + * + * @ingroup Elm_Dayselector_Group + */ +EAPI void elm_dayselector_weekend_start_set(Elm_Dayselector *obj, Elm_Dayselector_Day day); + +/** + * @brief Get the weekend starting day of Dayselector. + * + * See also @ref Elm_Dayselector_Day, @ref elm_dayselector_weekend_start_set. + * + * @param[in] obj The object. + * + * @return Dayselector_Day the first day from where weekend starts. + * + * @ingroup Elm_Dayselector_Group + */ +EAPI Elm_Dayselector_Day elm_dayselector_weekend_start_get(const Elm_Dayselector *obj); + +/** + * @brief Set weekdays names to be displayed by the Dayselector. + * + * By default or if weekdays is @c null, weekdays abbreviations get from system + * are displayed: E.g. for an en_US locale: "Sun, Mon, Tue, Wed, Thu, Fri, Sat" + * + * The first string should be related to Sunday, the second to Monday... + * + * See also @ref elm_dayselector_weekdays_names_get, + * @ref elm_dayselector_weekend_start_set. + * + * @param[in] obj The object. + * @param[in] weekdays Array of seven strings to be used as weekday names. + * Warning: It must have 7 elements, or it will access invalid memory. Warning: + * The strings must be NULL terminated ('@\0'). + * + * @since 1.8 + * + * @ingroup Elm_Dayselector_Group + */ +EAPI void elm_dayselector_weekdays_names_set(Elm_Dayselector *obj, const char **weekdays); + +/** + * @brief Get weekdays names displayed by the calendar. + * + * By default, weekdays abbreviations get from system are displayed: E.g. for + * an en_US locale: "Sun, Mon, Tue, Wed, Thu, Fri, Sat" The first string is + * related to Sunday, the second to Monday... + * + * See also @ref elm_dayselector_weekdays_names_set. + * + * @param[in] obj The object. + * + * @return A list of seven strings to be used as weekday names. + * + * @since 1.8 + * + * @ingroup Elm_Dayselector_Group + */ +EAPI Eina_List *elm_dayselector_weekdays_names_get(const Elm_Dayselector *obj) EINA_WARN_UNUSED_RESULT; + +/** + * @brief Set the state of given Dayselector_Day. + * + * See also @ref Elm_Dayselector_Day, @ref elm_dayselector_day_selected_get. + * + * @param[in] obj The object. + * @param[in] day Dayselector_Day that the user want to set state. + * @param[in] selected State of the day. @c true is selected. + * + * @ingroup Elm_Dayselector_Group + */ +EAPI void elm_dayselector_day_selected_set(Elm_Dayselector *obj, Elm_Dayselector_Day day, Eina_Bool selected); + +/** + * @brief Get the state of given Dayselector_Day. + * + * See also @ref Elm_Dayselector_Day, @ref elm_dayselector_day_selected_set. + * + * @param[in] obj The object. + * @param[in] day Dayselector_Day that the user want to know state. + * + * @return @c true on success, @c false on failure + * + * @ingroup Elm_Dayselector_Group + */ +EAPI Eina_Bool elm_dayselector_day_selected_get(const Elm_Dayselector *obj, Elm_Dayselector_Day day); + +#endif diff --git a/src/lib/elementary/elm_dayselector_item.eo b/src/lib/elementary/elm_dayselector_item.eo deleted file mode 100644 index a39a48d701..0000000000 --- a/src/lib/elementary/elm_dayselector_item.eo +++ /dev/null @@ -1,8 +0,0 @@ -class Elm.Dayselector.Item extends Elm.Widget.Item -{ - [[Elementary dayselector item class]] - eo_prefix: elm_dayselector_item; - implements { - Efl.Object.constructor; - } -} diff --git a/src/lib/elementary/elm_dayselector_item_eo.c b/src/lib/elementary/elm_dayselector_item_eo.c new file mode 100644 index 0000000000..7850ec6c14 --- /dev/null +++ b/src/lib/elementary/elm_dayselector_item_eo.c @@ -0,0 +1,35 @@ + +Efl_Object *_elm_dayselector_item_efl_object_constructor(Eo *obj, Elm_Dayselector_Item_Data *pd); + + +static Eina_Bool +_elm_dayselector_item_class_initializer(Efl_Class *klass) +{ + const Efl_Object_Ops *opsp = NULL; + + const Efl_Object_Property_Reflection_Ops *ropsp = NULL; + +#ifndef ELM_DAYSELECTOR_ITEM_EXTRA_OPS +#define ELM_DAYSELECTOR_ITEM_EXTRA_OPS +#endif + + EFL_OPS_DEFINE(ops, + EFL_OBJECT_OP_FUNC(efl_constructor, _elm_dayselector_item_efl_object_constructor), + ELM_DAYSELECTOR_ITEM_EXTRA_OPS + ); + opsp = &ops; + + return efl_class_functions_set(klass, opsp, ropsp); +} + +static const Efl_Class_Description _elm_dayselector_item_class_desc = { + EO_VERSION, + "Elm.Dayselector.Item", + EFL_CLASS_TYPE_REGULAR, + sizeof(Elm_Dayselector_Item_Data), + _elm_dayselector_item_class_initializer, + NULL, + NULL +}; + +EFL_DEFINE_CLASS(elm_dayselector_item_class_get, &_elm_dayselector_item_class_desc, ELM_WIDGET_ITEM_CLASS, NULL); diff --git a/src/lib/elementary/elm_dayselector_item_eo.h b/src/lib/elementary/elm_dayselector_item_eo.h new file mode 100644 index 0000000000..192c5b41a4 --- /dev/null +++ b/src/lib/elementary/elm_dayselector_item_eo.h @@ -0,0 +1,24 @@ +#ifndef _ELM_DAYSELECTOR_ITEM_EO_H_ +#define _ELM_DAYSELECTOR_ITEM_EO_H_ + +#ifndef _ELM_DAYSELECTOR_ITEM_EO_CLASS_TYPE +#define _ELM_DAYSELECTOR_ITEM_EO_CLASS_TYPE + +typedef Eo Elm_Dayselector_Item; + +#endif + +#ifndef _ELM_DAYSELECTOR_ITEM_EO_TYPES +#define _ELM_DAYSELECTOR_ITEM_EO_TYPES + + +#endif +/** Elementary dayselector item class + * + * @ingroup Elm_Dayselector_Item + */ +#define ELM_DAYSELECTOR_ITEM_CLASS elm_dayselector_item_class_get() + +EWAPI const Efl_Class *elm_dayselector_item_class_get(void); + +#endif diff --git a/src/lib/elementary/elm_dayselector_item_eo.legacy.h b/src/lib/elementary/elm_dayselector_item_eo.legacy.h new file mode 100644 index 0000000000..e39ee863ae --- /dev/null +++ b/src/lib/elementary/elm_dayselector_item_eo.legacy.h @@ -0,0 +1,17 @@ +#ifndef _ELM_DAYSELECTOR_ITEM_EO_LEGACY_H_ +#define _ELM_DAYSELECTOR_ITEM_EO_LEGACY_H_ + +#ifndef _ELM_DAYSELECTOR_ITEM_EO_CLASS_TYPE +#define _ELM_DAYSELECTOR_ITEM_EO_CLASS_TYPE + +typedef Eo Elm_Dayselector_Item; + +#endif + +#ifndef _ELM_DAYSELECTOR_ITEM_EO_TYPES +#define _ELM_DAYSELECTOR_ITEM_EO_TYPES + + +#endif + +#endif diff --git a/src/lib/elementary/elm_dayselector_legacy.h b/src/lib/elementary/elm_dayselector_legacy.h index b30e574ffa..cb94d972be 100644 --- a/src/lib/elementary/elm_dayselector_legacy.h +++ b/src/lib/elementary/elm_dayselector_legacy.h @@ -8,4 +8,4 @@ */ EAPI Evas_Object *elm_dayselector_add(Evas_Object *parent); -#include "elm_dayselector.eo.legacy.h" +#include "elm_dayselector_eo.legacy.h" diff --git a/src/lib/elementary/elm_widget_dayselector.h b/src/lib/elementary/elm_widget_dayselector.h index ee552e3b77..b150e976e4 100644 --- a/src/lib/elementary/elm_widget_dayselector.h +++ b/src/lib/elementary/elm_widget_dayselector.h @@ -2,8 +2,8 @@ #define ELM_WIDGET_DAYSELECTOR_H #include "Elementary.h" -#include "elm_dayselector_item.eo.h" -#include "elm_dayselector.eo.h" +#include "elm_dayselector_item_eo.h" +#include "elm_dayselector_eo.h" /* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build index 6aadb2cf94..ded37efddd 100644 --- a/src/lib/elementary/meson.build +++ b/src/lib/elementary/meson.build @@ -1,7 +1,6 @@ pub_legacy_eo_files = [ 'efl_ui_clock_legacy.eo', 'elm_interface_fileselector.eo', - 'elm_dayselector.eo', 'elm_entry.eo', 'elm_fileselector.eo', 'elm_gengrid.eo', @@ -28,7 +27,6 @@ pub_legacy_eo_files = [ 'elm_sys_notify.eo', 'elm_sys_notify_dbus.eo', 'elm_systray.eo', - 'elm_dayselector_item.eo', 'elm_flipselector_item.eo', 'elm_menu_item.eo', 'elm_index_item.eo', @@ -736,6 +734,10 @@ elementary_pub_headers = [ 'elm_ctxpopup_eo.legacy.h', 'elm_ctxpopup_item_eo.h', 'elm_ctxpopup_item_eo.legacy.h', + 'elm_dayselector_eo.h', + 'elm_dayselector_eo.legacy.h', + 'elm_dayselector_item_eo.h', + 'elm_dayselector_item_eo.legacy.h', 'elm_hoversel_eo.h', 'elm_hoversel_eo.legacy.h', 'elm_hoversel_item_eo.h',