summaryrefslogtreecommitdiff
path: root/src/lib/elm_clock_eo.h
blob: 653c1253b28b6e5cd947e21eb9b7df3a082f2997 (plain)
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
#define ELM_OBJ_CLOCK_CLASS elm_obj_clock_class_get()

const Eo_Class *elm_obj_clock_class_get(void) EINA_CONST;

extern EAPI Eo_Op ELM_OBJ_CLOCK_BASE_ID;

enum
{
   ELM_OBJ_CLOCK_SUB_ID_TIME_SET,
   ELM_OBJ_CLOCK_SUB_ID_TIME_GET,
   ELM_OBJ_CLOCK_SUB_ID_EDIT_SET,
   ELM_OBJ_CLOCK_SUB_ID_EDIT_GET,
   ELM_OBJ_CLOCK_SUB_ID_EDIT_MODE_SET,
   ELM_OBJ_CLOCK_SUB_ID_EDIT_MODE_GET,
   ELM_OBJ_CLOCK_SUB_ID_SHOW_AM_PM_SET,
   ELM_OBJ_CLOCK_SUB_ID_SHOW_AM_PM_GET,
   ELM_OBJ_CLOCK_SUB_ID_SHOW_SECONDS_SET,
   ELM_OBJ_CLOCK_SUB_ID_SHOW_SECONDS_GET,
   ELM_OBJ_CLOCK_SUB_ID_FIRST_INTERVAL_SET,
   ELM_OBJ_CLOCK_SUB_ID_FIRST_INTERVAL_GET,
   ELM_OBJ_CLOCK_SUB_ID_LAST
};

#define ELM_OBJ_CLOCK_ID(sub_id) (ELM_OBJ_CLOCK_BASE_ID + sub_id)


/**
 * @def elm_obj_clock_time_set
 * @since 1.8
 *
 * Set a clock widget's time, programmatically
 *
 * @param[in] hrs
 * @param[in] min
 * @param[in] sec
 *
 * @see elm_clock_time_set
 *
 * @ingroup Clock
 */
#define elm_obj_clock_time_set(hrs, min, sec) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_TIME_SET), EO_TYPECHECK(int, hrs), EO_TYPECHECK(int, min), EO_TYPECHECK(int, sec)

/**
 * @def elm_obj_clock_time_get
 * @since 1.8
 *
 * Get a clock widget's time values
 *
 * @param[out] hrs
 * @param[out] min
 * @param[out] sec
 *
 * @see elm_clock_time_get
 *
 * @ingroup Clock
 */
#define elm_obj_clock_time_get(hrs, min, sec) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_TIME_GET), EO_TYPECHECK(int *, hrs), EO_TYPECHECK(int *, min), EO_TYPECHECK(int *, sec)

/**
 * @def elm_obj_clock_edit_set
 * @since 1.8
 *
 * Set whether a given clock widget is under <b>edition mode</b> or
 * under (default) displaying-only mode.
 *
 * @param[in] edit
 *
 * @see elm_clock_edit_set
 *
 * @ingroup Clock
 */
#define elm_obj_clock_edit_set(edit) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_EDIT_SET), EO_TYPECHECK(Eina_Bool, edit)

/**
 * @def elm_obj_clock_edit_get
 * @since 1.8
 *
 * Retrieve whether a given clock widget is under editing mode
 * under (default) displaying-only mode.
 *
 * @param[out] ret
 *
 * @see elm_clock_edit_get
 *
 * @ingroup Clock
 */
#define elm_obj_clock_edit_get(ret) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_EDIT_GET), EO_TYPECHECK(Eina_Bool *, ret)

/**
 * @def elm_obj_clock_edit_mode_set
 * @since 1.8
 *
 * Set what digits of the given clock widget should be editable
 *
 * @param[in] digedit
 *
 * @see elm_clock_edit_mode_set
 *
 * @ingroup Clock
 */
#define elm_obj_clock_edit_mode_set(digedit) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_EDIT_MODE_SET), EO_TYPECHECK(Elm_Clock_Edit_Mode, digedit)

/**
 * @def elm_obj_clock_edit_mode_get
 * @since 1.8
 *
 * Retrieve what digits of the given clock widget should be
 * editable when in edition mode.
 *
 * @param[out] ret
 *
 * @see elm_clock_edit_mode_get
 *
 * @ingroup Clock
 */
#define elm_obj_clock_edit_mode_get(ret) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_EDIT_MODE_GET), EO_TYPECHECK(Elm_Clock_Edit_Mode *, ret)

/**
 * @def elm_obj_clock_show_am_pm_set
 * @since 1.8
 *
 * Set if the given clock widget must show hours in military or
 * am/pm mode
 *
 * @param[in] am_pm
 *
 * @see elm_clock_show_am_pm_set
 *
 * @ingroup Clock
 */
#define elm_obj_clock_show_am_pm_set(am_pm) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_SHOW_AM_PM_SET), EO_TYPECHECK(Eina_Bool, am_pm)

/**
 * @def elm_obj_clock_show_am_pm_get
 * @since 1.8
 *
 * Get if the given clock widget shows hours in military or am/pm
 * mode
 *
 * @param[out] ret
 *
 * @see elm_clock_show_am_pm_get
 *
 * @ingroup Clock
 */
#define elm_obj_clock_show_am_pm_get(ret) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_SHOW_AM_PM_GET), EO_TYPECHECK(Eina_Bool *, ret)

/**
 * @def elm_obj_clock_show_seconds_set
 * @since 1.8
 *
 * Set if the given clock widget must show time with seconds or not
 *
 * @param[in] seconds
 *
 * @see elm_clock_show_seconds_set
 *
 * @ingroup Clock
 */
#define elm_obj_clock_show_seconds_set(seconds) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_SHOW_SECONDS_SET), EO_TYPECHECK(Eina_Bool, seconds)

/**
 * @def elm_obj_clock_show_seconds_get
 * @since 1.8
 *
 * Get whether the given clock widget is showing time with seconds
 *
 * @param[out] ret
 *
 * @see elm_clock_show_seconds_get
 *
 * @ingroup Clock
 */
#define elm_obj_clock_show_seconds_get(ret) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_SHOW_SECONDS_GET), EO_TYPECHECK(Eina_Bool *, ret)

/**
 * @def elm_obj_clock_first_interval_set
 * @since 1.8
 *
 * Set the first interval on time updates for a user mouse button hold
 *
 * @param[in] interval
 *
 * @see elm_clock_first_interval_set
 *
 * @ingroup Clock
 */
#define elm_obj_clock_first_interval_set(interval) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_FIRST_INTERVAL_SET), EO_TYPECHECK(double, interval)

/**
 * @def elm_obj_clock_first_interval_get
 * @since 1.8
 *
 * Get the first interval on time updates for a user mouse button hold
 *
 * @param[out] ret
 *
 * @see elm_clock_first_interval_get
 *
 * @ingroup Clock
 */
#define elm_obj_clock_first_interval_get(ret) ELM_OBJ_CLOCK_ID(ELM_OBJ_CLOCK_SUB_ID_FIRST_INTERVAL_GET), EO_TYPECHECK(double *, ret)