From: Hyoyoung Chang <hyoyoung@gmail.com>
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 20 Feb 2012 08:26:17 +0000 (08:26 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 20 Feb 2012 08:26:17 +0000 (08:26 +0000)
commitaf23987f62283be2e261828def2990355c091642
tree5988edddf6b0e7f0932ccc50cf9e1f6feb721cc8
parent972eec22a65738ae3dc708d88060f0e0915ceb31
From: Hyoyoung Chang <hyoyoung@gmail.com>
Subject: [E-devel] [patch] elm_genlist - add item_class management
functions

I make controversial apis for item class management.
As raster and other guys suggest, I simplify APIs and its behaviors.

First, Two public apis and two internal apis are introduced

+EAPI Elm_Genlist_Item_Class *
+elm_genlist_item_class_new(void)

+EAPI void
+elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc)

+void
+_elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc)

+void
+_elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc)

genlist item class is maintained by genlist in automatic manner.

And three fields are introduced in genlist item class.
+   int version;
+   unsigned int refcount;
+   Eina_Bool delete_me;

Normally a user add a elm_genlist_item_class by
elm_genlist_item_class_new().
Then its reference counter is automatic maintained.
If the user wanna to remove the elm_genlist_item_class, then call
elm_genlist_item_class_free()
After refcount reaches to 0, it will be removed.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@68147 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
src/bin/test.c
src/bin/test_box.c
src/bin/test_genlist.c
src/bin/test_store.c
src/lib/elc_fileselector.c
src/lib/elm_deprecated_before.h
src/lib/elm_gengrid.h
src/lib/elm_genlist.c
src/lib/elm_genlist.h