/usr/include/elementary-1/elm_calendar_legacy.h is in libelementary-dev 1.8.5-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 | /**
* Add a new calendar widget to the given parent Elementary
* (container) object.
*
* @param parent The parent object.
* @return a new calendar widget handle or @c NULL, on errors.
*
* This function inserts a new calendar widget on the canvas.
*
* @ref calendar_example_01
*
* @ingroup Calendar
*/
EAPI Evas_Object *elm_calendar_add(Evas_Object *parent);
/**
* Get weekdays names displayed by the calendar.
*
* @param obj The calendar object.
* @return Array of seven strings to be used as weekday names.
*
* 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 elm_calendar_weekdays_name_set()
*
* @ref calendar_example_05
*
* @ingroup Calendar
*/
EAPI const char **elm_calendar_weekdays_names_get(const Evas_Object *obj);
/**
* Set the interval on time updates for an user mouse button hold
* on calendar widgets' month/year selection.
*
* @param obj The calendar object
* @param interval The (first) interval value in seconds
*
* This interval value is @b decreased while the user holds the
* mouse pointer either selecting next or previous month/year.
*
* This helps the user to get to a given month distant from the
* current one easier/faster, as it will start to change quicker and
* quicker on mouse button holds.
*
* The calculation for the next change interval value, starting from
* the one set with this call, is the previous interval divided by
* 1.05, so it decreases a little bit.
*
* The default starting interval value for automatic changes is
* @b 0.85 seconds.
*
* @see elm_calendar_interval_get()
*
* @ingroup Calendar
*/
EAPI void elm_calendar_interval_set(Evas_Object *obj, double interval);
/**
* Get the interval on time updates for an user mouse button hold
* on calendar widgets' month/year selection.
*
* @param obj The calendar object
* @return The (first) interval value, in seconds, set on it
*
* @see elm_calendar_interval_set() for more details
*
* @ingroup Calendar
*/
EAPI double elm_calendar_interval_get(const Evas_Object *obj);
/**
* Set the minimum and maximum values for the year
*
* @param obj The calendar object
* @param min The minimum year, greater than 1901;
* @param max The maximum year;
*
* Maximum must be greater than minimum, except if you don't want to set
* maximum year.
* Default values are 1902 and -1.
*
* If the maximum year is a negative value, it will be limited depending
* on the platform architecture (year 2037 for 32 bits);
*
* @see elm_calendar_min_max_year_get()
*
* @ref calendar_example_03
*
* @ingroup Calendar
*/
EAPI void elm_calendar_min_max_year_set(Evas_Object *obj, int min, int max);
/**
* Get the minimum and maximum values for the year
*
* @param obj The calendar object.
* @param min The minimum year.
* @param max The maximum year.
*
* Default values are 1902 and -1.
*
* @see elm_calendar_min_max_year_set() for more details.
*
* @ref calendar_example_05
*
* @ingroup Calendar
*/
EAPI void elm_calendar_min_max_year_get(const Evas_Object *obj, int *min, int *max);
/**
* Set selected date to be highlighted on calendar.
*
* @param obj The calendar object.
* @param selected_time A @b tm struct to represent the selected date.
*
* Set the selected date, changing the displayed month if needed.
* Selected date changes when the user goes to next/previous month or
* select a day pressing over it on calendar.
*
* @see elm_calendar_selected_time_get()
*
* @ref calendar_example_04
*
* @ingroup Calendar
*/
EAPI void elm_calendar_selected_time_set(Evas_Object *obj, struct tm *selected_time);
/**
* Get selected date.
*
* @param obj The calendar object
* @param selected_time A @b tm struct to point to selected date
* @return EINA_FALSE means an error occurred and returned time shouldn't
* be considered.
*
* Get date selected by the user or set by function
* elm_calendar_selected_time_set().
* Selected date changes when the user goes to next/previous month or
* select a day pressing over it on calendar.
*
* @see elm_calendar_selected_time_get()
*
* @ref calendar_example_05
*
* @ingroup Calendar
*/
EAPI Eina_Bool elm_calendar_selected_time_get(const Evas_Object *obj, struct tm *selected_time);
/**
* Set a function to format the string that will be used to display
* month and year;
*
* @param obj The calendar object
* @param format_func Function to set the month-year string given
* the selected date
*
* By default it uses strftime with "%B %Y" format string.
* It should allocate the memory that will be used by the string,
* that will be freed by the widget after usage.
* A pointer to the string and a pointer to the time struct will be provided.
*
* Example:
* @code
* static char *
* _format_month_year(struct tm *selected_time)
* {
* char buf[32];
* if (!strftime(buf, sizeof(buf), "%B %Y", selected_time)) return NULL;
* return strdup(buf);
* }
*
* elm_calendar_format_function_set(calendar, _format_month_year);
* @endcode
*
* @ref calendar_example_02
*
* @ingroup Calendar
*/
EAPI void elm_calendar_format_function_set(Evas_Object *obj, Elm_Calendar_Format_Cb format_func);
/**
* Add a new mark to the calendar
*
* @param obj The calendar object
* @param mark_type A string used to define the type of mark. It will be
* emitted to the theme, that should display a related modification on these
* days representation.
* @param mark_time A time struct to represent the date of inclusion of the
* mark. For marks that repeats it will just be displayed after the inclusion
* date in the calendar.
* @param repeat Repeat the event following this periodicity. Can be a unique
* mark (that don't repeat), daily, weekly, monthly or annually.
* @return The created mark or @p NULL upon failure.
*
* Add a mark that will be drawn in the calendar respecting the insertion
* time and periodicity. It will emit the type as signal to the widget theme.
* Default theme supports "holiday" and "checked", but it can be extended.
*
* It won't immediately update the calendar, drawing the marks.
* For this, call elm_calendar_marks_draw(). However, when user selects
* next or previous month calendar forces marks drawn.
*
* Marks created with this method can be deleted with
* elm_calendar_mark_del().
*
* Example
* @code
* struct tm selected_time;
* time_t current_time;
*
* current_time = time(NULL) + 5 * (24 * 60 * 60);
* localtime_r(¤t_time, &selected_time);
* elm_calendar_mark_add(cal, "holiday", selected_time,
* ELM_CALENDAR_ANNUALLY);
*
* current_time = time(NULL) + 1 * (24 * 60 * 60);
* localtime_r(¤t_time, &selected_time);
* elm_calendar_mark_add(cal, "checked", selected_time, ELM_CALENDAR_UNIQUE);
*
* elm_calendar_marks_draw(cal);
* @endcode
*
* @see elm_calendar_marks_draw()
* @see elm_calendar_mark_del()
*
* @ref calendar_example_06
*
* @ingroup Calendar
*/
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);
/**
* Remove all calendar's marks
*
* @param obj The calendar object.
*
* @see elm_calendar_mark_add()
* @see elm_calendar_mark_del()
*
* @ingroup Calendar
*/
EAPI void elm_calendar_marks_clear(Evas_Object *obj);
/**
* Get a list of all the calendar marks.
*
* @param obj The calendar object.
* @return An @c Eina_List of calendar marks objects, or @c NULL on failure.
*
* @see elm_calendar_mark_add()
* @see elm_calendar_mark_del()
* @see elm_calendar_marks_clear()
*
* @ingroup Calendar
*/
EAPI const Eina_List *elm_calendar_marks_get(const Evas_Object *obj);
/**
* Draw calendar marks.
*
* @param obj The calendar object.
*
* Should be used after adding, removing or clearing marks.
* It will go through the entire marks list updating the calendar.
* If lots of marks will be added, add all the marks and then call
* this function.
*
* When the month is changed, i.e. user selects next or previous month,
* marks will be drawn.
*
* @see elm_calendar_mark_add()
* @see elm_calendar_mark_del()
* @see elm_calendar_marks_clear()
*
* @ref calendar_example_06
*
* @ingroup Calendar
*/
EAPI void elm_calendar_marks_draw(Evas_Object *obj);
/**
* Set the first day of week to use on calendar widgets'.
*
* @param obj The calendar object
* @param day An int which correspond to the first day of the week (Sunday = 0, Monday = 1,
* ..., Saturday = 6)
*
* @ingroup Calendar
*/
EAPI void elm_calendar_first_day_of_week_set(Evas_Object *obj, Elm_Calendar_Weekday day);
/**
* Get the first day of week, who are used on calendar widgets'.
*
* @param obj The calendar object
* @return An int which correspond to the first day of the week (Sunday = 0, Monday = 1,
* ..., Saturday = 6)
*
* @see elm_calendar_first_day_of_week_set() for more details
*
* @ingroup Calendar
*/
EAPI Elm_Calendar_Weekday elm_calendar_first_day_of_week_get(const Evas_Object *obj);
/**
* Set select day mode to use.
*
* @param obj The calendar object.
* @param mode The select mode to use.
*
* Set the day selection mode used.
*
* @ingroup Calendar
*/
EAPI void elm_calendar_select_mode_set(Evas_Object *obj, Elm_Calendar_Select_Mode mode);
/**
* Get the select day mode used.
*
* @param obj The calendar object.
*
* @return the selected mode
*
* Get the day selection mode used.
*
* @see elm_calendar_select_mode_set() for more details
*
* @ingroup Calendar
*/
EAPI Elm_Calendar_Select_Mode elm_calendar_select_mode_get(const Evas_Object *obj);
/**
* Define which fields of a @b tm struct will be taken into account, when
* elm_calendar_selected_time_set() is invoked.
*
* @param obj The calendar object
* @param selectable A bitmask of Elm_Calendar_Selectable
*
* By Default the bitmask is set to use all fields of a @b tm struct (year,
* month and day of the month).
*
* @ingroup Calendar
* @see elm_calendar_selected_time_set
* @since 1.8
*/
EAPI void elm_calendar_selectable_set(Evas_Object *obj, Elm_Calendar_Selectable selectable);
/**
* Get how elm_calendar_selected_time_set manage a date
*
* @param obj The calendar object
* @return The flag used to manage a date with a elm_calendar_selected_time_set
*
* @ingroup Calendar
* @see elm_calendar_selectable_set
* @see elm_calendar_selected_time_set
* @since 1.8
*/
EAPI Elm_Calendar_Selectable elm_calendar_selectable_get(const Evas_Object *obj);
/**
* Get the current time displayed in the widget
*
* @param obj The calendar object
* @param selected_time A @b tm struct to point to displayed date
* @return EINA_FALSE means an error occurred. If it's an error the returned
* time is zero filled.
*
* @ingroup Calendar
* @since 1.8
*/
EAPI Eina_Bool elm_calendar_displayed_time_get(const Evas_Object *obj, struct tm *displayed_time);
|