efl/src/lib/elementary/elm_dayselector_eo.h

195 lines
5.4 KiB
C

#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