This code places an Elementary diskselector widgets on a window, along with some buttons trigerring actions on it (though its API).

It covers most of diskselector item functions.

On our {\ttfamily main} function, we are adding a default diskselector with 3 items. We are only setting their labels (second parameter of function elm\+\_\+diskselector\+\_\+item\+\_\+append)\+:  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{   ds = \mbox{\hyperlink{group__Elm__Diskselector_gaaac1076ac837e57633d7f3c068c3205b}{elm\_diskselector\_add}}(win);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga2af897b00f32bebf08705929276386f5}{evas\_object\_size\_hint\_weight\_set}}(ds, \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}}(ds, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}}, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\_object\_smart\_callback\_add}}(ds, \textcolor{stringliteral}{"{}selected"{}}, \_ds\_selected\_cb, NULL);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Box__Group_ga66a10dd861578521af2ab7b8c2ca65c5}{elm\_box\_pack\_end}}(bx, ds);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(ds);}
\DoxyCodeLine{}
\DoxyCodeLine{   elm\_diskselector\_item\_append(ds, \textcolor{stringliteral}{"{}Item 0"{}}, NULL, NULL, NULL);}
\DoxyCodeLine{   elm\_diskselector\_item\_append(ds, \textcolor{stringliteral}{"{}Item 1"{}}, NULL, NULL, NULL);}
\DoxyCodeLine{   elm\_diskselector\_item\_append(ds, \textcolor{stringliteral}{"{}Item 2"{}}, NULL, NULL, NULL);}

\end{DoxyCodeInclude}
 Next we are adding lots of buttons, each one for a callback function that will realize a task covering part of diskselector items API. Lets check the first one\+: 
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{   bt = \mbox{\hyperlink{group__Elm__Button_ga0021b9d86d822367035843ed18bc6ea9}{elm\_button\_add}}(win);}
\DoxyCodeLine{   elm\_object\_text\_set(bt, \textcolor{stringliteral}{"{}Append item"{}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\_object\_smart\_callback\_add}}(bt, \textcolor{stringliteral}{"{}clicked"{}}, \_add\_cb, ds);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Box__Group_ga66a10dd861578521af2ab7b8c2ca65c5}{elm\_box\_pack\_end}}(hbx, bt);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga2af897b00f32bebf08705929276386f5}{evas\_object\_size\_hint\_weight\_set}}(bt, \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}}(bt, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}}, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(bt);}

\end{DoxyCodeInclude}
 We are labeling the button with a task description with elm\+\_\+object\+\_\+text\+\_\+set() and setting a callback function \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\+\_\+object\+\_\+smart\+\_\+callback\+\_\+add()}}. Each callback function will have the signature\+: {\ttfamily  static void \+\_\+task\+\_\+cb(void $\ast$data, Evas\+\_\+\+Object $\ast$obj, void $\ast$event\+\_\+info)} with the function name varying for each task.

Now let\textquotesingle{}s cover all of them.

{\bfseries{ Appending an item\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_add\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \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__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *ds\_it;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ds = data;}
\DoxyCodeLine{   \textcolor{keywordtype}{char} label[32];}
\DoxyCodeLine{}
\DoxyCodeLine{   snprintf(label, \textcolor{keyword}{sizeof}(label), \textcolor{stringliteral}{"{}Item \%i"{}}, counter++);}
\DoxyCodeLine{   ds\_it = elm\_diskselector\_item\_append(ds, label, NULL, NULL, NULL);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!ds\_it) printf(\textcolor{stringliteral}{"{}Error adding item\(\backslash\)n"{}});}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 All items are included on diskselector after last one. You {\bfseries{can\textquotesingle{}t}} prepend items.

The first parameter of elm\+\_\+diskselector\+\_\+item\+\_\+append() is the diskselector object, that we are receiving as data on our callback function. The second one is a label, the string that will be placed in the center of our item. As we don\textquotesingle{}t want icons or callback functions, we can send NULL as third, fourth and fifth parameters.

{\bfseries{ Appending an item with icon\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_add\_ic\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}},}
\DoxyCodeLine{           \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *ds\_it;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ic, *ds = data;}
\DoxyCodeLine{   \textcolor{keywordtype}{char} label[32];}
\DoxyCodeLine{}
\DoxyCodeLine{   snprintf(label, \textcolor{keyword}{sizeof}(label), \textcolor{stringliteral}{"{}Item \%i"{}}, counter++);}
\DoxyCodeLine{   ic = \mbox{\hyperlink{group__Elm__Icon_ga5739728c1209f90422cf65a778a16502}{elm\_icon\_add}}(ds);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Icon_gab764b4c6c90543f254c013eff6a6db66}{elm\_icon\_standard\_set}}(ic, \textcolor{stringliteral}{"{}home"{}});}
\DoxyCodeLine{}
\DoxyCodeLine{   ds\_it = elm\_diskselector\_item\_append(ds, label, ic, NULL, NULL);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!ds\_it) printf(\textcolor{stringliteral}{"{}Error adding item with icon\(\backslash\)n"{}});}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 If an icon is required, you can pass it as third parameter on our elm\+\_\+diskselector\+\_\+item\+\_\+append() function. It will be place on the left side of item\textquotesingle{}s label, that will be shifted to right a bit.

For more details about how to create icons, look for elm\+\_\+icon examples.

{\bfseries{ Appending an item with callback function for selected\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_sel\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \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}} *ds\_it = event\_info;}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}Selected label: \%s\(\backslash\)n"{}}, elm\_object\_item\_text\_get(ds\_it));}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_add\_func\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}},}
\DoxyCodeLine{             \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *ds\_it;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ds = data;}
\DoxyCodeLine{   \textcolor{keywordtype}{char} label[32];}
\DoxyCodeLine{}
\DoxyCodeLine{   snprintf(label, \textcolor{keyword}{sizeof}(label), \textcolor{stringliteral}{"{}Item \%i"{}}, counter++);}
\DoxyCodeLine{   ds\_it = elm\_diskselector\_item\_append(ds, label, NULL, \_sel\_cb, NULL);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!ds\_it) printf(\textcolor{stringliteral}{"{}Error adding item\(\backslash\)n"{}});}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 To set a callback function that will be called every time an item is selected, i.\+e., everytime the diskselector stops with this item in center position, just pass the function as fourth parameter.

{\bfseries{ Appending an item with callback function for selected with data\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_sel\_data\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{keywordtype}{char} *content = data;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *ds\_it = event\_info;}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}Selected label: \%s with data: \%s\(\backslash\)n"{}},}
\DoxyCodeLine{          elm\_object\_item\_text\_get(ds\_it), content);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_free\_data(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}},}
\DoxyCodeLine{           \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   free(data);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_add\_data\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}},}
\DoxyCodeLine{             \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *ds\_it;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ds = data;}
\DoxyCodeLine{   \textcolor{keywordtype}{char} label[32];}
\DoxyCodeLine{   \textcolor{keywordtype}{char} *content = malloc(\textcolor{keyword}{sizeof}(\textcolor{keywordtype}{char}) * 32);}
\DoxyCodeLine{}
\DoxyCodeLine{   snprintf(content, 32, \textcolor{stringliteral}{"{}Item content \%i"{}}, counter);}
\DoxyCodeLine{   snprintf(label, \textcolor{keyword}{sizeof}(label), \textcolor{stringliteral}{"{}Item \%i"{}}, counter++);}
\DoxyCodeLine{   ds\_it = elm\_diskselector\_item\_append(ds, label, NULL, \_sel\_data\_cb, content);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!ds\_it)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        printf(\textcolor{stringliteral}{"{}Error adding item\(\backslash\)n"{}});}
\DoxyCodeLine{        \textcolor{keywordflow}{return};}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga2e17c3f1030712f3175f5b7812ada9a0}{elm\_object\_item\_del\_cb\_set}}(ds\_it, \_free\_data);}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 If the callback function request an extra data, it can be attached to our item passing a pointer for data as fifth parameter. Our function \+\_\+sel\+\_\+data\+\_\+cb will receive it as {\ttfamily  void $\ast$data }.

If you want to free this data, or handle that the way you need when the item is deleted, set a callback function for that, with \mbox{\hyperlink{group__Elm__General_ga2e17c3f1030712f3175f5b7812ada9a0}{elm\+\_\+object\+\_\+item\+\_\+del\+\_\+cb\+\_\+set()}}.

As you can see we check if {\ttfamily it} is not {\ttfamily NULL} after appending it. If an error happens, we won\textquotesingle{}t try to set a function for it.

{\bfseries{ Deleting an item\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_del\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \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__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *selected\_ds\_it;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ds = data;}
\DoxyCodeLine{}
\DoxyCodeLine{   selected\_ds\_it = elm\_diskselector\_selected\_item\_get(ds);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_gad1b5a0d41fa322b28000a290154ec3a4}{elm\_object\_item\_del}}(selected\_ds\_it);}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 To delete an item we simple need to call \mbox{\hyperlink{group__Elm__General_gad1b5a0d41fa322b28000a290154ec3a4}{elm\+\_\+object\+\_\+item\+\_\+del()}} with a pointer for such item.

If you need, you can get selected item with elm\+\_\+diskselector\+\_\+selected\+\_\+item\+\_\+get(), that will return a pointer for it.

{\bfseries{ Unselecting an item\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_unselect\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \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__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *selected\_ds\_it;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ds = data;}
\DoxyCodeLine{}
\DoxyCodeLine{   selected\_ds\_it = elm\_diskselector\_selected\_item\_get(ds);}
\DoxyCodeLine{   elm\_diskselector\_item\_selected\_set(selected\_ds\_it, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}});}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 To select an item, you should call elm\+\_\+diskselector\+\_\+item\+\_\+selected\+\_\+set() passing {\ttfamily EINA\+\_\+\+TRUE}, and to unselect it, {\ttfamily EINA\+\_\+\+FALSE}.

If you unselect the selected item, diskselector will automatically select the first item.

{\bfseries{ Printing all items\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_print\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \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{   \textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__List}{Eina\_List}} *l, *items;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *ds\_it;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ds = data;}
\DoxyCodeLine{}
\DoxyCodeLine{   items = elm\_diskselector\_items\_get(ds);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(items, l, ds\_it)}
\DoxyCodeLine{     printf(\textcolor{stringliteral}{"{}\%s\(\backslash\)n"{}}, elm\_object\_item\_text\_get(ds\_it));}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 {\bfseries{ Clearing the diskselector\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_clear\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \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}} *ds = data;}
\DoxyCodeLine{   elm\_diskselector\_clear(ds);}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 {\bfseries{ Selecting the first item\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_select\_first\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \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__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *first\_ds\_it;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ds = data;}
\DoxyCodeLine{}
\DoxyCodeLine{   first\_ds\_it = elm\_diskselector\_first\_item\_get(ds);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (first\_ds\_it)}
\DoxyCodeLine{     elm\_diskselector\_item\_selected\_set(first\_ds\_it, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}});}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 {\bfseries{ Selecting the last item\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_select\_last\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \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__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *last\_ds\_it;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ds = data;}
\DoxyCodeLine{}
\DoxyCodeLine{   last\_ds\_it = elm\_diskselector\_last\_item\_get(ds);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (last\_ds\_it)}
\DoxyCodeLine{     elm\_diskselector\_item\_selected\_set(last\_ds\_it, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}});}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 {\bfseries{ Selecting the next item\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_select\_next\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \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__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *selected\_ds\_it, *next\_ds\_it;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ds = data;}
\DoxyCodeLine{}
\DoxyCodeLine{   selected\_ds\_it = elm\_diskselector\_selected\_item\_get(ds);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!selected\_ds\_it) \textcolor{keywordflow}{return};}
\DoxyCodeLine{}
\DoxyCodeLine{   next\_ds\_it = elm\_diskselector\_item\_next\_get(selected\_ds\_it);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (next\_ds\_it)}
\DoxyCodeLine{     elm\_diskselector\_item\_selected\_set(next\_ds\_it, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}});}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 {\bfseries{ Selecting the previous item\+: }}  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\_select\_prev\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \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__Elm__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\_Object\_Item}} *selected\_ds\_it, *prev\_ds\_it;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ds = data;}
\DoxyCodeLine{}
\DoxyCodeLine{   selected\_ds\_it = elm\_diskselector\_selected\_item\_get(ds);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!selected\_ds\_it) \textcolor{keywordflow}{return};}
\DoxyCodeLine{}
\DoxyCodeLine{   prev\_ds\_it = elm\_diskselector\_item\_prev\_get(selected\_ds\_it);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (prev\_ds\_it)}
\DoxyCodeLine{     elm\_diskselector\_item\_selected\_set(prev\_ds\_it, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}});}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 See the full \mbox{\hyperlink{diskselector_example_02_8c-example}{diskselector\+\_\+example\+\_\+02.c}} code, whose window should look like this picture\+:

 
\begin{DoxyImageNoCaption}
  \mbox{\includegraphics[width=\textwidth]{screenshots/diskselector_example_02}}
\end{DoxyImageNoCaption}
 