X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fsetting-plugin.c;h=5784285f2111c19b8a60e12885fd86b484f43cff;hb=505b585da0b8ea59c6bdefb890ef58ed1b00945f;hp=24463fea499da2e55fc0f3d7383d76f8c2c91fe6;hpb=1d0e8ca443b4c2719425eff19250cf2ca41a0a7b;p=apps%2Fcore%2Fpreloaded%2Fsettings.git diff --git a/src/setting-plugin.c b/src/setting-plugin.c index 24463fe..5784285 100755 --- a/src/setting-plugin.c +++ b/src/setting-plugin.c @@ -42,11 +42,12 @@ static Setting_GenGroupItem_Data *g_list_item; /*TEST*/ */ Eina_List *_g_drawer_list = NULL; +#if 0 /** * @return Evas_Object * obj */ static void* navigationbar_func(void *data, xmlNode *xmlObj); - +#endif /* * @return void @@ -196,6 +197,7 @@ void setting_drawer_list_fini() static char* s_pkg_name; +#if 0 static char* substring(const char* str, size_t begin, size_t len) { if (str == 0 || strlen(str) == 0 || strlen(str) < begin || strlen(str) < (begin+len)) @@ -203,6 +205,7 @@ static char* substring(const char* str, size_t begin, size_t len) return strndup(str + begin, len); } +#endif /** * package ID @@ -321,7 +324,7 @@ static int __send_msg(char* key, char* value) if (bus == NULL) return -1; - if (s_pkg_name == NULL) + if (s_pkg_name == NULL) { SETTING_TRACE("s_pkg_name is NULL - it's abnormal operation"); return -1; @@ -497,6 +500,9 @@ static void ___click_softkey_back_cb(void *data, Evas_Object *obj, pd->navi_bar = NULL; pd->cfg_file = NULL; + + + pd->root = NULL; } @@ -725,6 +731,7 @@ static void* slider_func(void *data, xmlNode *xmlObj) return (void*)list_item; }; +#if 0 /* elm_object_item_data_set(item_to_update->item, item_to_update); elm_genlist_item_update(item_to_update->item); @@ -773,7 +780,7 @@ static void* navigationbar_func(void *data, xmlNode *xmlObj) #endif return NULL; }; - +#endif static void __check_mouse_up_cb(void *data, Evas_Object *obj, void *event_info) @@ -955,14 +962,44 @@ static void* editbox_func(void *data, xmlNode *xmlObj) const char *title = (char*)xmlGetProp(xmlObj, "title"); const char *key_str= (char*)xmlGetProp(xmlObj, "value"); - // TODO: minlength - // TODO: maxlength - Setting_GenGroupItem_Data *list_item = - setting_create_Gendial_field_def(pd->scroller, &(itc_1icon), - __editbox_list_cb, - pd, SWALLOW_Type_LAYOUT_ENTRY, - NULL, NULL, 0, title, key_str, - __editbox_changed_cb); + const char *minlength= (char*)xmlGetProp(xmlObj, "minlength"); + const char *maxlength= (char*)xmlGetProp(xmlObj, "maxlength"); + + int max_len = -1; + if (maxlength) + { + max_len = atoi(maxlength); + SETTING_TRACE(" >> MAXLENGTH FILTER IS AVAILABLE !!!! maxlength = %d", max_len); + } + + Setting_GenGroupItem_Data *list_item = NULL; + + if (max_len == -1) + { + // without maxlength filter + list_item = setting_create_Gendial_field_def(pd->scroller, &(itc_1icon), + __editbox_list_cb, + pd, SWALLOW_Type_LAYOUT_ENTRY, + NULL, NULL, 0, title, key_str, + __editbox_changed_cb); + + } else { + // add max length filter + list_item = setting_create_Gendial_field_entry( + pd->scroller, + &(itc_1icon), + __editbox_list_cb, + pd, + SWALLOW_Type_LAYOUT_ENTRY, + NULL, NULL, 0, title, key_str, __editbox_changed_cb, + ELM_INPUT_PANEL_LAYOUT_NORMAL, + false, + false, + max_len, + 0, + NULL, NULL); + + } if (list_item) { list_item->userdata = xmlObj; list_item->stop_change_cb = __entry_unfocus_cb; @@ -1092,43 +1129,67 @@ static void* settings_func(void *data, xmlNode *xmlObj) return NULL; } + +static Evas_Object *setting_create_win_layout2(Evas_Object *win_layout, Evas_Object *win_obj) +{ + + Evas_Object *layout = NULL; + Evas_Object *conform = elm_conformant_add(win_obj); + //setting_main_appdata *ad = (setting_main_appdata *) data; + + /* Base Layout */ + layout = elm_layout_add(conform); + evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + setting_retvm_if(layout == NULL, FALSE, "layout == NULL"); + + elm_layout_theme_set(layout, "layout", "application", "default"); + evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(conform, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_win_resize_object_add(win_obj, conform); + elm_object_content_set(conform, layout); + + Evas_Object *bg = setting_create_bg(layout, win_obj, "group_list"); + elm_object_part_content_set(layout, "elm.swallow.bg", bg); + evas_object_show(layout); + evas_object_show(conform); + + //ad->conformant = conform; + return layout; +} + + +Evas_Object *setting_create_layout_navi_bar2(Evas_Object *win_layout, Evas_Object *win_obj, char *title_str, char *lbutton_str, char *rbutton_str, char *mbutton_str, setting_call_back_func lbutton_click_cb, setting_call_back_func rbutton_click_cb, setting_call_back_func mbutton_click_cb, void *cb_data, Evas_Object *eo_view, /*any container obj constructed on any evas obj */ + Evas_Object **navi_bar, + Evas_Object **titleobj) +{ + + Evas_Object *layout = setting_create_win_layout2(win_layout, win_obj); + *navi_bar = setting_create_navi_bar(layout); + + setting_create_navi_bar_buttons(title_str, + lbutton_str, rbutton_str, mbutton_str, + lbutton_click_cb, rbutton_click_cb, + mbutton_click_cb, cb_data, eo_view /*content */ , + *navi_bar, NULL); + return layout; +} + // static void* setting_func(void *data, xmlNode *xmlObj) { SETTING_TRACE_BEGIN; ret_if(!data || !xmlObj); -#if 1/*{{{*/ - //Draw_Data *pd = node->pd; +#if 1 PluginNode* node = (PluginNode*)data; Draw_Data *pd = node->pd; - //---------------------------------------------------------------- // [DATA] title, btn[0], btn[1] const char *title = (char*)xmlGetProp(xmlObj, "title"); char *btn[2] = {/* 0 */"OK", /* 1 */"NO"}; - // find child nodes named 'elements' - #if 0 - if (xmlObj->children) { - xmlNode* cur = xmlObj->children; - int i =0; - while (cur != NULL) - { - if (!xmlStrcmp(cur->name, (const xmlChar*)"button")) { - btn[i] = xmlGetProp(cur, "title"); - SETTING_TRACE("------>>> node type : Element, name=%s id=%s / btn[%d] = %s ", - cur->name,xmlGetProp(cur, "id"), - i, - btn[i]); - i++; - } - cur = cur->next; - } - } - #endif - //---------------------------------------------------------------- SETTING_TRACE("before setting_create_layout_navi_bar_genlist"); + // [UI] with DATA pd->scroller = elm_genlist_add(pd->win_get); retvm_if(pd->scroller == NULL, NULL, @@ -1136,25 +1197,18 @@ static void* setting_func(void *data, xmlNode *xmlObj) elm_object_style_set(pd->scroller, "dialogue"); elm_genlist_clear(pd->scroller); /* first to clear list */ - /* Enabling illume notification property for window */ - elm_win_conformant_set(pd->win_get, 1); - Evas_Object *conformant = elm_conformant_add(pd->win_get); - elm_object_style_set(conformant, "internal_layout"); /* By Kollus. 2011-01-04 */ - evas_object_show(conformant); - elm_object_content_set(conformant, pd->scroller); SETTING_TRACE("_(title):%s", _(title)); - pd->ly_main = - setting_create_layout_navi_bar(pd->win_get, pd->win_get, + pd->ly_main = setting_create_layout_navi_bar2(pd->win_get, pd->win_get, _(title), _("IDS_COM_BODY_BACK"), NULL, NULL, ___click_softkey_back_cb, NULL, NULL, - data, conformant, + data, pd->scroller, &(pd->navi_bar), NULL); SETTING_TRACE("after setting_create_layout_navi_bar_genlist"); -#endif/*}}}*/ +#endif return NULL; } @@ -1203,8 +1257,7 @@ static int __node_walker(PluginNode* context, xmlNode* cur) xmlNode *cur_node = NULL; for (cur_node = cur; cur_node;cur_node = cur_node->next) { if (cur_node->type == XML_ELEMENT_NODE) { - SETTING_TRACE("node type : %s id= %s", cur_node->name,xmlGetProp(cur_node, "id")); - + // SETTING_TRACE("node type : %s id= %s", cur_node->name,xmlGetProp(cur_node, "id")); drawer_fp fp = __drawer_find(cur_node->name); if (fp) { @@ -1470,6 +1523,9 @@ void setting_plugin_update(PluginNode* context) } +/** + * set modifiable + */ bool setting_plugin_load(PluginNode* context, const char *cfg_file) { SETTING_TRACE("cfg_file:%s", cfg_file)