Merge "fixed plugin model with conformant window"
authorMyoungJune Park <mj2004.park@tizendev.org>
Wed, 26 Dec 2012 04:04:50 +0000 (13:04 +0900)
committerGerrit Code Review <gerrit2@kim11>
Wed, 26 Dec 2012 04:04:50 +0000 (13:04 +0900)
setting-time/src/setting-time-main.c
src/setting-main.c
src/setting-plugin.c

index 06c10a9..38cd940 100755 (executable)
@@ -599,7 +599,13 @@ Evas_Object *setting_create_win_layout2(Evas_Object *win_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 *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)
 {
index 292fb45..2261772 100755 (executable)
@@ -1276,7 +1276,8 @@ static void __load_downloaded_apps_menu_list(void *data,
                                                     ELM_GENLIST_ITEM_NONE,
                                                     KeyStr_DownloadedAPPs,
                                                     NULL);
-
+       get_downloadapp_list(ad);
+       //SETTING_TRACE("Exit %s with return[%d]",__FUNCTION__, downloaded_apps_num);
        SETTING_TRACE_END;
 }
 
@@ -2099,7 +2100,6 @@ setting_main_click_list_plugin_cb(void *data, Evas_Object *obj,
        elm_genlist_item_selected_set(item, EINA_FALSE);
 
        setting_main_appdata *ad = data;
-#ifdef PLUGIN
        if (ad->plugin_path)
        {
                PluginNode* plugin_node = setting_plugin_create();
@@ -2117,7 +2117,6 @@ setting_main_click_list_plugin_cb(void *data, Evas_Object *obj,
                }
                #endif
        }
-#endif
 }
 
 /**
index 44837aa..928b62a 100755 (executable)
@@ -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
@@ -497,6 +498,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 +729,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 +778,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,6 +960,9 @@ static void* editbox_func(void *data, xmlNode *xmlObj)
        const char *title = (char*)xmlGetProp(xmlObj, "title");
        const char *key_str= (char*)xmlGetProp(xmlObj, "value");
 
+       //const char *minlength= (char*)xmlGetProp(xmlObj, "minlength");
+       //const char *maxlength= (char*)xmlGetProp(xmlObj, "maxlength");
+
        // TODO: minlength
        // TODO: maxlength
        Setting_GenGroupItem_Data *list_item =
@@ -1092,43 +1100,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;
+}
+
 // <setting>
 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 +1168,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 +1228,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 +1494,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)