genlist: merged _item_content_realize() and _item_mode_content_realize().
authorDaniel Juyung Seo <seojuyung2@gmail.com>
Sun, 27 Jul 2014 05:43:10 +0000 (22:43 -0700)
committerDaniel Juyung Seo <seojuyung2@gmail.com>
Thu, 21 Aug 2014 18:44:26 +0000 (03:44 +0900)
src/lib/elm_genlist.c

index 854564d..7203a3f 100644 (file)
@@ -304,9 +304,10 @@ static Eina_List *
 _item_content_realize(Elm_Gen_Item *it,
                       Evas_Object *target,
                       Eina_List **source,
-                      const char *parts)
+                      const char *parts,
+                      Eina_List **contents_list)
 {
-   Eina_List *res = it->content_objs;
+   Eina_List *res = *contents_list;
 
    if (it->itc->func.content_get)
      {
@@ -1199,44 +1200,6 @@ _elm_genlist_item_index_update(Elm_Gen_Item *it)
      }
 }
 
-static Eina_List *
-_item_mode_content_realize(Elm_Gen_Item *it,
-                           Evas_Object *target,
-                           Eina_List **source,
-                           const char *parts,
-                           Eina_List **contents_list)
-{
-   Eina_List *res = *contents_list;
-
-   if (it->itc->func.content_get)
-     {
-        const Eina_List *l;
-        const char *key;
-        Evas_Object *ic;
-
-        EINA_LIST_FOREACH(*source, l, key)
-          {
-             if (parts && fnmatch(parts, key, FNM_PERIOD))
-               continue;
-
-             ic = it->itc->func.content_get
-                 ((void *)it->base.data, WIDGET(it), key);
-
-             if (ic)
-               {
-                  res = eina_list_append(res, ic);
-                  edje_object_part_swallow(target, key, ic);
-                  evas_object_show(ic);
-                  elm_widget_sub_object_add(WIDGET(it), ic);
-                  if (elm_widget_item_disabled_get(it))
-                    elm_widget_disabled_set(ic, EINA_TRUE);
-               }
-          }
-     }
-
-   return res;
-}
-
 static void
 _decorate_all_item_position(Elm_Gen_Item *it,
                             int itx,
@@ -1312,11 +1275,11 @@ _decorate_all_item_realize(Elm_Gen_Item *it,
      it->item->deco_all_contents = elm_widget_stringlist_get
          (edje_object_data_get(it->deco_all_view, "contents"));
    it->item->deco_all_content_objs =
-     _item_mode_content_realize(it, it->deco_all_view,
-                                &it->item->deco_all_contents, NULL,
-                                &it->item->deco_all_content_objs);
+      _item_content_realize(it, it->deco_all_view,
+                            &it->item->deco_all_contents, NULL,
+                            &it->item->deco_all_content_objs);
    _item_state_realize
-     (it, it->deco_all_view, &it->item->deco_all_states, NULL);
+      (it, it->deco_all_view, &it->item->deco_all_states, NULL);
    edje_object_part_swallow
      (it->deco_all_view, "elm.swallow.decorate.content", VIEW(it));
 
@@ -1707,7 +1670,8 @@ _item_realize(Elm_Gen_Item *it,
 
         _item_text_realize(it, VIEW(it), &it->texts, NULL);
         it->content_objs =
-          _item_content_realize(it, VIEW(it), &it->contents, NULL);
+           _item_content_realize(it, VIEW(it), &it->contents, NULL,
+                                 &it->content_objs);
         if (it->has_contents != (!!it->content_objs))
           it->item->mincalcd = EINA_FALSE;
         it->has_contents = !!it->content_objs;
@@ -1719,7 +1683,7 @@ _item_realize(Elm_Gen_Item *it,
              if (!(it->item->flip_contents))
                it->item->flip_contents = elm_widget_stringlist_get
                    (edje_object_data_get(VIEW(it), "flips"));
-             it->item->flip_content_objs = _item_mode_content_realize
+             it->item->flip_content_objs = _item_content_realize
                  (it, VIEW(it), &it->item->flip_contents, NULL,
                  &it->item->flip_content_objs);
           }
@@ -5150,8 +5114,8 @@ _decorate_item_realize(Elm_Gen_Item *it)
        elm_widget_stringlist_get
          (edje_object_data_get(it->item->deco_it_view, "contents"));
    it->item->deco_it_content_objs =
-     _item_mode_content_realize
-       (it, it->item->deco_it_view, &it->item->deco_it_contents, NULL,
+      _item_content_realize
+      (it, it->item->deco_it_view, &it->item->deco_it_contents, NULL,
        &it->item->deco_it_content_objs);
    _item_state_realize
      (it, it->item->deco_it_view, &it->item->deco_it_states, NULL);
@@ -6713,7 +6677,8 @@ elm_genlist_item_fields_update(Elm_Object_Item *item,
         it->content_objs = _item_content_unrealize(it, VIEW(it),
                                                    &it->contents, parts);
         it->content_objs = _item_content_realize(it, VIEW(it),
-                                                 &it->contents, parts);
+                                                 &it->contents, parts,
+                                                 &it->content_objs);
         if (it->has_contents != (!!it->content_objs))
           it->item->mincalcd = EINA_FALSE;
         it->has_contents = !!it->content_objs;
@@ -6734,9 +6699,9 @@ elm_genlist_item_fields_update(Elm_Object_Item *item,
                                             &it->item->flip_contents, parts,
                                             &it->item->flip_content_objs);
              it->item->flip_content_objs =
-               _item_mode_content_realize(it, VIEW(it),
-                                          &it->item->flip_contents, parts,
-                                          &it->item->flip_content_objs);
+                _item_content_realize(it, VIEW(it),
+                                      &it->item->flip_contents, parts,
+                                      &it->item->flip_content_objs);
           }
         if (it->item->deco_it_view)
           {
@@ -6745,9 +6710,9 @@ elm_genlist_item_fields_update(Elm_Object_Item *item,
                                             &it->item->deco_it_contents, parts,
                                             &it->item->deco_it_content_objs);
              it->item->deco_it_content_objs =
-               _item_mode_content_realize(it, it->item->deco_it_view,
-                                          &it->item->deco_it_contents, parts,
-                                          &it->item->deco_it_content_objs);
+                _item_content_realize(it, it->item->deco_it_view,
+                                      &it->item->deco_it_contents, parts,
+                                      &it->item->deco_it_content_objs);
           }
         if (GL_IT(it)->wsd->decorate_all_mode)
           {
@@ -6756,9 +6721,9 @@ elm_genlist_item_fields_update(Elm_Object_Item *item,
                  (it, it->deco_all_view, &it->item->deco_all_contents, parts,
                  &it->item->deco_all_content_objs);
              it->item->deco_all_content_objs =
-               _item_mode_content_realize(it, it->deco_all_view,
-                                          &it->item->deco_all_contents, parts,
-                                          &it->item->deco_all_content_objs);
+                _item_content_realize(it, it->deco_all_view,
+                                      &it->item->deco_all_contents, parts,
+                                      &it->item->deco_all_content_objs);
           }
      }