[genlist] Added elm_genlist_item_expanded_depth_get() API.
authorDaniel Juyung Seo <juyung.seo@samsung.com>
Sun, 22 Aug 2010 13:30:13 +0000 (22:30 +0900)
committerDaniel Juyung Seo <juyung.seo@samsung.com>
Sun, 22 Aug 2010 13:30:13 +0000 (22:30 +0900)
src/lib/Elementary.h.in
src/lib/elm_genlist.c

index 1aecb7a..28e4f13 100644 (file)
@@ -1244,6 +1244,7 @@ extern "C" {
    EAPI void              elm_genlist_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
    EAPI void              elm_genlist_set_edit_mode(Evas_Object *obj, int emode, Elm_Genlist_Edit_Class *ec) __attribute__((deprecated));
    EAPI void              elm_genlist_edit_mode_set(Evas_Object *obj, int emode, Elm_Genlist_Edit_Class *ec);
+   EAPI int               elm_genlist_item_expanded_depth_get(Elm_Genlist_Item *it);
 
    EAPI Evas_Object *elm_check_add(Evas_Object *parent);
    EAPI void         elm_check_label_set(Evas_Object *obj, const char *label);
index 426405e..beecfa1 100755 (executable)
@@ -356,6 +356,7 @@ struct _Elm_Genlist_Item
    Eina_Bool menuopened : 1;
 
    int pad_left, pad_right;
+   int depth;
 };
 
 
@@ -1356,6 +1357,7 @@ _item_realize(Elm_Genlist_Item *it, int in, int calc)
    evas_object_color_set(it->spacer, 0, 0, 0, 0);
    elm_widget_sub_object_add(it->wd->obj, it->spacer);
    for (it2 = it, depth = 0; it2->parent; it2 = it2->parent) depth += 1;
+   it->depth = depth;
    treesize = edje_object_data_get(it->base, "treesize");
    if (treesize) tsize = atoi(treesize);
    evas_object_size_hint_min_set(it->spacer,
@@ -2535,6 +2537,7 @@ _item_new(Widget_Data *wd, const Elm_Genlist_Item_Class *itc,
    it->flags = flags;
    it->func.func = func;
    it->func.data = func_data;
+   it->depth = 0;
    return it;
 }
 
@@ -3601,6 +3604,7 @@ elm_genlist_item_expanded_set(Elm_Genlist_Item *it, Eina_Bool expanded)
        if (it->realized)
          edje_object_signal_emit(it->base, "elm,state,expanded", "elm");
        evas_object_smart_callback_call(it->wd->obj, "expanded", it);
+
      }
    else
      {
@@ -4431,3 +4435,11 @@ elm_genlist_edit_mode_set(Evas_Object *obj, int emode, Elm_Genlist_Edit_Class *e
    if (wd->calc_job) ecore_job_del(wd->calc_job);
    wd->calc_job = ecore_job_add(_calc_job, wd);
 }
+
+EAPI int
+elm_genlist_item_expanded_depth_get(Elm_Genlist_Item *it)
+{
+   if (!it) return;
+
+   return it->depth;
+}