4 * Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd All Rights Reserved
6 * This file is part of org.tizen.setting
7 * Written by Hyejin Kim <hyejin0906.kim@samsung.com>
9 * PROPRIETARY/CONFIDENTIAL
11 * This software is the confidential and proprietary information of
12 * SAMSUNG ELECTRONICS ("Confidential Information"). You shall not
13 * disclose such Confidential Information and shall use it only in
14 * accordance with the terms of the license agreement you entered
15 * into with SAMSUNG ELECTRONICS.
17 * SAMSUNG make no representations or warranties about the suitability
18 * of the software, either express or implied, including but not limited
19 * to the implied warranties of merchantability, fitness for a particular
20 * purpose, or non-infringement. SAMSUNG shall not be liable for any
21 * damages suffered by licensee as a result of using, modifying or
22 * distributing this software or its derivatives.
27 *@defgroup common-data-type
31 #ifndef __SETTING_COMMON_DATA_TYPE_H__
32 #define __SETTING_COMMON_DATA_TYPE_H__
34 #include <Elementary.h> /* including Elementary lib */
35 #include <setting-debug.h> /* including debuging type */
36 #include <setting-common-resource.h> /* including one class of data type */
37 #include <setting-common-data-error.h> /* including another class of data type */
44 #define bool Eina_Bool
46 #define PWD_FILE "/opt/data/setting/set_info"
48 #define SETTING_POSTINST_FILE "/var/lib/dpkg/info/org.tizen.setting.postinst"
49 #define SETTING_PACKAGE "setting"
50 #define SYSTEM_PACKAGE "sys_string"
51 #define SETTING_LOCALEDIR "/opt/apps/org.tizen.setting/res/locale"
53 #define SYSTEM_ICON_PATH "/opt/apps/org.tizen.setting/res/icons"
54 #define SETTING_ICON_PATH "/opt/apps/org.tizen.setting/res/icons"
55 #define SETTING_UG_ICON_PATH "/opt/ug/res/icon/org.tizen.setting"
56 #define SETTING_UG_PATH "/opt/ug/lib"
58 #define SETTING_EDJ_PATH EDJDIR
59 #define SETTING_MEMORY_EDJ_NAME SETTING_EDJ_PATH"/setting-memory.edj"
60 #define SETTING_THEME_EDJ_NAME SETTING_EDJ_PATH"/setting-theme.edj"
61 #define SETTING_SOUND_EDJ_NAME SETTING_EDJ_PATH"/setting-sound.edj"
63 /* inoti (broadcasting without data */
64 #define SETTING_TIME_CHANGED "setting_time_changed"
66 /* anci c color type */
67 #define SETTING_FONT_RED "\033[31m"
68 #define SETTING_FONT_BLACK "\033[0m"
69 #define SETTING_FONT_BGREEN "\033[36m"
71 #define IMG_EC_ARROW_OPEN SETTING_ICON_PATH"/00_button_expand_opened.png"
72 #define IMG_EC_ARROW_CLOSE SETTING_ICON_PATH"/00_button_expand_closed.png"
74 #define SETTING_IDLE_IMAGE_PATH "/etc/idle_image/"
76 #ifdef SUPPORT_NAVIGATIONBAR
77 #define NAVI_CONTROLBAR_STYLE "navigationbar"
78 #define NAVI_DEF_BUTTON_STYLE "navigationbar_control/center"
79 #define NAVI_BACK_BUTTON_STYLE "navigationbar_backbutton/default"
81 #define NAVI_CONTROLBAR_STYLE "naviframe"
82 #define NAVI_DEF_BUTTON_STYLE "naviframe_control/default"
83 #define NAVI_BACK_BUTTON_STYLE "naviframe/back_btn/default"
86 #if SUPPORT_BOTTOM_BTNS
87 #define NAVI_CONTROLBAR_PART "controlbar"
89 #define NAVI_CONTROLBAR_PART "optionheader"
93 * @brief slider, button, and etc.
95 * @param data application context
96 * @param obj Evas Object
97 * @param event_info even type
101 typedef void (*setting_call_back_func) (void *data, Evas_Object *obj, void *event_info);
103 #define WIDGET_SCALE_FACTOR (get_widgets_factor())
104 #define SETTING_PADDING_WIDTH (8 * WIDGET_SCALE_FACTOR)
105 #define SETTING_PADDING_HEIGHT (8 * WIDGET_SCALE_FACTOR)
106 #define SETTING_HALF_SCREEN_WIDTH \
107 (SETTING_PADDING_WIDTH * 22 * WIDGET_SCALE_FACTOR)
109 #define SYS_NOTI_NAME_LEN 128
110 #define MAX_DISPLAY_NAME_LEN_ON_UI 128
111 #define MAX_COMMON_BUFFER_LEN 1024
113 #define MAX_SEARCH_STR_LEN 20
115 #define HELP_MSG_BUFF_SIZE 1000
116 #define MAX_SPECIALIZITION_LEN 1000
117 #define SPECIALIZITION_FONT 25
118 #define HELP_TITLE_SIZE 30
119 #define HELP_CONTENT_SIZE 28
121 #define PHONE_LOCK_ATTEMPS_MAX 5
122 #define SIM_LOCK_ATTEMPS_MAX 5
123 #define PHONE_LOCK_BLOCK_SECONDS 30
124 #define SIM_LOCK_BLOCK_SECONDS 30
125 #define LOCK_TIMESTAMP_LEN 64
126 #define MAX_DATETIME_FORMAT_LEN 64
127 #define MAX_DATE_FORMAT_LEN 10
129 #define SMALL_FONT_DPI 48
130 #define MIDDLE_FONT_DPI 72
131 #define LARGE_FONT_DPI 96
132 #define HUGE_FONT_DPI 100
133 #define GIANT_FONT_DPI 111
135 #define __STR_EMUL "emul"
136 #define __LEN_STR_EMUL 4
137 #define BIN_INFO_FILE_PATH "/etc/info.ini"
141 int index; // auto - russia
142 char* locale; // ex) "en_US.UTF"
143 char* title; // "United Kingdom"
144 } setting_lang_entry;
148 typedef enum _Theme_Type {
151 Theme_Tizen_Black = 2,
157 typedef enum _GENDIAL_Type {
158 GENDIAL_Type_1text_1icon_2 = 0,
159 GENDIAL_Type_1text_2icon = 1,
160 GENDIAL_Type_1icon_2text = 2,
161 GENDIAL_Type_2text_2icon_4 = 3,
162 GENDIAL_Type_1text_2icon_2 = 4,
163 GENDIAL_Type_sel_all,
165 GENDIAL_Type_1line_icontext,
166 GENDIAL_Type_group_item,
170 typedef enum _SWALLOW_Type {
171 SWALLOW_Type_INVALID = -1,
172 SWALLOW_Type_2ICON = 0,
173 SWALLOW_Type_1ICON_1CHECK = 1,
174 SWALLOW_Type_1ICON_1RADIO = 2,
175 SWALLOW_Type_1CHECK = 3,
176 SWALLOW_Type_1CHECKICON = 4,
177 SWALLOW_Type_1RADIO = 5,
178 SWALLOW_Type_1TOGGLE = 6,
180 SWALLOW_Type_1ICON_1IMAGE,
181 SWALLOW_Type_1BUTTON,
182 SWALLOW_Type_1PROCESS,
184 SWALLOW_Type_1RADIO_SUB,
185 SWALLOW_Type_1RADIO_1PROCESS,
186 SWALLOW_Type_1RADIO_1SEARCH,
187 SWALLOW_Type_1RADIO_1LABLE,
188 SWALLOW_Type_0RADIO_1SEARCH,
190 SWALLOW_Type_1LINE_LAYOUT = 20,
191 SWALLOW_Type_1LINE_LAYOUT_1RADIO,
192 SWALLOW_Type_1LINE_LAYOUT_1TOGGLE,
193 SWALLOW_Type_1LINE_LAYOUT_1CHECK,
194 SWALLOW_Type_LAYOUT_ENTRY,
195 SWALLOW_Type_LAYOUT_SIMPLE_PASSWORD, // for simple password
196 SWALLOW_Type_LAYOUT_DATEFIELD,
197 SWALLOW_Type_LAYOUT_SLIDER,
198 SWALLOW_Type_LAYOUT_SPECIALIZTION,
199 SWALLOW_Type_LAYOUT_SPECIALIZTION_X,//extension
200 SWALLOW_Type_LAYOUT_SLIDER_WITH_TITLE,
206 UNDEFINED_LIB_SYMBOL = -2,/* undefined symbol : -2 */
207 LOAD_LIB_FAILED = -1,/* load failed : -1 */
208 OPERATE_LIB_SUCESS = 0,
211 typedef enum _POPUP_BTN_RESPONSE_TYPE{
212 POPUP_RESPONSE_INVALID = -1,
213 POPUP_RESPONSE_OK = 0,
214 POPUP_RESPONSE_CANCEL = 1,
215 } POPUP_BTN_RESPONSE_TYPE;
217 *an item node in genlist
219 typedef struct _Setting_GenGroupItem_Data {
222 Elm_Object_Item *item;
223 SWALLOW_Type swallow_type;
224 const char *l_swallow_path;
225 const char *r_swallow_path;
227 int chk_status; /**< represent check value, slider value, datefield value etc.. */
234 Evas_Object *eo_check;
235 setting_call_back_func chk_change_cb;
237 /* to swallow a whole layout (genlist item is 1line-layout or 2line-layout) */
239 char *item_style; /**< itc style name */
240 Evas_Object *win_main;
243 /* for slider control */
245 double slider_min; /**< to swallow a slider */
247 double slider_max; /**< to swallow a slider */
248 setting_call_back_func start_change_cb;
249 setting_call_back_func stop_change_cb;
250 int belongs_to; /**< 1: slider belongs to sound group. 0: slider belongs to vibration group */
254 Elm_Input_Panel_Layout input_type; /**< input panel type */
255 bool input_panel_disable_flag; /** do not show the input panel automatically when the widget is clicked or has focus*/
257 void *userdata; /**< just a reference, do not need release. */
260 bool isItemDisableFlag;
261 bool isSinglelineFlag;
263 int int_slp_setting_binded; /**< its relative vconf value must increase from 0, and step is 1. eg, 0, 1, 2, 3.. */
267 Evas_Object *notify;//act as any popup to show user any message
269 Elm_Entry_Filter_Accept_Set *digits_filter_data;
270 Elm_Entry_Filter_Limit_Size *limit_filter_data;
272 } Setting_GenGroupItem_Data;
275 SETTING_VCONF_INT_TYPE = 0,
276 SETTING_VCONF_BOOL_TYPE,
277 SETTING_VCONF_STR_TYPE
278 } setting_vconf_type;
280 #define MAX_RESET_MENU_NUM 50
282 typedef struct _item_table {
283 char *item_name; /* pointer to the key string */
285 Setting_GenGroupItem_Data *data_GenItem;
288 typedef struct _Setting_Done_List_Data {
289 /* external input arguements */
290 Evas_Object *win_main;
292 Evas_Object *ly_parent;
293 Evas_Object *controllbar;
295 /* internal output%input arguements */
296 Item_Table chk_items[MAX_RESET_MENU_NUM];
298 Evas_Object *selInfoPop;
299 Evas_Object *selInfoPop_layout;
300 Elm_Genlist_Item_Class itc_1text_1icon;
301 Elm_Genlist_Item_Class itc_seperator;
302 Elm_Genlist_Item_Class itc_sel_all;
303 } Setting_Done_List_Data;
305 #endif /* __SETTING_COMMON_DATA_TYPE_H__ */