Tizen 2.1 base
[apps/home/call-setting.git] / include / cst-widget.h
1 /*
2  * Copyright 2012  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://floralicense.org/license/
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef _CST_WIDGET_H_
18 #define _CST_WIDGET_H_
19
20 #include <Elementary.h>
21 #include "cst-common.h"
22
23 #define BOTTOM_PADDING_CONTENT_SIGNAL "elm,layout,content,bottom_padding"
24 #define DEFAULT_CONTENT_SIGNAL "elm,layout,content,default"
25 #define BOTTOM_PADDING_CONTENT_SOURCE "layout"
26
27 typedef enum {
28         CST_ITC_SEPERATOR = 0,
29         CST_ITC_SEPERATOR_NO_LINE,
30         CST_ITC_UNDERLINE,
31         CST_ITC_1TEXT,
32         CST_ITC_2TEXT_EXPAND,
33         CST_ITC_SUB_EXPAND,
34         CST_ITC_HELP,
35         CST_ITC_TITLE,
36
37         CST_ITC_MAX
38 } cst_genlist_item_class;
39
40 Evas_Object *_cst_create_error_popup(Evas_Object *parent, int error_code);
41 Evas_Object *_cst_create_duplicate_msg_popup(Evas_Object *parent, const char *string);
42 Evas_Object *_cst_create_2btn_popup(Evas_Object *parent, CstGlItemData_t *item_data);
43 void _cst_create_navi_control_bar(Evas_Object *parent,
44                 char *label1, const char *icon1, Evas_Smart_Cb cb1,
45                 char *label2, const char *icon2, Evas_Smart_Cb cb2,
46                 void *data, Elm_Object_Item *navi_it,
47                 Evas_Object **c_item);
48 void _cst_create_genlist_separator(Evas_Object *genlist, Eina_Bool need_item_data);
49 void _cst_create_genlist_separator_no_line(Evas_Object *genlist);
50 void _cst_create_genlist_underline(Evas_Object *genlist);
51 Evas_Object *_cst_create_progressbar(Evas_Object *parent);
52 Evas_Object *_cst_get_navifr_prev_btn(Evas_Object *nf);
53 Eina_Bool _cst_hide_selectinfo_cb(void *data);
54 void _cst_create_selectinfo(CstUgData_t *ugd, Evas_Object *layout, const char *label);
55 void _cst_del_selectinfo(CstUgData_t *ugd);
56 Evas_Object *_cst_create_onoff_button(Evas_Object *obj,
57                                                                           int state_value, Evas_Smart_Cb cb_func, void *cb_data);
58 Evas_Object *_cst_create_radio_icon(Evas_Object *obj,
59                                                                         Evas_Object *rdg, int value, int offset, const char *vconf_key);
60 Evas_Object *_cst_create_title_btn(Evas_Object *parent,
61                                                                    const char *text, Evas_Smart_Cb func, void *data);
62 void _cst_remove_naviframe(Evas_Object *nf);
63 Evas_Object *_cst_create_ime_editfield(CstUgData_t *ugd,
64                                                                            Evas_Object *parent, CstImeType_t ime_type, char *input_string);
65 Evas_Object *_cst_create_ime_btn_layout(Evas_Object *parent,
66                                                                                 Evas_Object *ef, Evas_Smart_Cb cb, void *cb_data);
67 void _cst_create_all_genlist_item_class(void);
68 void _cst_destroy_all_genlist_item_class(void);
69 Elm_Genlist_Item_Class *_cst_get_genlist_item_class(cst_genlist_item_class item);
70 void _cst_set_function_genlist_item_class(cst_genlist_item_class item, Elm_Gen_Item_Text_Get_Cb text_get_fn,
71                 Elm_Gen_Item_Content_Get_Cb content_get_fn, Elm_Gen_Item_State_Get_Cb state_get_fn, Elm_Gen_Item_Del_Cb del_fn);
72 void _cst_destroy_all_items(CstUgData_t *ugd);
73
74 #endif  /* _CALL_SETTING_WIDGET_H_ */
75