Elementary genlist: Added genlist mode feature.
authorseoz <seoz@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 21 Apr 2011 11:47:36 +0000 (11:47 +0000)
committerseoz <seoz@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 21 Apr 2011 11:47:36 +0000 (11:47 +0000)
commit5765640ee2d1f52f6b06b285ae69042c6bd78906
tree3b42dfb4712017c9885bade3b77c96a10a159499
parent6b637a3022b5cb03366cfe5fce7110041518e0f0
Elementary genlist: Added genlist mode feature.

I introduce a new concept to genlist.
I named it "genlist mode" after I discussed it with raster.
Using this feature, one can activate/deactivate any mode(effect) to an item.
The mode is defined in genlist item edc.

You can watch a sample video on youtube.
http://www.youtube.com/watch?v=ZPbwpzwwiS8
I created two sample mode: Slide and Rotate.

[Feature Description]
 - One can activate a specific mode to an item.
 - One item is activated at one time while others are deactivated.
 - Genlist handles deactivating other items when one item is activated.
 - There are two different view: before activated, after activated.
 - Genlist creates the second view when the first view is activated. Usually the first view is animated.
 - Genlist destroys the second view when the item finishes deactivating.
 - Creating/Destroying the second view on the fly gives performance enhancement because there is no reason to hold all objects in two views all the time.
 - Mode is defined in genlist edc so one can easily add it more.
 - Mode edc style is separated from normal genlist styles. One can combine any genlist style with mode edc style.

[API]
 - EAPI void elm_genlist_item_mode_set(Elm_Genlist_Item *it, const char *mode_type, Eina_Bool mode_set) EINA_ARG_NONNULL(1, 2);
   Activate/Deactivate a mode to an item.
 - EAPI const char *elm_genlist_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
   Get activated mode name.
 - EAPI const Elm_Genlist_Item *elm_genlist_mode_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
   Get activated item.

[Structure]
 - Elm_Genlist_Item
   Added const char *mode_item_style;

[Usage]
 - Set mode style name to genlist item class.
   itc.mode_item_style = "mode";
 - Activated mode to an item whenever you want.
   elm_genlist_item_mode_set(it, "slide", EINA_TRUE);

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@58791 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
data/themes/default.edc
src/bin/test.c
src/bin/test_genlist.c
src/bin/test_store.c
src/lib/Elementary.h.in
src/lib/elm_genlist.c