4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
6 * Contact: MyoungJune Park <mj2004.park@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
23 *@defgroup setting-datausage
24 *UG creation code for setting-datausage
27 #include <setting-datausage.h>
29 #define UG_MODULE_API __attribute__ ((visibility("default")))
32 setting_view *__get_datausage_view_to_load(service_h service)
36 setting_view_node_table_register(&setting_view_datausage_main, NULL);
38 return &setting_view_datausage_main;
41 static void setting_datausage_ug_cb_resize(void *data, Evas *e, Evas_Object *obj,
44 SettingDatausageUG *ad = (SettingDatausageUG *) data;
45 setting_view_update(ad->view_to_load, ad);
48 static void *setting_datausage_ug_on_create(ui_gadget_h ug, enum ug_mode mode,
49 service_h service, void *priv)
51 setting_retvm_if((!ug || !priv), NULL, "!ug || !priv");
53 SettingDatausageUG *datausageUG = priv;
55 datausageUG->win_main_layout = (Evas_Object *) ug_get_parent_layout(ug);
56 datausageUG->win_get = (Evas_Object *) ug_get_window();
57 evas_object_show(datausageUG->win_main_layout);
58 datausageUG->evas = evas_object_evas_get(datausageUG->win_main_layout);
60 setting_retvm_if(datausageUG->win_main_layout == NULL, NULL,
61 "cannot get main window ");
63 datausageUG->itc_seperator.item_style = "dialogue/separator";
64 datausageUG->itc_seperator.func.text_get = NULL;
65 datausageUG->itc_seperator.func.content_get = NULL;
66 datausageUG->itc_seperator.func.state_get = NULL;
67 datausageUG->itc_seperator.func.del = NULL;
69 setting_create_Gendial_itc("dialogue/2text.3/expandable", &(datausageUG->itc_2text_3_parent));
70 setting_create_Gendial_itc("dialogue/1text.1icon/expandable2", &(datausageUG->itc_1icon_1text_sub));
71 setting_create_Gendial_itc("dialogue/2text.3", &(datausageUG->itc_2text_2));
72 setting_create_Gendial_itc("dialogue/1text.1icon.2", &(datausageUG->itc_1text_1icon_2));
73 setting_create_Gendial_itc("dialogue/1text", &(datausageUG->itc_1text));
74 setting_create_Gendial_itc("dialogue/1text.1icon", &(datausageUG->itc_1text_1icon));
75 setting_create_Gendial_itc("dialogue/title", &(datausageUG->itc_group_item));
76 setting_create_Gendial_itc("multiline/1text", &(datausageUG->itc_bg_1icon));
78 setting_set_i18n(SETTING_PACKAGE, SETTING_LOCALEDIR);
80 /* creating a view. */
81 datausageUG->view_to_load = __get_datausage_view_to_load(service);
82 setting_retvm_if(NULL == datausageUG->view_to_load, NULL,
83 "NULL == datausageUG->view_to_load");
84 setting_view_node_set_cur_view(datausageUG->view_to_load);
85 setting_view_create(datausageUG->view_to_load, (void *)datausageUG);
86 evas_object_event_callback_add(datausageUG->win_main_layout,
88 setting_datausage_ug_cb_resize, datausageUG);
89 return datausageUG->ly_main;
92 static void setting_datausage_ug_on_start(ui_gadget_h ug, service_h service,
97 static void setting_datausage_ug_on_pause(ui_gadget_h ug, service_h service,
102 static void setting_datausage_ug_on_resume(ui_gadget_h ug, service_h service,
107 static void setting_datausage_ug_on_destroy(ui_gadget_h ug, service_h service,
111 setting_retm_if((!ug || !priv), "!ug || !priv");
112 SettingDatausageUG *datausageUG = priv;
114 evas_object_event_callback_del(datausageUG->win_main_layout, EVAS_CALLBACK_RESIZE, setting_datausage_ug_cb_resize); /* fix flash issue for gallery */
115 datausageUG->ug = ug;
117 /* delete the allocated objects. */
118 setting_view_destroy(&setting_view_datausage_main, datausageUG);
119 if (NULL != ug_get_layout(datausageUG->ug)) {
120 evas_object_hide((Evas_Object *) ug_get_layout(datausageUG->ug));
121 evas_object_del((Evas_Object *) ug_get_layout(datausageUG->ug));
127 static void setting_datausage_ug_on_message(ui_gadget_h ug, service_h msg,
128 service_h service, void *priv)
133 static void setting_datausage_ug_on_event(ui_gadget_h ug, enum ug_event event,
134 service_h service, void *priv)
137 setting_retm_if((!ug || !priv), "!ug || !priv");
138 SettingDatausageUG *datausageUG = priv;
141 case UG_EVENT_LOW_MEMORY:
143 case UG_EVENT_LOW_BATTERY:
145 case UG_EVENT_LANG_CHANGE:
147 case UG_EVENT_ROTATE_PORTRAIT:
148 case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
150 if (datausageUG->graph_desc) {
151 elm_object_item_data_set(datausageUG->graph_desc->item, datausageUG->graph_desc);
152 elm_genlist_item_update(datausageUG->graph_desc->item);
156 case UG_EVENT_ROTATE_LANDSCAPE:
157 case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
159 if (datausageUG->graph_desc) {
160 elm_object_item_data_set(datausageUG->graph_desc->item, datausageUG->graph_desc);
161 elm_genlist_item_update(datausageUG->graph_desc->item);
165 case UG_EVENT_REGION_CHANGE:
172 static void setting_datausage_ug_on_key_event(ui_gadget_h ug,
173 enum ug_key_event event, service_h service,
181 case UG_KEY_EVENT_END:
189 UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops)
192 SettingDatausageUG *datausageUG = calloc(1, sizeof(SettingDatausageUG));
193 setting_retvm_if(!datausageUG, -1, "Create SettingDatausageUG obj failed");
195 ops->create = setting_datausage_ug_on_create;
196 ops->start = setting_datausage_ug_on_start;
197 ops->pause = setting_datausage_ug_on_pause;
198 ops->resume = setting_datausage_ug_on_resume;
199 ops->destroy = setting_datausage_ug_on_destroy;
200 ops->message = setting_datausage_ug_on_message;
201 ops->event = setting_datausage_ug_on_event;
202 ops->key_event = setting_datausage_ug_on_key_event;
203 ops->priv = datausageUG;
204 ops->opt = UG_OPT_INDICATOR_ENABLE;
209 UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops)
212 SettingDatausageUG *datausageUG = NULL;
213 setting_retm_if(!ops, "ops == NULL");
215 datausageUG = ops->priv;