EAPI EAPI_WEAK const Efl_Event_Description _EFL_UI_CALENDAR_EVENT_CHANGED =
   EFL_EVENT_DESCRIPTION("changed");

void _efl_ui_calendar_first_day_of_week_set(Eo *obj, Efl_Ui_Calendar_Data *pd, Efl_Ui_Calendar_Weekday day);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_ui_calendar_first_day_of_week_set, EFL_FUNC_CALL(day), Efl_Ui_Calendar_Weekday day);

Efl_Ui_Calendar_Weekday _efl_ui_calendar_first_day_of_week_get(const Eo *obj, Efl_Ui_Calendar_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_ui_calendar_first_day_of_week_get, Efl_Ui_Calendar_Weekday, 0 /* Efl.Ui.Calendar_Weekday.sunday */);

Eina_Bool _efl_ui_calendar_date_min_set(Eo *obj, Efl_Ui_Calendar_Data *pd, Efl_Time min);

EAPI EAPI_WEAK EFL_FUNC_BODYV(efl_ui_calendar_date_min_set, Eina_Bool, 0, EFL_FUNC_CALL(min), Efl_Time min);

Efl_Time _efl_ui_calendar_date_min_get(const Eo *obj, Efl_Ui_Calendar_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_ui_calendar_date_min_get, Efl_Time, ((Efl_Time){0}));

Eina_Bool _efl_ui_calendar_date_max_set(Eo *obj, Efl_Ui_Calendar_Data *pd, Efl_Time max);

EAPI EAPI_WEAK EFL_FUNC_BODYV(efl_ui_calendar_date_max_set, Eina_Bool, 0, EFL_FUNC_CALL(max), Efl_Time max);

Efl_Time _efl_ui_calendar_date_max_get(const Eo *obj, Efl_Ui_Calendar_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_ui_calendar_date_max_get, Efl_Time, ((Efl_Time){0}));

Eina_Bool _efl_ui_calendar_date_set(Eo *obj, Efl_Ui_Calendar_Data *pd, Efl_Time date);

EAPI EAPI_WEAK EFL_FUNC_BODYV(efl_ui_calendar_date_set, Eina_Bool, 0, EFL_FUNC_CALL(date), Efl_Time date);

Efl_Time _efl_ui_calendar_date_get(const Eo *obj, Efl_Ui_Calendar_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_ui_calendar_date_get, Efl_Time, ((Efl_Time){0}));

Efl_Object *_efl_ui_calendar_efl_object_constructor(Eo *obj, Efl_Ui_Calendar_Data *pd);


void _efl_ui_calendar_efl_object_destructor(Eo *obj, Efl_Ui_Calendar_Data *pd);


void _efl_ui_calendar_efl_canvas_group_group_calculate(Eo *obj, Efl_Ui_Calendar_Data *pd);


Eina_Error _efl_ui_calendar_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Calendar_Data *pd);


void _efl_ui_calendar_efl_ui_widget_on_access_update(Eo *obj, Efl_Ui_Calendar_Data *pd, Eina_Bool enable);


Eina_Bool _efl_ui_calendar_efl_ui_focus_object_on_focus_update(Eo *obj, Efl_Ui_Calendar_Data *pd);


Eina_Bool _efl_ui_calendar_efl_ui_widget_widget_input_event_handler(Eo *obj, Efl_Ui_Calendar_Data *pd, const Efl_Event *eo_event, Efl_Canvas_Object *source);


const Efl_Access_Action_Data *_efl_ui_calendar_efl_access_widget_action_elm_actions_get(const Eo *obj, Efl_Ui_Calendar_Data *pd);


void _efl_ui_calendar_efl_ui_format_apply_formatted_value(Eo *obj, Efl_Ui_Calendar_Data *pd);


static Eina_Bool
_efl_ui_calendar_class_initializer(Efl_Class *klass)
{
   const Efl_Object_Ops *opsp = NULL;

   const Efl_Object_Property_Reflection_Ops *ropsp = NULL;

#ifndef EFL_UI_CALENDAR_EXTRA_OPS
#define EFL_UI_CALENDAR_EXTRA_OPS
#endif

   EFL_OPS_DEFINE(ops,
      EFL_OBJECT_OP_FUNC(efl_ui_calendar_first_day_of_week_set, _efl_ui_calendar_first_day_of_week_set),
      EFL_OBJECT_OP_FUNC(efl_ui_calendar_first_day_of_week_get, _efl_ui_calendar_first_day_of_week_get),
      EFL_OBJECT_OP_FUNC(efl_ui_calendar_date_min_set, _efl_ui_calendar_date_min_set),
      EFL_OBJECT_OP_FUNC(efl_ui_calendar_date_min_get, _efl_ui_calendar_date_min_get),
      EFL_OBJECT_OP_FUNC(efl_ui_calendar_date_max_set, _efl_ui_calendar_date_max_set),
      EFL_OBJECT_OP_FUNC(efl_ui_calendar_date_max_get, _efl_ui_calendar_date_max_get),
      EFL_OBJECT_OP_FUNC(efl_ui_calendar_date_set, _efl_ui_calendar_date_set),
      EFL_OBJECT_OP_FUNC(efl_ui_calendar_date_get, _efl_ui_calendar_date_get),
      EFL_OBJECT_OP_FUNC(efl_constructor, _efl_ui_calendar_efl_object_constructor),
      EFL_OBJECT_OP_FUNC(efl_destructor, _efl_ui_calendar_efl_object_destructor),
      EFL_OBJECT_OP_FUNC(efl_canvas_group_calculate, _efl_ui_calendar_efl_canvas_group_group_calculate),
      EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _efl_ui_calendar_efl_ui_widget_theme_apply),
      EFL_OBJECT_OP_FUNC(efl_ui_widget_on_access_update, _efl_ui_calendar_efl_ui_widget_on_access_update),
      EFL_OBJECT_OP_FUNC(efl_ui_focus_object_on_focus_update, _efl_ui_calendar_efl_ui_focus_object_on_focus_update),
      EFL_OBJECT_OP_FUNC(efl_ui_widget_input_event_handler, _efl_ui_calendar_efl_ui_widget_widget_input_event_handler),
      EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _efl_ui_calendar_efl_access_widget_action_elm_actions_get),
      EFL_OBJECT_OP_FUNC(efl_ui_format_apply_formatted_value, _efl_ui_calendar_efl_ui_format_apply_formatted_value),
      EFL_UI_CALENDAR_EXTRA_OPS
   );
   opsp = &ops;

   return efl_class_functions_set(klass, opsp, ropsp);
}

static const Efl_Class_Description _efl_ui_calendar_class_desc = {
   EO_VERSION,
   "Efl.Ui.Calendar",
   EFL_CLASS_TYPE_REGULAR,
   sizeof(Efl_Ui_Calendar_Data),
   _efl_ui_calendar_class_initializer,
   _efl_ui_calendar_class_constructor,
   NULL
};

EFL_DEFINE_CLASS(efl_ui_calendar_class_get, &_efl_ui_calendar_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_FORMAT_MIXIN, NULL);
