36530e2d8f7f8d245600335d1c8204d3e461927c
[apps/home/ug-myfile-efl.git] / src / include / mf-ug-winset.h
1 /*\r
2  * Copyright 2012          Samsung Electronics Co., Ltd\r
3  *\r
4  * Licensed under the Flora License, Version 1.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *  http://floralicense.org/license/\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 \r
18 \r
19 \r
20 #ifndef __DEF_MF_UG_WINSET_H_\r
21 #define __DEF_MF_UG_WINSET_H_\r
22 \r
23 #include <stdio.h>\r
24 #include <assert.h>\r
25 #include <Elementary.h>\r
26 #include <glib.h>\r
27 #include <vconf.h>\r
28 #include <vconf-keys.h>\r
29 \r
30 \r
31 #include "mf-ug-main.h"\r
32 #include "mf-ug-conf.h"\r
33 #include "mf-ug-fs-util.h"\r
34 \r
35 \r
36 /******************Navigation Bar Definition ***********/\r
37 #define NAVI_MORE_BUTTON_PART           "toolbar_more_btn"\r
38 #define NAVI_BOTTOM_BUTTON_1_PART       "toolbar_button1"\r
39 #define NAVI_BOTTOM_BUTTON_2_PART       "toolbar_button2"\r
40 #define NAVI_BUTTON_STYLE               "naviframe/toolbar/default"\r
41 #define NAVI_BUTTON_EDIT                "naviframe/more/default"\r
42 \r
43 #define TITLE_BTN_STYLE "elm/button/base/naviframe/title_icon"\r
44 #define TITLE_LEFT_BTN          "title_left_btn"\r
45 #define TITLE_RIGHT_BTN         "title_right_btn"\r
46 \r
47 #define MF_UG_NAVI_STYLE_ENABLE "basic"\r
48 #define MF_UG_UPPER_HEIGHT      (113*elm_config_scale_get())\r
49 #define MF_UG_UPPER_WIDTH       (480*elm_config_scale_get())\r
50 \r
51 Evas_Object *mf_ug_navi_bar_create_navi_bar(Evas_Object *parent);\r
52 void mf_ug_navi_bar_set_new_content(Evas_Object *pLayout, Evas_Object *NaviContent);\r
53 void mf_ug_navi_bar_create_default_view(void *data);\r
54 ugNaviBar *mf_ug_navi_bar_get_in_use_navi(void *data);\r
55 void mf_ug_navi_bar_reset_navi_object(ugNaviBar *pNavi_s);\r
56 void mf_ug_navi_bar_refresh_navibar_recovered_view(void *data, ugNaviBar *pNaviStruct);\r
57 void mf_ug_navi_bar_remove_navi_list_item_by_label(void *data, const char *pNaviLabel);\r
58 void mf_ug_navi_bar_set_blocking(void *data, bool bblock_during_transition);\r
59 void mf_ug_navi_bar_remove_previous_contents(void *data);\r
60 void mf_ug_navi_bar_del_item_directly(void *data);\r
61 void mf_ug_navi_bar_create_new_folder_view(void *data);\r
62 ugNaviBar *ug_mf_navi_bar_get_navi_from_navilist(Eina_List *navilist, const char *label);\r
63 ugNaviBar *mf_ug_navi_bar_get_navi_struct_by_label(void *data, const char *pNaviLabel);\r
64 void mf_ug_navi_bar_title_set(void *data);\r
65 Evas_Object *mf_ug_navibar_create_notify_popup(void *data,\r
66                                     Evas_Object *parent,\r
67                                     char *label,\r
68                                     bool time_out,\r
69                                     void func(void *data, Evas_Object *obj, void *event_info));\r
70 \r
71 /********** Control Bar Definition ********/\r
72 \r
73 #define UG_CTRL_ICON_CANCEL                                     UG_ICON_PATH"/myfile_icon_cancel.png"\r
74 #define UG_CTRL_ICON_SAVE                                               UG_ICON_PATH"/myfile_icon_done.png"\r
75 #define UG_TITLE_ICON_HOME                                      UG_ICON_PATH"/Controlbar/U01_controlbar_cion_home.png"\r
76 #define UG_TITLE_ICON_HOME_PRESS                                UG_ICON_PATH"/Controlbar/U01_controlbar_cion_home_press.png"\r
77 #define UG_TITLE_ICON_UPPER                                     UG_ICON_PATH"/Controlbar/U01_controlbar_cion_up_folder.png"\r
78 #define UG_TITLE_ICON_UPPER_PRESS                                       UG_ICON_PATH"/Controlbar/U01_controlbar_cion_up_folder_press.png"\r
79 \r
80 typedef enum _eCtrlBarButtonType eCtrlBarButtonType;\r
81 \r
82 enum _eCtrlBarButtonType {\r
83         CTRL_BUTTON_CANCEL = 0,\r
84         CTRL_BUTTON_DONE,\r
85         CTRL_BUTTON_ADD,\r
86         CTRL_BUTTON_OTHER_RIONTONGS,\r
87         CTRL_BUTTON_MUSIC,\r
88         CTRL_BUTTON_MAX\r
89 };\r
90 \r
91 void mf_ug_ctrl_bar_set(void *data, ugNaviBar *pNavi_s);\r
92 void mf_ug_ctrl_bar_set_item_disable(void *data);\r
93 \r
94 \r
95 /**********Tab Bar Definition *************/\r
96 Evas_Object *mf_ug_tab_bar_create(Evas_Object *parent);\r
97 Elm_Object_Item *mf_ug_tab_bar_append_item(Evas_Object *pTabBar, char *pTabIconPath, char *pTabBarLabel, void *user_data);\r
98 void mf_ug_tab_bar_set_item_view(Evas_Object *tab_layout, Evas_Object *view);\r
99 void mf_ug_tab_bar_remove_item_by_label(Evas_Object *pTabBar, char *pTabLabel);\r
100 void mf_ug_tab_bar_remove_all_items(Evas_Object *pTabBar);\r
101 void mf_ug_tab_bar_set_selected_item(Elm_Object_Item *pItem);\r
102 void mf_ug_tab_bar_set_item_disable(Evas_Object *pTabBar, Eina_Bool disable);\r
103 void mf_ug_ctrl_bar_recover(void *data);\r
104 Elm_Object_Item *mf_ug_tab_bar_get_item_by_label(Evas_Object *pTabBar, char *pTabLabel);\r
105 int mf_ug_tab_bar_items_count_get(Evas_Object *pTabBar);\r
106 void mf_ug_navi_bar_button_set_disable(void *data, bool disable);\r
107 \r
108 \r
109 /***********    Popup Definition        ************/\r
110 typedef enum _mf_ug_popup_mode mf_ug_popup_mode;\r
111 enum _mf_ug_popup_mode {\r
112         UG_POPMODE_MIN = 0,\r
113         UG_POPMODE_TEXT,\r
114         UG_POPMODE_TITLE_TEXT,\r
115         UG_POPMODE_TEXT_TWO_BTN,\r
116         UG_POPMODE_TITLE_TEXT_TWO_BTN,\r
117         UG_POPMODE_TEXT_BTN,\r
118         UG_POPMODE_TITLE_TEXT_BTN,\r
119         UG_POPMODE_TITLE_TEXT_THREE_BTN,\r
120         UG_POPMODE_PROGRESSBAR,\r
121         UG_POPMODE_SEARCH,\r
122         UG_POPMODE_LIST_BY,\r
123         UG_POPMPDE_MAX\r
124 };\r
125 \r
126 typedef enum _mf_ug_popup_event_type mf_ug_popup_event_type;\r
127 enum _mf_ug_popup_event_type {\r
128         UG_ELM_POPUP_NONE,\r
129         UG_ELM_POPUP_YES,\r
130         UG_ELM_POPUP_NO,\r
131         UG_ELM_POPUP_OK,\r
132         UG_ELM_POPUP_CANCLE,\r
133         UG_ELM_POPUP_AUTO_RENAME,\r
134         UG_ELM_POPUP_REPLACE,\r
135         UG_ELM_POPUP_PHONE,\r
136         UG_ELM_POPUP_MEMORY,\r
137         UG_ELM_POPUP_MAX\r
138 };\r
139 \r
140 /***********    Popup API               ************/\r
141 Evas_Object *mf_ug_popup_create(void *data, mf_ug_popup_mode popupMode, char *title, const char *context, const char *first_btn_text, const char *second_btn_text,\r
142                         const char *third_btn_text, Evas_Smart_Cb func, void *param);\r
143 void mf_ug_popup_indicator_popup(const char *text);\r
144 void mf_ug_context_popup_create_more(void *data, Evas_Object *parent);\r
145 \r
146 \r
147 /******************* Genlist API      *********************/\r
148 \r
149 void mf_ug_upper_genlist_item_append(Evas_Object *pGenlist, void *data);\r
150 void mf_ug_genlist_goto_myfile_item_append(Evas_Object *pGenlist, void *data);\r
151 Evas_Object *mf_navi_bar_upper_create(Evas_Object *parent);\r
152 void mf_ug_genlist_goto_myfile_style_set(void *data);\r
153 void mf_ug_genlist_upper_style_set(void *data);\r
154 Evas_Object *mf_ug_genlist_create_content_list_view(void *data);\r
155 Evas_Object *__mf_ug_genlist_create_gl(void *data);\r
156 Evas_Object *mf_ug_genlist_create_list_new_folder_style(void *data);\r
157 Evas_Object *mf_ug_genlist_create_path_info(Evas_Object *parent, Elm_Genlist_Item_Class *itc, char *info);\r
158 Elm_Object_Item *mf_ug_genlist_item_append(Evas_Object *parent,\r
159                                       ugFsNodeInfo *pNode,\r
160                                       void *data,\r
161                                       int groudValue,\r
162                                       Elm_Genlist_Item_Class *itc);\r
163 void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info);\r
164 \r
165 #endif\r