#! /usr/bin/env ruby # -*- coding: UTF-8 -*- # require 'efl/native' require 'efl/native/elementary' # module Efl # module ElmCalendar # FCT_PREFIX = 'elm_calendar_' unless const_defined? :FCT_PREFIX # def self.method_missing meth, *args, &block sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX self.send sym, *args, &block end # end # module Native # ffi_lib 'elementary.so.1' # # ENUMS # typedef enum {...} _Elm_Calendar_Mark_Repeat_Type; enum :_elm_calendar_mark_repeat_type, [ :elm_calendar_unique, :elm_calendar_daily, :elm_calendar_weekly, :elm_calendar_monthly, :elm_calendar_annually, :elm_calendar_last_day_of_month ] # typedef enum {...} _Elm_Calendar_Weekday; enum :_elm_calendar_weekday, [ :elm_day_sunday, :elm_day_monday, :elm_day_tuesday, :elm_day_wednesday, :elm_day_thursday, :elm_day_friday, :elm_day_saturday, :elm_day_last ] # typedef enum {...} _Elm_Calendar_Select_Mode; enum :_elm_calendar_select_mode, [ :elm_calendar_select_mode_default, 0, :elm_calendar_select_mode_always, 1, :elm_calendar_select_mode_none, 2, :elm_calendar_select_mode_ondemand, 3 ] # typedef enum {...} _Elm_Calendar_Selectable; enum :_elm_calendar_selectable, [ :elm_calendar_selectable_none, 0, :elm_calendar_selectable_year, (1<<0), :elm_calendar_selectable_month, (1<<1), :elm_calendar_selectable_day, (1<<2) ] # # TYPEDEFS # typedef _Elm_Calendar_Mark_Repeat_Type Elm_Calendar_Mark_Repeat_Type; typedef :_elm_calendar_mark_repeat_type, :elm_calendar_mark_repeat_type # typedef _Elm_Calendar_Weekday Elm_Calendar_Weekday; typedef :_elm_calendar_weekday, :elm_calendar_weekday # typedef _Elm_Calendar_Select_Mode Elm_Calendar_Select_Mode; typedef :_elm_calendar_select_mode, :elm_calendar_select_mode # typedef _Elm_Calendar_Selectable Elm_Calendar_Selectable; typedef :_elm_calendar_selectable, :elm_calendar_selectable # typedef struct _Elm_Calendar_Mark Elm_Calendar_Mark; typedef :pointer, :elm_calendar_mark # # CALLBACKS # typedef char * (*Elm_Calendar_Format_Cb) (struct tm *stime); callback :elm_calendar_format_cb, [ :pointer ], :string # # FUNCTIONS fcts = [ # EAPI void elm_calendar_weekdays_names_set(Evas_Object *obj, const char *weekdays[]); # FIXME # EAPI void elm_calendar_mark_del(Elm_Calendar_Mark *mark); [ :elm_calendar_mark_del, [ :elm_calendar_mark ], :void ], # EAPI Evas_Object *elm_calendar_add(Evas_Object *parent); [ :elm_calendar_add, [ :pointer ], :pointer ], # EAPI const char **elm_calendar_weekdays_names_get(const Evas_Object *obj); [ :elm_calendar_weekdays_names_get, [ :pointer ], :pointer ], # EAPI void elm_calendar_interval_set(Evas_Object *obj, double interval); [ :elm_calendar_interval_set, [ :pointer, :double ], :void ], # EAPI double elm_calendar_interval_get(const Evas_Object *obj); [ :elm_calendar_interval_get, [ :pointer ], :double ], # EAPI void elm_calendar_min_max_year_set(Evas_Object *obj, int min, int max); [ :elm_calendar_min_max_year_set, [ :pointer, :int, :int ], :void ], # EAPI void elm_calendar_min_max_year_get(const Evas_Object *obj, int *min, int *max); [ :elm_calendar_min_max_year_get, [ :pointer, :pointer, :pointer ], :void ], # EAPI void elm_calendar_selected_time_set(Evas_Object *obj, struct tm *selected_time); [ :elm_calendar_selected_time_set, [ :pointer, :pointer ], :void ], # EAPI Eina_Bool elm_calendar_selected_time_get(const Evas_Object *obj, struct tm *selected_time); [ :elm_calendar_selected_time_get, [ :pointer, :pointer ], :bool ], # EAPI void elm_calendar_format_function_set(Evas_Object *obj, Elm_Calendar_Format_Cb format_func); [ :elm_calendar_format_function_set, [ :pointer, :elm_calendar_format_cb ], :void ], # EAPI Elm_Calendar_Mark *elm_calendar_mark_add(Evas_Object *obj, const char *mark_type, struct tm *mark_time, Elm_Calendar_Mark_Repeat_Type repeat); [ :elm_calendar_mark_add, [ :pointer, :string, :pointer, :_elm_calendar_mark_repeat_type ], :elm_calendar_mark ], # EAPI void elm_calendar_marks_clear(Evas_Object *obj); [ :elm_calendar_marks_clear, [ :pointer ], :void ], # EAPI const Eina_List *elm_calendar_marks_get(const Evas_Object *obj); [ :elm_calendar_marks_get, [ :pointer ], :eina_list ], # EAPI void elm_calendar_marks_draw(Evas_Object *obj); [ :elm_calendar_marks_draw, [ :pointer ], :void ], # EAPI void elm_calendar_first_day_of_week_set(Evas_Object *obj, Elm_Calendar_Weekday day); [ :elm_calendar_first_day_of_week_set, [ :pointer, :_elm_calendar_weekday ], :void ], # EAPI Elm_Calendar_Weekday elm_calendar_first_day_of_week_get(const Evas_Object *obj); [ :elm_calendar_first_day_of_week_get, [ :pointer ], :_elm_calendar_weekday ], # EAPI void elm_calendar_select_mode_set(Evas_Object *obj, Elm_Calendar_Select_Mode mode); [ :elm_calendar_select_mode_set, [ :pointer, :_elm_calendar_select_mode ], :void ], # EAPI Elm_Calendar_Select_Mode elm_calendar_select_mode_get(const Evas_Object *obj); [ :elm_calendar_select_mode_get, [ :pointer ], :_elm_calendar_select_mode ], # EAPI void elm_calendar_selectable_set(Evas_Object *obj, Elm_Calendar_Selectable selectable); [ :elm_calendar_selectable_set, [ :pointer, :_elm_calendar_selectable ], :void ], # EAPI Elm_Calendar_Selectable elm_calendar_selectable_get(const Evas_Object *obj); [ :elm_calendar_selectable_get, [ :pointer ], :_elm_calendar_selectable ], # EAPI Eina_Bool elm_calendar_displayed_time_get(const Evas_Object *obj, struct tm *displayed_time); [ :elm_calendar_displayed_time_get, [ :pointer, :pointer ], :bool ], ] # attach_fcts fcts # end end # # EOF