[genlist, gen, gen_common] merge upstream except for elm_genlist.c
[framework/uifw/elementary.git] / src / examples / genlist_example_05.c
index de70a69..bd607e3 100644 (file)
@@ -17,15 +17,6 @@ typedef struct _Node_Data {
      Eina_Bool favorite;
 } Node_Data;
 
-<<<<<<< HEAD
-static Elm_Genlist_Item_Class _itc;
-static Elm_Genlist_Item_Class _itp;
-static Elm_Genlist_Item_Class _itfav;
-static int nitems = 0;
-
-static char *
-_item_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part)
-=======
 static Elm_Genlist_Item_Class *_itc = NULL;
 static Elm_Genlist_Item_Class *_itp = NULL;
 static Elm_Genlist_Item_Class *_itfav = NULL;
@@ -33,7 +24,6 @@ static int nitems = 0;
 
 static char *
 _item_label_get(void *data, Evas_Object *obj __UNUSED__, const char *part)
->>>>>>> remotes/origin/upstream
 {
    char buf[256];
    Node_Data *d = data;
@@ -64,11 +54,7 @@ _item_sel_cb(void *data, Evas_Object *obj, void *event_info)
 }
 
 static char *
-<<<<<<< HEAD
-_parent_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__)
-=======
 _parent_label_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__)
->>>>>>> remotes/origin/upstream
 {
    char buf[256];
    Node_Data *d = data;
@@ -92,11 +78,7 @@ _parent_content_get(void *data __UNUSED__, Evas_Object *obj, const char *part __
 }
 
 static char *
-<<<<<<< HEAD
-_favorite_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part)
-=======
 _favorite_label_get(void *data, Evas_Object *obj __UNUSED__, const char *part)
->>>>>>> remotes/origin/upstream
 {
    char buf[256];
    Node_Data *d = data;
@@ -123,28 +105,13 @@ static void
 _append_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__)
 {
    Evas_Object *list = data;
-<<<<<<< HEAD
-   Elm_Object_Item *it, *parent = NULL;
-=======
    Elm_Object_Item *glit, *parent = NULL;
->>>>>>> remotes/origin/upstream
    Node_Data *pdata, *d = malloc(sizeof(*d));
 
    d->children = NULL;
    d->value = nitems++;
    d->favorite = EINA_FALSE;
 
-<<<<<<< HEAD
-   it = elm_genlist_selected_item_get(list);
-   if (it)
-     parent = elm_genlist_item_parent_get(it);
-
-   if (parent)
-     {
-       d->level = elm_genlist_item_expanded_depth_get(parent) + 1;
-       pdata = elm_genlist_item_data_get(parent);
-       pdata->children = eina_list_append(pdata->children, d);
-=======
    glit = elm_genlist_selected_item_get(list);
    if (glit)
      parent = elm_genlist_item_parent_get(glit);
@@ -154,48 +121,20 @@ _append_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__)
         d->level = elm_genlist_item_expanded_depth_get(parent) + 1;
         pdata = elm_object_item_data_get(parent);
         pdata->children = eina_list_append(pdata->children, d);
->>>>>>> remotes/origin/upstream
      }
    else
      d->level = 0;
 
-<<<<<<< HEAD
-   elm_genlist_item_append(list, &_itc,
-                          d, parent,
-                          ELM_GENLIST_ITEM_NONE,
-                          _item_sel_cb, NULL);
-=======
    elm_genlist_item_append(list, _itc,
                            d, parent,
                            ELM_GENLIST_ITEM_NONE,
                            _item_sel_cb, NULL);
->>>>>>> remotes/origin/upstream
 }
 
 static void
 _favorite_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__)
 {
    Evas_Object *list = data;
-<<<<<<< HEAD
-   Elm_Object_Item *it = elm_genlist_selected_item_get(list);
-
-   if (!it)
-     return;
-
-   Node_Data *d = elm_genlist_item_data_get(it);
-   d->favorite = !d->favorite;
-   if (d->favorite)
-     elm_genlist_item_item_class_update(it, &_itfav);
-   else
-     {
-       if (d->children)
-         elm_genlist_item_item_class_update(it, &_itp);
-       else
-         elm_genlist_item_item_class_update(it, &_itc);
-     }
-
-   elm_genlist_item_update(it);
-=======
    Elm_Object_Item *glit = elm_genlist_selected_item_get(list);
 
    if (!glit) return;
@@ -213,24 +152,12 @@ _favorite_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__)
      }
 
    elm_genlist_item_update(glit);
->>>>>>> remotes/origin/upstream
 }
 
 static void
 _add_child_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__)
 {
    Evas_Object *list = data;
-<<<<<<< HEAD
-   Elm_Object_Item *it = elm_genlist_selected_item_get(list);
-   Elm_Object_Item *prev, *parent;
-
-   if (!it)
-     return;
-
-   Node_Data *d = elm_genlist_item_data_get(it);
-   prev = elm_genlist_item_prev_get(it);
-   parent = elm_genlist_item_parent_get(it);
-=======
    Elm_Object_Item *glit = elm_genlist_selected_item_get(list);
    Elm_Object_Item *glit_prev, *glit_parent;
 
@@ -239,7 +166,6 @@ _add_child_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__
    Node_Data *d = elm_object_item_data_get(glit);
    glit_prev = elm_genlist_item_prev_get(glit);
    glit_parent = elm_genlist_item_parent_get(glit);
->>>>>>> remotes/origin/upstream
 
    Eina_Bool change_item = !d->children;
 
@@ -248,38 +174,12 @@ _add_child_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__
    ndata->value = nitems++;
    ndata->children = NULL;
    ndata->favorite = EINA_FALSE;
-<<<<<<< HEAD
-   ndata->level = elm_genlist_item_expanded_depth_get(it) + 1;
-=======
    ndata->level = elm_genlist_item_expanded_depth_get(glit) + 1;
->>>>>>> remotes/origin/upstream
    d->children = eina_list_append(d->children, ndata);
 
    // Changing leaf item to parent item
    if (change_item)
      {
-<<<<<<< HEAD
-        elm_genlist_item_del(it);
-
-       if (prev != parent)
-         it = elm_genlist_item_insert_after(list, &_itp, d, parent, prev,
-                                            ELM_GENLIST_ITEM_SUBITEMS,
-                                            _item_sel_cb, NULL);
-       else
-         it = elm_genlist_item_prepend(list, &_itp, d, parent,
-                                       ELM_GENLIST_ITEM_SUBITEMS,
-                                       _item_sel_cb, NULL);
-       elm_genlist_item_expanded_set(it, EINA_FALSE);
-       elm_genlist_item_selected_set(it, EINA_TRUE);
-     }
-   else if (elm_genlist_item_expanded_get(it))
-     {
-       elm_genlist_item_append(list, &_itc, ndata, it,
-                               ELM_GENLIST_ITEM_NONE, _item_sel_cb, NULL);
-     }
-
-   elm_genlist_item_update(it);
-=======
         elm_object_item_del(glit);
 
         if (glit_prev != glit_parent)
@@ -302,7 +202,6 @@ _add_child_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__
 
    elm_genlist_item_update(glit);
 
->>>>>>> remotes/origin/upstream
 }
 
 static void
@@ -319,27 +218,6 @@ static void
 _del_item_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__)
 {
    Evas_Object *list = data;
-<<<<<<< HEAD
-   Elm_Object_Item *it = elm_genlist_selected_item_get(list);
-   Elm_Object_Item *parent = NULL;
-
-   if (!it)
-     return;
-
-   Node_Data *pdata, *d = elm_genlist_item_data_get(it);
-   parent = elm_genlist_item_parent_get(it);
-   elm_genlist_item_subitems_clear(it);
-   elm_genlist_item_del(it);
-
-   _clear_list(d);
-
-   if (!parent)
-     return;
-
-   pdata = elm_genlist_item_data_get(parent);
-   pdata->children = eina_list_remove(pdata->children, d);
-   elm_genlist_item_update(parent);
-=======
    Elm_Object_Item *glit = elm_genlist_selected_item_get(list);
    Elm_Object_Item *glit_parent = NULL;
 
@@ -357,73 +235,36 @@ _del_item_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__)
    pdata = elm_object_item_data_get(glit_parent);
    pdata->children = eina_list_remove(pdata->children, d);
    elm_genlist_item_update(glit_parent);
->>>>>>> remotes/origin/upstream
 }
 
 static void
 _expand_request_cb(void *data __UNUSED__, Evas_Object *o __UNUSED__, void *event_info)
 {
-<<<<<<< HEAD
-   Elm_Object_Item *it = event_info;
-   printf("expand request on item: %p\n", event_info);
-   elm_genlist_item_expanded_set(it, EINA_TRUE);
-=======
    Elm_Object_Item *glit = event_info;
    printf("expand request on item: %p\n", event_info);
    elm_genlist_item_expanded_set(glit, EINA_TRUE);
->>>>>>> remotes/origin/upstream
 }
 
 static void
 _contract_request_cb(void *data __UNUSED__, Evas_Object *o __UNUSED__, void *event_info)
 {
-<<<<<<< HEAD
-   Elm_Object_Item *it = event_info;
-   printf("contract request on item: %p\n", event_info);
-   elm_genlist_item_expanded_set(it, EINA_FALSE);
-=======
    Elm_Object_Item *glit = event_info;
    printf("contract request on item: %p\n", event_info);
    elm_genlist_item_expanded_set(glit, EINA_FALSE);
->>>>>>> remotes/origin/upstream
 }
 
 static void
 _expanded_cb(void *data __UNUSED__, Evas_Object *o __UNUSED__, void *event_info)
 {
    Eina_List *l;
-<<<<<<< HEAD
-   Elm_Object_Item *it = event_info;
-   Node_Data *it_data, *d = elm_genlist_item_data_get(it);
-   Evas_Object *list = elm_genlist_item_genlist_get(it);
-=======
    Elm_Object_Item *glit = event_info;
    Node_Data *it_data, *d = elm_object_item_data_get(glit);
    Evas_Object *list = elm_object_item_widget_get(glit);
->>>>>>> remotes/origin/upstream
 
    Elm_Genlist_Item_Class *ic;
 
    EINA_LIST_FOREACH(d->children, l, it_data)
      {
-<<<<<<< HEAD
-       Elm_Object_Item *nitem;
-       Elm_Genlist_Item_Flags flags = ELM_GENLIST_ITEM_NONE;
-       printf("expanding item: #%d from parent #%d\n", it_data->value, d->value);
-       if (it_data->favorite)
-         ic = &_itfav;
-       else if (it_data->children)
-         {
-            ic = &_itp;
-            flags = ELM_GENLIST_ITEM_SUBITEMS;
-         }
-       else
-         ic = &_itc;
-
-       nitem = elm_genlist_item_append(list, ic, it_data, it,
-                                       flags, _item_sel_cb, NULL);
-       elm_genlist_item_expanded_set(nitem, EINA_FALSE);
-=======
         Elm_Object_Item *nitem;
         Elm_Genlist_Item_Type type = ELM_GENLIST_ITEM_NONE;
         printf("expanding item: #%d from parent #%d\n", it_data->value, d->value);
@@ -440,20 +281,14 @@ _expanded_cb(void *data __UNUSED__, Evas_Object *o __UNUSED__, void *event_info)
         nitem = elm_genlist_item_append(list, ic, it_data, glit,
                                         type, _item_sel_cb, NULL);
         elm_genlist_item_expanded_set(nitem, EINA_FALSE);
->>>>>>> remotes/origin/upstream
      }
 }
 
 static void
 _contracted_cb(void *data __UNUSED__, Evas_Object *o __UNUSED__, void *event_info)
 {
-<<<<<<< HEAD
-   Elm_Object_Item *it = event_info;
-   elm_genlist_item_subitems_clear(it);
-=======
    Elm_Object_Item *glit = event_info;
    elm_genlist_item_subitems_clear(glit);
->>>>>>> remotes/origin/upstream
 }
 
 static Evas_Object *
@@ -496,25 +331,6 @@ elm_main(int argc __UNUSED__, char **argv __UNUSED__)
    elm_win_resize_object_add(win, box);
    evas_object_show(box);
 
-<<<<<<< HEAD
-   _itc.item_style = "default";
-   _itc.func.text_get = _item_text_get;
-   _itc.func.content_get = _item_content_get;
-   _itc.func.state_get = NULL;
-   _itc.func.del = NULL;
-
-   _itp.item_style = "default";
-   _itp.func.text_get = _parent_text_get;
-   _itp.func.content_get = _parent_content_get;
-   _itp.func.state_get = NULL;
-   _itp.func.del = NULL;
-
-   _itfav.item_style = "default";
-   _itfav.func.text_get = _favorite_text_get;
-   _itfav.func.content_get = _favorite_content_get;
-   _itfav.func.state_get = NULL;
-   _itfav.func.del = NULL;
-=======
    if (!_itc)
      {
         _itc = elm_genlist_item_class_new();
@@ -544,7 +360,6 @@ elm_main(int argc __UNUSED__, char **argv __UNUSED__)
         _itfav->func.state_get = NULL;
         _itfav->func.del = NULL;
      }
->>>>>>> remotes/origin/upstream
 
    list = elm_genlist_add(win);
 
@@ -555,11 +370,7 @@ elm_main(int argc __UNUSED__, char **argv __UNUSED__)
 
    fbox = elm_box_add(win);
    elm_box_layout_set(fbox, evas_object_box_layout_flow_horizontal,
-<<<<<<< HEAD
-                     NULL, NULL);
-=======
                       NULL, NULL);
->>>>>>> remotes/origin/upstream
    evas_object_size_hint_weight_set(fbox, EVAS_HINT_EXPAND, 0);
    evas_object_size_hint_align_set(fbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
    elm_box_pack_end(box, fbox);
@@ -572,35 +383,6 @@ elm_main(int argc __UNUSED__, char **argv __UNUSED__)
 
    for (i = 0; i < N_ITEMS; i++)
      {
-<<<<<<< HEAD
-       Elm_Object_Item *gli, *glg;
-       Node_Data *data = malloc(sizeof(*data)); // data for this item
-       data->children = NULL;
-       data->value = i;
-       data->favorite = EINA_FALSE;
-       nitems++;
-
-       Node_Data *pdata; // data for the parent of the group
-
-       printf("creating item: #%d\n", data->value);
-       if (i % 3 == 0)
-         {
-            glg = gli = elm_genlist_item_append(list, &_itp, data, NULL,
-                                                ELM_GENLIST_ITEM_SUBITEMS,
-                                                _item_sel_cb, NULL);
-            elm_genlist_item_expanded_set(glg, EINA_TRUE);
-            pdata = data;
-            data->level = 0;
-         }
-       else
-         {
-            gli = elm_genlist_item_append(list, &_itc, data, glg,
-                                          ELM_GENLIST_ITEM_NONE,
-                                          _item_sel_cb, NULL);
-            pdata->children = eina_list_append(pdata->children, data);
-            data->level = 1;
-         }
-=======
         Elm_Object_Item *gli, *glg;
         Node_Data *data = malloc(sizeof(*data)); // data for this item
         data->children = NULL;
@@ -628,7 +410,6 @@ elm_main(int argc __UNUSED__, char **argv __UNUSED__)
              pdata->children = eina_list_append(pdata->children, data);
              data->level = 1;
           }
->>>>>>> remotes/origin/upstream
      }
 
    evas_object_smart_callback_add(list, "expand,request", _expand_request_cb, list);