
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\textcolor{comment}{//Compile with:}}
\DoxyCodeLine{\textcolor{comment}{//gcc -\/g genlist\_example\_05.c -\/o genlist\_example\_05 `pkg-\/config -\/-\/cflags -\/-\/libs elementary`}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{preprocessor}{\#include <Elementary.h>}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{preprocessor}{\#define N\_ITEMS 6}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{typedef} \textcolor{keyword}{struct }\_Node\_Data \{}
\DoxyCodeLine{     \mbox{\hyperlink{struct__Eina__List}{Eina\_List}} *children;}
\DoxyCodeLine{     \textcolor{keywordtype}{int} value;}
\DoxyCodeLine{     \textcolor{keywordtype}{int} level;}
\DoxyCodeLine{     \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}} favorite;}
\DoxyCodeLine{\} Node\_Data;}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{struct__Elm__Gen__Item__Class}{Elm\_Genlist\_Item\_Class}} *\_itc = NULL;}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{struct__Elm__Gen__Item__Class}{Elm\_Genlist\_Item\_Class}} *\_itp = NULL;}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{struct__Elm__Gen__Item__Class}{Elm\_Genlist\_Item\_Class}} *\_itfav = NULL;}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{int} nitems = 0;}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{char} *}
\DoxyCodeLine{\_item\_label\_get(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *part)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{keywordtype}{char} buf[256] = \{0\};}
\DoxyCodeLine{   Node\_Data *d = data;}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!strcmp(part, \textcolor{stringliteral}{"{}elm.text"{}}))}
\DoxyCodeLine{     snprintf(buf, \textcolor{keyword}{sizeof}(buf), \textcolor{stringliteral}{"{}Item \# \%i (level \%i)"{}}, d-\/>value, d-\/>level);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{return} strdup(buf);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *}
\DoxyCodeLine{\_item\_content\_get(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *part)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ic = \mbox{\hyperlink{group__Elm__Icon_ga5739728c1209f90422cf65a778a16502}{elm\_icon\_add}}(obj);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!strcmp(part, \textcolor{stringliteral}{"{}elm.swallow.icon"{}}))}
\DoxyCodeLine{     \mbox{\hyperlink{group__Elm__Icon_gab764b4c6c90543f254c013eff6a6db66}{elm\_icon\_standard\_set}}(ic, \textcolor{stringliteral}{"{}file"{}});}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga8c5243311efac47b9ed242c72905ccdf}{evas\_object\_size\_hint\_aspect\_set}}(ic, \mbox{\hyperlink{Evas__Common_8h_ac68b577b7c0b79c356f01926e4a8099faeaf1e019f2dbfbbc2da9ab1fe1f175f6}{EVAS\_ASPECT\_CONTROL\_VERTICAL}}, 1, 1);}
\DoxyCodeLine{   \textcolor{keywordflow}{return} ic;}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_item\_sel\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}sel item data [\%p] on genlist obj [\%p], item pointer [\%p]\(\backslash\)n"{}},}
\DoxyCodeLine{          data, obj, event\_info);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{char} *}
\DoxyCodeLine{\_parent\_label\_get(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *part \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{keywordtype}{char} buf[256];}
\DoxyCodeLine{   Node\_Data *d = data;}
\DoxyCodeLine{}
\DoxyCodeLine{   snprintf(buf, \textcolor{keyword}{sizeof}(buf), \textcolor{stringliteral}{"{}Group \%d (\%d items)"{}}, d-\/>value / 7,}
\DoxyCodeLine{            \mbox{\hyperlink{group__Eina__List__Group_ga301729054a498a2df09a5f1dd760697e}{eina\_list\_count}}(d-\/>children));}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{return} strdup(buf);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *}
\DoxyCodeLine{\_parent\_content\_get(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *part)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ic = \mbox{\hyperlink{group__Elm__Icon_ga5739728c1209f90422cf65a778a16502}{elm\_icon\_add}}(obj);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!strcmp(part, \textcolor{stringliteral}{"{}elm.swallow.icon"{}}))}
\DoxyCodeLine{     \mbox{\hyperlink{group__Elm__Icon_gab764b4c6c90543f254c013eff6a6db66}{elm\_icon\_standard\_set}}(ic, \textcolor{stringliteral}{"{}folder"{}});}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga8c5243311efac47b9ed242c72905ccdf}{evas\_object\_size\_hint\_aspect\_set}}(ic, \mbox{\hyperlink{Evas__Common_8h_ac68b577b7c0b79c356f01926e4a8099faeaf1e019f2dbfbbc2da9ab1fe1f175f6}{EVAS\_ASPECT\_CONTROL\_VERTICAL}}, 1, 1);}
\DoxyCodeLine{   \textcolor{keywordflow}{return} ic;}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{char} *}
\DoxyCodeLine{\_favorite\_label\_get(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *part)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{keywordtype}{char} buf[256] = \{0\};}
\DoxyCodeLine{   Node\_Data *d = data;}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!strcmp(part, \textcolor{stringliteral}{"{}elm.text"{}}))}
\DoxyCodeLine{     snprintf(buf, \textcolor{keyword}{sizeof}(buf), \textcolor{stringliteral}{"{}Favorite \# \%i"{}}, d-\/>value);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{return} strdup(buf);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *}
\DoxyCodeLine{\_favorite\_content\_get(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *part)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ic = \mbox{\hyperlink{group__Elm__Icon_ga5739728c1209f90422cf65a778a16502}{elm\_icon\_add}}(obj);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!strcmp(part, \textcolor{stringliteral}{"{}elm.swallow.icon"{}}))}
\DoxyCodeLine{     \mbox{\hyperlink{group__Elm__Icon_gab764b4c6c90543f254c013eff6a6db66}{elm\_icon\_standard\_set}}(ic, \textcolor{stringliteral}{"{}apps"{}});}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga8c5243311efac47b9ed242c72905ccdf}{evas\_object\_size\_hint\_aspect\_set}}(ic, \mbox{\hyperlink{Evas__Common_8h_ac68b577b7c0b79c356f01926e4a8099faeaf1e019f2dbfbbc2da9ab1fe1f175f6}{EVAS\_ASPECT\_CONTROL\_VERTICAL}}, 1, 1);}
\DoxyCodeLine{   \textcolor{keywordflow}{return} ic;}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_append\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *list = data;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *glit, *parent = NULL;}
\DoxyCodeLine{   Node\_Data *pdata, *d = malloc(\textcolor{keyword}{sizeof}(*d));}
\DoxyCodeLine{}
\DoxyCodeLine{   d-\/>children = NULL;}
\DoxyCodeLine{   d-\/>value = nitems++;}
\DoxyCodeLine{   d-\/>favorite = \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{}
\DoxyCodeLine{   glit = \mbox{\hyperlink{group__Elm__Genlist__Group_ga97abf26033fe2041450aa26b6f138c8a}{elm\_genlist\_selected\_item\_get}}(list);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (glit)}
\DoxyCodeLine{     parent = \mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga7bf98bce00db267c77caefdf91926d36}{elm\_genlist\_item\_parent\_get}}(glit);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (parent)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        d-\/>level = \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gad33ad5178da567defeb1b170d535fe51}{elm\_genlist\_item\_expanded\_depth\_get}}(parent) + 1;}
\DoxyCodeLine{        pdata = \mbox{\hyperlink{group__Elm__General_ga4465a576c55d197878aeafc0bacf7bb4}{elm\_object\_item\_data\_get}}(parent);}
\DoxyCodeLine{        pdata-\/>children = \mbox{\hyperlink{group__Eina__List__Group_ga92ec14d1a1040a361c4d8cd0ab7b0ecc}{eina\_list\_append}}(pdata-\/>children, d);}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else}}
\DoxyCodeLine{     d-\/>level = 0;}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Genlist__Group_ga845c3e247cd8eae4114f98d59f42be2f}{elm\_genlist\_item\_append}}(list, \_itc,}
\DoxyCodeLine{                           d, parent,}
\DoxyCodeLine{                           \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gga9727d3b92987319ac981247bc196bd0fa1ffe76fc4e7fd2bb40e47290c01ac0df}{ELM\_GENLIST\_ITEM\_NONE}},}
\DoxyCodeLine{                           \_item\_sel\_cb, NULL);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_favorite\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *list = data;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *glit = \mbox{\hyperlink{group__Elm__Genlist__Group_ga97abf26033fe2041450aa26b6f138c8a}{elm\_genlist\_selected\_item\_get}}(list);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!glit) \textcolor{keywordflow}{return};}
\DoxyCodeLine{}
\DoxyCodeLine{   Node\_Data *d = \mbox{\hyperlink{group__Elm__General_ga4465a576c55d197878aeafc0bacf7bb4}{elm\_object\_item\_data\_get}}(glit);}
\DoxyCodeLine{   d-\/>favorite = !d-\/>favorite;}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (d-\/>favorite)}
\DoxyCodeLine{     \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gac16cbc443fcb23d89039bb7cde138add}{elm\_genlist\_item\_item\_class\_update}}(glit, \_itfav);}
\DoxyCodeLine{   \textcolor{keywordflow}{else}}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \textcolor{keywordflow}{if} (d-\/>children)}
\DoxyCodeLine{          \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gac16cbc443fcb23d89039bb7cde138add}{elm\_genlist\_item\_item\_class\_update}}(glit, \_itp);}
\DoxyCodeLine{        \textcolor{keywordflow}{else}}
\DoxyCodeLine{          \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gac16cbc443fcb23d89039bb7cde138add}{elm\_genlist\_item\_item\_class\_update}}(glit, \_itc);}
\DoxyCodeLine{     \}}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gaa24da110b846b5f615b0e90b1f1e35f5}{elm\_genlist\_item\_update}}(glit);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_add\_child\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *list = data;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *glit = \mbox{\hyperlink{group__Elm__Genlist__Group_ga97abf26033fe2041450aa26b6f138c8a}{elm\_genlist\_selected\_item\_get}}(list);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *glit\_prev, *glit\_parent;}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!glit) \textcolor{keywordflow}{return};}
\DoxyCodeLine{}
\DoxyCodeLine{   Node\_Data *d = \mbox{\hyperlink{group__Elm__General_ga4465a576c55d197878aeafc0bacf7bb4}{elm\_object\_item\_data\_get}}(glit);}
\DoxyCodeLine{   glit\_prev = \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gae8a977729503570a3d65b3b4d5cbc0f5}{elm\_genlist\_item\_prev\_get}}(glit);}
\DoxyCodeLine{   glit\_parent = \mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga7bf98bce00db267c77caefdf91926d36}{elm\_genlist\_item\_parent\_get}}(glit);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}} change\_item = !d-\/>children;}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// creating new item data}}
\DoxyCodeLine{   Node\_Data *ndata = malloc(\textcolor{keyword}{sizeof}(*ndata));}
\DoxyCodeLine{   ndata-\/>value = nitems++;}
\DoxyCodeLine{   ndata-\/>children = NULL;}
\DoxyCodeLine{   ndata-\/>favorite = \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{   ndata-\/>level = \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gad33ad5178da567defeb1b170d535fe51}{elm\_genlist\_item\_expanded\_depth\_get}}(glit) + 1;}
\DoxyCodeLine{   d-\/>children = \mbox{\hyperlink{group__Eina__List__Group_ga92ec14d1a1040a361c4d8cd0ab7b0ecc}{eina\_list\_append}}(d-\/>children, ndata);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// Changing leaf item to parent item}}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (change\_item)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Elm__General_gad1b5a0d41fa322b28000a290154ec3a4}{elm\_object\_item\_del}}(glit);}
\DoxyCodeLine{}
\DoxyCodeLine{        \textcolor{keywordflow}{if} (glit\_prev != glit\_parent)}
\DoxyCodeLine{          glit = \mbox{\hyperlink{group__Elm__Genlist__Group_ga35b7c5a1d022c927a589b84ccf969562}{elm\_genlist\_item\_insert\_after}}(list, \_itp, d, glit\_parent,}
\DoxyCodeLine{                                               glit\_prev,}
\DoxyCodeLine{                                               \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gga9727d3b92987319ac981247bc196bd0fae3f8be87b286f57bcd0ebe8e93db665a}{ELM\_GENLIST\_ITEM\_TREE}},}
\DoxyCodeLine{                                               \_item\_sel\_cb, NULL);}
\DoxyCodeLine{        \textcolor{keywordflow}{else}}
\DoxyCodeLine{          glit = \mbox{\hyperlink{group__Elm__Genlist__Group_gad1cc07925e962db462a82e34e91653ac}{elm\_genlist\_item\_prepend}}(list, \_itp, d, glit\_parent,}
\DoxyCodeLine{                                          \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gga9727d3b92987319ac981247bc196bd0fae3f8be87b286f57bcd0ebe8e93db665a}{ELM\_GENLIST\_ITEM\_TREE}},}
\DoxyCodeLine{                                          \_item\_sel\_cb, NULL);}
\DoxyCodeLine{        \mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga2ded3582b3c3ceb4f90ff6c1def80727}{elm\_genlist\_item\_expanded\_set}}(glit, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}});}
\DoxyCodeLine{        \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gabf3f223c07862e2bb450d517b2658b94}{elm\_genlist\_item\_selected\_set}}(glit, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}});}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (\mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga48a8f862e4f2b96d33ab7181a266a96d}{elm\_genlist\_item\_expanded\_get}}(glit))}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Elm__Genlist__Group_ga845c3e247cd8eae4114f98d59f42be2f}{elm\_genlist\_item\_append}}(list, \_itc, ndata, glit,}
\DoxyCodeLine{                                \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gga9727d3b92987319ac981247bc196bd0fa1ffe76fc4e7fd2bb40e47290c01ac0df}{ELM\_GENLIST\_ITEM\_NONE}}, \_item\_sel\_cb, NULL);}
\DoxyCodeLine{     \}}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gaa24da110b846b5f615b0e90b1f1e35f5}{elm\_genlist\_item\_update}}(glit);}
\DoxyCodeLine{}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_clear\_list(Node\_Data *d)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   Node\_Data *tmp;}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Eina__List__Group_gae27a2c686a0a11693f9b06957c9bba83}{EINA\_LIST\_FREE}}(d-\/>children, tmp)}
\DoxyCodeLine{      \_clear\_list(tmp);}
\DoxyCodeLine{   free(d);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_del\_item\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *list = data;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *glit = \mbox{\hyperlink{group__Elm__Genlist__Group_ga97abf26033fe2041450aa26b6f138c8a}{elm\_genlist\_selected\_item\_get}}(list);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *glit\_parent = NULL;}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!glit) \textcolor{keywordflow}{return};}
\DoxyCodeLine{}
\DoxyCodeLine{   Node\_Data *pdata, *d = \mbox{\hyperlink{group__Elm__General_ga4465a576c55d197878aeafc0bacf7bb4}{elm\_object\_item\_data\_get}}(glit);}
\DoxyCodeLine{   glit\_parent = \mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga7bf98bce00db267c77caefdf91926d36}{elm\_genlist\_item\_parent\_get}}(glit);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga36fe8144ee138375a9da2886e71da14b}{elm\_genlist\_item\_subitems\_clear}}(glit);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_gad1b5a0d41fa322b28000a290154ec3a4}{elm\_object\_item\_del}}(glit);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (glit\_parent)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        pdata = \mbox{\hyperlink{group__Elm__General_ga4465a576c55d197878aeafc0bacf7bb4}{elm\_object\_item\_data\_get}}(glit\_parent);}
\DoxyCodeLine{        pdata-\/>children = \mbox{\hyperlink{group__Eina__List__Group_ga7c0c6e07aa592a1cb2e010049a718035}{eina\_list\_remove}}(pdata-\/>children, d);}
\DoxyCodeLine{     \}}
\DoxyCodeLine{}
\DoxyCodeLine{   \_clear\_list(d);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gaa24da110b846b5f615b0e90b1f1e35f5}{elm\_genlist\_item\_update}}(glit\_parent);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_expand\_request\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *glit = event\_info;}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}expand request on item: \%p\(\backslash\)n"{}}, event\_info);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga2ded3582b3c3ceb4f90ff6c1def80727}{elm\_genlist\_item\_expanded\_set}}(glit, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}});}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_contract\_request\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *glit = event\_info;}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}contract request on item: \%p\(\backslash\)n"{}}, event\_info);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga2ded3582b3c3ceb4f90ff6c1def80727}{elm\_genlist\_item\_expanded\_set}}(glit, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}});}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_expanded\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{struct__Eina__List}{Eina\_List}} *l;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *glit = event\_info;}
\DoxyCodeLine{   Node\_Data *it\_data, *d = \mbox{\hyperlink{group__Elm__General_ga4465a576c55d197878aeafc0bacf7bb4}{elm\_object\_item\_data\_get}}(glit);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *list = \mbox{\hyperlink{group__Elm__General_ga6fe693f0d12167a5a98695a5360565c0}{elm\_object\_item\_widget\_get}}(glit);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{struct__Elm__Gen__Item__Class}{Elm\_Genlist\_Item\_Class}} *ic;}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(d-\/>children, l, it\_data)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *nitem;}
\DoxyCodeLine{        \mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga9727d3b92987319ac981247bc196bd0f}{Elm\_Genlist\_Item\_Type}} type = \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gga9727d3b92987319ac981247bc196bd0fa1ffe76fc4e7fd2bb40e47290c01ac0df}{ELM\_GENLIST\_ITEM\_NONE}};}
\DoxyCodeLine{        printf(\textcolor{stringliteral}{"{}expanding item: \#\%d from parent \#\%d\(\backslash\)n"{}}, it\_data-\/>value, d-\/>value);}
\DoxyCodeLine{        \textcolor{keywordflow}{if} (it\_data-\/>favorite)}
\DoxyCodeLine{          ic = \_itfav;}
\DoxyCodeLine{        \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (it\_data-\/>children)}
\DoxyCodeLine{          \{}
\DoxyCodeLine{             ic = \_itp;}
\DoxyCodeLine{             type = \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gga9727d3b92987319ac981247bc196bd0fae3f8be87b286f57bcd0ebe8e93db665a}{ELM\_GENLIST\_ITEM\_TREE}};}
\DoxyCodeLine{          \}}
\DoxyCodeLine{        \textcolor{keywordflow}{else}}
\DoxyCodeLine{          ic = \_itc;}
\DoxyCodeLine{}
\DoxyCodeLine{        nitem = \mbox{\hyperlink{group__Elm__Genlist__Group_ga845c3e247cd8eae4114f98d59f42be2f}{elm\_genlist\_item\_append}}(list, ic, it\_data, glit,}
\DoxyCodeLine{                                        type, \_item\_sel\_cb, NULL);}
\DoxyCodeLine{        \mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga2ded3582b3c3ceb4f90ff6c1def80727}{elm\_genlist\_item\_expanded\_set}}(nitem, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}});}
\DoxyCodeLine{     \}}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_contracted\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *glit = event\_info;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga36fe8144ee138375a9da2886e71da14b}{elm\_genlist\_item\_subitems\_clear}}(glit);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *}
\DoxyCodeLine{\_button\_add(\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *list, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *box, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *label, \mbox{\hyperlink{Evas__Common_8h_afbde245aa36db11d8280b266235c25b2}{Evas\_Smart\_Cb}} cb)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *bt;}
\DoxyCodeLine{}
\DoxyCodeLine{   bt = \mbox{\hyperlink{group__Elm__Button_ga0021b9d86d822367035843ed18bc6ea9}{elm\_button\_add}}(\mbox{\hyperlink{group__Elm__WidgetNavigation_ga0b5f83c403948f1418e434f3ed94973f}{elm\_object\_parent\_widget\_get}}(list));}
\DoxyCodeLine{   elm\_object\_text\_set(bt, label);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Box__Group_ga66a10dd861578521af2ab7b8c2ca65c5}{elm\_box\_pack\_end}}(box, bt);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(bt);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (cb)}
\DoxyCodeLine{     \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\_object\_smart\_callback\_add}}(bt, \textcolor{stringliteral}{"{}clicked"{}}, cb, list);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{return} bt;}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{EAPI\_MAIN \textcolor{keywordtype}{int}}
\DoxyCodeLine{elm\_main(\textcolor{keywordtype}{int} argc \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{char} **argv \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *win, *box, *fbox;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *list;}
\DoxyCodeLine{   \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{}
\DoxyCodeLine{   win = \mbox{\hyperlink{group__Elm__Win__Group_gac75d7752662fab73d6420706ce5be996}{elm\_win\_util\_standard\_add}}(\textcolor{stringliteral}{"{}genlist"{}}, \textcolor{stringliteral}{"{}Genlist"{}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga7a05f37fd3a019da5e26c5fc91fcd937}{elm\_policy\_set}}(\mbox{\hyperlink{group__Elm__General_ggaa16f3378ecdbf660fa378402e3c5a0a9a02fadb6faada04b19d0fa42c11a8d32a}{ELM\_POLICY\_QUIT}}, \mbox{\hyperlink{group__Elm__General_gga46af37e6ac2c406321060be827117196abbe0962d88ae12afe1a173da881f56cd}{ELM\_POLICY\_QUIT\_LAST\_WINDOW\_CLOSED}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Win__Group_ga9a16a2f8c9fd5b6e9203ed9dcb53ea8b}{elm\_win\_autodel\_set}}(win, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}});}
\DoxyCodeLine{}
\DoxyCodeLine{   box = \mbox{\hyperlink{group__Elm__Box__Group_ga3d0998b60ada633bacfa8869a921cfd7}{elm\_box\_add}}(win);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga2af897b00f32bebf08705929276386f5}{evas\_object\_size\_hint\_weight\_set}}(box, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Win__Group_ga505d6bd217e5ee01e82b548ec35986eb}{elm\_win\_resize\_object\_add}}(win, box);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(box);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!\_itc)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \_itc = \mbox{\hyperlink{group__Elm__Genlist__Group_gabb8088ee2d6660c5d934ce3153493eb1}{elm\_genlist\_item\_class\_new}}();}
\DoxyCodeLine{        \_itc-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_aa611ea90d00c3e0f9abe25ff56fc420f}{item\_style}} = \textcolor{stringliteral}{"{}default"{}};}
\DoxyCodeLine{        \_itc-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_ae7a3a244fab9e126b3ac264615535c41}{text\_get}} = \_item\_label\_get;}
\DoxyCodeLine{        \_itc-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_a796220b356374cd6395bcd2c3668f8d8}{content\_get}} = \_item\_content\_get;}
\DoxyCodeLine{        \_itc-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_a23a335ae22003578adc536313f21e6e5}{state\_get}} = NULL;}
\DoxyCodeLine{        \_itc-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_a29069fe3b82c13e822a3ce515e12dac0}{del}} = NULL;}
\DoxyCodeLine{     \}}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!\_itp)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \_itp = \mbox{\hyperlink{group__Elm__Genlist__Group_gabb8088ee2d6660c5d934ce3153493eb1}{elm\_genlist\_item\_class\_new}}();}
\DoxyCodeLine{        \_itp-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_aa611ea90d00c3e0f9abe25ff56fc420f}{item\_style}} = \textcolor{stringliteral}{"{}default"{}};}
\DoxyCodeLine{        \_itp-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_ae7a3a244fab9e126b3ac264615535c41}{text\_get}} = \_parent\_label\_get;}
\DoxyCodeLine{        \_itp-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_a796220b356374cd6395bcd2c3668f8d8}{content\_get}} = \_parent\_content\_get;}
\DoxyCodeLine{        \_itp-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_a23a335ae22003578adc536313f21e6e5}{state\_get}} = NULL;}
\DoxyCodeLine{        \_itp-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_a29069fe3b82c13e822a3ce515e12dac0}{del}} = NULL;}
\DoxyCodeLine{     \}}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!\_itfav)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \_itfav = \mbox{\hyperlink{group__Elm__Genlist__Group_gabb8088ee2d6660c5d934ce3153493eb1}{elm\_genlist\_item\_class\_new}}();}
\DoxyCodeLine{        \_itfav-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_aa611ea90d00c3e0f9abe25ff56fc420f}{item\_style}} = \textcolor{stringliteral}{"{}default"{}};}
\DoxyCodeLine{        \_itfav-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_ae7a3a244fab9e126b3ac264615535c41}{text\_get}} = \_favorite\_label\_get;}
\DoxyCodeLine{        \_itfav-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_a796220b356374cd6395bcd2c3668f8d8}{content\_get}} = \_favorite\_content\_get;}
\DoxyCodeLine{        \_itfav-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_a23a335ae22003578adc536313f21e6e5}{state\_get}} = NULL;}
\DoxyCodeLine{        \_itfav-\/>\mbox{\hyperlink{struct__Elm__Gen__Item__Class_a457622de444f6539822387321996418d}{func}}.\mbox{\hyperlink{struct__Elm__Gen__Item__Class__Functions_a29069fe3b82c13e822a3ce515e12dac0}{del}} = NULL;}
\DoxyCodeLine{     \}}
\DoxyCodeLine{}
\DoxyCodeLine{   list = \mbox{\hyperlink{group__Elm__Genlist__Group_ga8845cb5425deadec54558b7badd16a6f}{elm\_genlist\_add}}(win);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga2af897b00f32bebf08705929276386f5}{evas\_object\_size\_hint\_weight\_set}}(list, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga44b67b368e5cda723129c2852bd81ead}{evas\_object\_size\_hint\_align\_set}}(list, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}}, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Box__Group_ga66a10dd861578521af2ab7b8c2ca65c5}{elm\_box\_pack\_end}}(box, list);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(list);}
\DoxyCodeLine{}
\DoxyCodeLine{   fbox = \mbox{\hyperlink{group__Elm__Box__Group_ga3d0998b60ada633bacfa8869a921cfd7}{elm\_box\_add}}(win);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Box__Group_ga964ff6e51c328ed9e9a64c73f9e2a21f}{elm\_box\_layout\_set}}(fbox, \mbox{\hyperlink{group__Evas__Object__Box__Group_gaee7b64febd1ab0d8963901393cdc2aa3}{evas\_object\_box\_layout\_flow\_horizontal}},}
\DoxyCodeLine{                      NULL, NULL);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga2af897b00f32bebf08705929276386f5}{evas\_object\_size\_hint\_weight\_set}}(fbox, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, 0);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga44b67b368e5cda723129c2852bd81ead}{evas\_object\_size\_hint\_align\_set}}(fbox, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}}, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Box__Group_ga66a10dd861578521af2ab7b8c2ca65c5}{elm\_box\_pack\_end}}(box, fbox);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(fbox);}
\DoxyCodeLine{}
\DoxyCodeLine{   \_button\_add(list, fbox, \textcolor{stringliteral}{"{}append item"{}}, \_append\_cb);}
\DoxyCodeLine{   \_button\_add(list, fbox, \textcolor{stringliteral}{"{}favorite"{}}, \_favorite\_cb);}
\DoxyCodeLine{   \_button\_add(list, fbox, \textcolor{stringliteral}{"{}add child"{}}, \_add\_child\_cb);}
\DoxyCodeLine{   \_button\_add(list, fbox, \textcolor{stringliteral}{"{}del item"{}}, \_del\_item\_cb);}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{   Node\_Data *pdata = NULL; \textcolor{comment}{// data for the parent of the group}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *glg = NULL;}
\DoxyCodeLine{   \textcolor{keywordflow}{for} (i = 0; i < N\_ITEMS; i++)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *gli = NULL;}
\DoxyCodeLine{        Node\_Data *data = malloc(\textcolor{keyword}{sizeof}(*data)); \textcolor{comment}{// data for this item}}
\DoxyCodeLine{        data-\/>children = NULL;}
\DoxyCodeLine{        data-\/>value = i;}
\DoxyCodeLine{        data-\/>favorite = \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{        nitems++;}
\DoxyCodeLine{}
\DoxyCodeLine{        printf(\textcolor{stringliteral}{"{}creating item: \#\%d\(\backslash\)n"{}}, data-\/>value);}
\DoxyCodeLine{        \textcolor{keywordflow}{if} (i \% 3 == 0)}
\DoxyCodeLine{          \{}
\DoxyCodeLine{             glg = gli = \mbox{\hyperlink{group__Elm__Genlist__Group_ga845c3e247cd8eae4114f98d59f42be2f}{elm\_genlist\_item\_append}}(list, \_itp, data, NULL,}
\DoxyCodeLine{                                                 \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gga9727d3b92987319ac981247bc196bd0fae3f8be87b286f57bcd0ebe8e93db665a}{ELM\_GENLIST\_ITEM\_TREE}},}
\DoxyCodeLine{                                                 \_item\_sel\_cb, NULL);}
\DoxyCodeLine{             \mbox{\hyperlink{group__Elm__Genlist__Item__Group_ga2ded3582b3c3ceb4f90ff6c1def80727}{elm\_genlist\_item\_expanded\_set}}(glg, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}});}
\DoxyCodeLine{             pdata = data;}
\DoxyCodeLine{             data-\/>level = 0;}
\DoxyCodeLine{          \}}
\DoxyCodeLine{        \textcolor{keywordflow}{else}}
\DoxyCodeLine{          \{}
\DoxyCodeLine{             gli = \mbox{\hyperlink{group__Elm__Genlist__Group_ga845c3e247cd8eae4114f98d59f42be2f}{elm\_genlist\_item\_append}}(list, \_itc, data, glg,}
\DoxyCodeLine{                                           \mbox{\hyperlink{group__Elm__Genlist__Item__Group_gga9727d3b92987319ac981247bc196bd0fa1ffe76fc4e7fd2bb40e47290c01ac0df}{ELM\_GENLIST\_ITEM\_NONE}},}
\DoxyCodeLine{                                           \_item\_sel\_cb, NULL);}
\DoxyCodeLine{             \textcolor{keywordflow}{if} (pdata)}
\DoxyCodeLine{               pdata-\/>children = \mbox{\hyperlink{group__Eina__List__Group_ga92ec14d1a1040a361c4d8cd0ab7b0ecc}{eina\_list\_append}}(pdata-\/>children, data);}
\DoxyCodeLine{             data-\/>level = 1;}
\DoxyCodeLine{          \}}
\DoxyCodeLine{     \}}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\_object\_smart\_callback\_add}}(list, \textcolor{stringliteral}{"{}expand,request"{}}, \_expand\_request\_cb, list);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\_object\_smart\_callback\_add}}(list, \textcolor{stringliteral}{"{}contract,request"{}}, \_contract\_request\_cb, list);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\_object\_smart\_callback\_add}}(list, \textcolor{stringliteral}{"{}expanded"{}}, \_expanded\_cb, list);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\_object\_smart\_callback\_add}}(list, \textcolor{stringliteral}{"{}contracted"{}}, \_contracted\_cb, list);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga21e8604c0e4a93e469bff4bd069e82b5}{evas\_object\_resize}}(win, 420, 600);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(win);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_gadf2553f83e6b0b9c7fbe054019a664a1}{elm\_run}}();}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{return} 0;}
\DoxyCodeLine{\}}
\DoxyCodeLine{\mbox{\hyperlink{group__Elm__General_ga50fe52d513f7e89c9c770afd76de7ad9}{ELM\_MAIN}}()}

\end{DoxyCodeInclude}
 