aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/elementary/src/edje_externals/elm_clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/elementary/src/edje_externals/elm_clock.c')
-rw-r--r--libraries/elementary/src/edje_externals/elm_clock.c241
1 files changed, 0 insertions, 241 deletions
diff --git a/libraries/elementary/src/edje_externals/elm_clock.c b/libraries/elementary/src/edje_externals/elm_clock.c
deleted file mode 100644
index c4bf9d2..0000000
--- a/libraries/elementary/src/edje_externals/elm_clock.c
+++ /dev/null
@@ -1,241 +0,0 @@
1#include "private.h"
2
3typedef struct _Elm_Params_Clock
4{
5 Elm_Params base;
6 int hrs, min, sec;
7 Eina_Bool hrs_exists:1;
8 Eina_Bool min_exists:1;
9 Eina_Bool sec_exists:1;
10 Eina_Bool edit:1;
11 Eina_Bool ampm:1;
12 Eina_Bool seconds:1;
13} Elm_Params_Clock;
14
15static void
16external_clock_state_set(void *data __UNUSED__, Evas_Object *obj, const void *from_params, const void *to_params, float pos __UNUSED__)
17{
18 const Elm_Params_Clock *p;
19
20 if (to_params) p = to_params;
21 else if (from_params) p = from_params;
22 else return;
23
24 if ((p->hrs_exists) && (p->min_exists) && (p->sec_exists))
25 elm_clock_time_set(obj, p->hrs, p->min, p->sec);
26 else if ((p->hrs_exists) || (p->min_exists) || (p->sec_exists))
27 {
28 int hrs, min, sec;
29 elm_clock_time_get(obj, &hrs, &min, &sec);
30 if (p->hrs_exists)
31 hrs = p->hrs;
32 if (p->min_exists)
33 min = p->min;
34 if (p->sec_exists)
35 sec = p->sec;
36 elm_clock_time_set(obj, hrs, min, sec);
37 }
38 if (p->edit)
39 elm_clock_edit_set(obj, p->edit);
40 if (p->ampm)
41 elm_clock_show_am_pm_set(obj, p->ampm);
42 if (p->seconds)
43 elm_clock_show_seconds_set(obj, p->seconds);
44}
45
46static Eina_Bool
47external_clock_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje_External_Param *param)
48{
49 if (!strcmp(param->name, "hours"))
50 {
51 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
52 {
53 int hrs, min, sec;
54 elm_clock_time_get(obj, &hrs, &min, &sec);
55 elm_clock_time_set(obj, param->d, min, sec);
56 return EINA_TRUE;
57 }
58 }
59 else if (!strcmp(param->name, "minutes"))
60 {
61 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
62 {
63 int hrs, min, sec;
64 elm_clock_time_get(obj, &hrs, &min, &sec);
65 elm_clock_time_set(obj, hrs, param->d, sec);
66 return EINA_TRUE;
67 }
68 }
69 else if (!strcmp(param->name, "seconds"))
70 {
71 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
72 {
73 int hrs, min, sec;
74 elm_clock_time_get(obj, &hrs, &min, &sec);
75 elm_clock_time_set(obj, hrs, min, param->d);
76 return EINA_TRUE;
77 }
78 }
79 else if (!strcmp(param->name, "editable"))
80 {
81 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
82 {
83 elm_clock_edit_set(obj, param->i);
84 return EINA_TRUE;
85 }
86 }
87 else if (!strcmp(param->name, "am/pm"))
88 {
89 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
90 {
91 elm_clock_show_am_pm_set(obj, param->i);
92 return EINA_TRUE;
93 }
94 }
95 else if (!strcmp(param->name, "show seconds"))
96 {
97 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
98 {
99 elm_clock_show_seconds_set(obj, param->i);
100 return EINA_TRUE;
101 }
102 }
103
104 ERR("unknown parameter '%s' of type '%s'",
105 param->name, edje_external_param_type_str(param->type));
106
107 return EINA_FALSE;
108}
109
110static Eina_Bool
111external_clock_param_get(void *data __UNUSED__, const Evas_Object *obj, Edje_External_Param *param)
112{
113 if (!strcmp(param->name, "hours"))
114 {
115 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
116 {
117 int hrs, min, sec;
118 elm_clock_time_get(obj, &hrs, &min, &sec);
119 param->i = hrs;
120 return EINA_TRUE;
121 }
122 }
123 else if (!strcmp(param->name, "minutes"))
124 {
125 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
126 {
127 int hrs, min, sec;
128 elm_clock_time_get(obj, &hrs, &min, &sec);
129 param->i = min;
130 return EINA_TRUE;
131 }
132 }
133 else if (!strcmp(param->name, "seconds"))
134 {
135 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
136 {
137 int hrs, min, sec;
138 elm_clock_time_get(obj, &hrs, &min, &sec);
139 param->i = sec;
140 return EINA_TRUE;
141 }
142 }
143 else if (!strcmp(param->name, "editable"))
144 {
145 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
146 {
147 param->i = elm_clock_edit_get(obj);
148 return EINA_TRUE;
149 }
150 }
151 else if (!strcmp(param->name, "am/pm"))
152 {
153 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
154 {
155 param->i = elm_clock_show_am_pm_get(obj);
156 return EINA_TRUE;
157 }
158 }
159 else if (!strcmp(param->name, "show seconds"))
160 {
161 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
162 {
163 param->i = elm_clock_show_seconds_get(obj);
164 return EINA_TRUE;
165 }
166 }
167
168
169 ERR("unknown parameter '%s' of type '%s'",
170 param->name, edje_external_param_type_str(param->type));
171
172 return EINA_FALSE;
173}
174
175static void *
176external_clock_params_parse(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const Eina_List *params)
177{
178 Elm_Params_Clock *mem;
179 Edje_External_Param *param;
180 const Eina_List *l;
181
182 mem = calloc(1, sizeof(Elm_Params_Clock));
183 if (!mem)
184 return NULL;
185
186 EINA_LIST_FOREACH(params, l, param)
187 {
188 if (!strcmp(param->name, "hours"))
189 {
190 mem->hrs = param->i;
191 mem->hrs_exists = EINA_TRUE;
192 }
193 else if (!strcmp(param->name, "minutes"))
194 {
195 mem->min = param->i;
196 mem->min_exists = EINA_TRUE;
197 }
198 else if (!strcmp(param->name, "seconds"))
199 {
200 mem->sec = param->i;
201 mem->sec_exists = EINA_TRUE;
202 }
203 else if (!strcmp(param->name, "editable"))
204 mem->edit = !!param->i;
205 else if (!strcmp(param->name, "am/pm"))
206 mem->ampm = !!param->i;
207 else if (!strcmp(param->name, "show seconds"))
208 mem->seconds = !!param->i;
209 }
210
211 return mem;
212}
213
214static Evas_Object *external_clock_content_get(void *data __UNUSED__,
215 const Evas_Object *obj __UNUSED__, const char *content __UNUSED__)
216{
217 ERR("No content.");
218 return NULL;
219}
220
221static void
222external_clock_params_free(void *params)
223{
224 Elm_Params_Clock *mem = params;
225
226 free(mem);
227}
228
229static Edje_External_Param_Info external_clock_params[] = {
230 DEFINE_EXTERNAL_COMMON_PARAMS,
231 EDJE_EXTERNAL_PARAM_INFO_INT("hours"),
232 EDJE_EXTERNAL_PARAM_INFO_INT("minutes"),
233 EDJE_EXTERNAL_PARAM_INFO_INT("seconds"),
234 EDJE_EXTERNAL_PARAM_INFO_BOOL("editable"),
235 EDJE_EXTERNAL_PARAM_INFO_BOOL("am/pm"),
236 EDJE_EXTERNAL_PARAM_INFO_BOOL("show seconds"),
237 EDJE_EXTERNAL_PARAM_INFO_SENTINEL
238};
239
240DEFINE_EXTERNAL_ICON_ADD(clock, "clock")
241DEFINE_EXTERNAL_TYPE_SIMPLE(clock, "Clock")