\section{Diskselector}
\label{group__Diskselector}\index{Diskselector@{Diskselector}}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void \hyperlink{group__Diskselector_gae2f5a41fc4a2224b1edee8f538b29907}{elm\+\_\+diskselector\+\_\+bounce\+\_\+set} (Evas\+\_\+\+Object $\ast$obj, Eina\+\_\+\+Bool h\+\_\+bounce, Eina\+\_\+\+Bool v\+\_\+bounce)
\begin{DoxyCompactList}\small\item\em Set bouncing behaviour when the scrolled content reaches an edge. \end{DoxyCompactList}\item 
E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void \hyperlink{group__Diskselector_ga8e1b71c8ee10cf2acf8e525fc02640af}{elm\+\_\+diskselector\+\_\+bounce\+\_\+get} (const Evas\+\_\+\+Object $\ast$obj, Eina\+\_\+\+Bool $\ast$h\+\_\+bounce, Eina\+\_\+\+Bool $\ast$v\+\_\+bounce)
\begin{DoxyCompactList}\small\item\em Get the bouncing behaviour of the internal scroller. \end{DoxyCompactList}\item 
E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void \hyperlink{group__Diskselector_gabd15a6d10c06489d83d213452a1c0736}{elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+get} (const Evas\+\_\+\+Object $\ast$obj, Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$policy\+\_\+h, Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$policy\+\_\+v)
\begin{DoxyCompactList}\small\item\em Get the scrollbar policy. \end{DoxyCompactList}\item 
E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void \hyperlink{group__Diskselector_ga1c09e88720b0d3b39897a977cd5519cd}{elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+set} (Evas\+\_\+\+Object $\ast$obj, Elm\+\_\+\+Scroller\+\_\+\+Policy policy\+\_\+h, Elm\+\_\+\+Scroller\+\_\+\+Policy policy\+\_\+v)
\begin{DoxyCompactList}\small\item\em Set the scrollbar policy. \end{DoxyCompactList}\item 
Evas\+\_\+\+Object $\ast$ \hyperlink{group__Diskselector_gaaac1076ac837e57633d7f3c068c3205b}{elm\+\_\+diskselector\+\_\+add} (Evas\+\_\+\+Object $\ast$parent)
\begin{DoxyCompactList}\small\item\em Add a new diskselector widget to the given parent Elementary (container) object. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
 
\begin{DoxyImageNoCaption}
  \mbox{\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{diskselector_inheritance_tree}}
\end{DoxyImageNoCaption}


 
\begin{DoxyImageNoCaption}
  \mbox{\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{img/widget/diskselector/preview-00}}
\end{DoxyImageNoCaption}


A diskselector is a kind of list widget. It scrolls horizontally, and can contain label and icon objects. Three items are displayed with the selected one in the middle.

It can act like a circular list with round mode and labels can be reduced for a defined length for side items.

This widget implements the {\bfseries }  elm-\/scrollable-\/interface interface, so that all (non-\/deprecated) functions for the base \hyperlink{group__Scroller}{Scroller} widget also work for diskselectors.

Some calls on the diskselector\textquotesingle{}s A\+PI are marked as {\bfseries deprecated}, as they just wrap the scrollable widgets counterpart functions. Use the ones we point you to, for each case of deprecation here, instead -- eventually the deprecated ones will be discarded (next major release).

This widget emits the following signals, besides the ones sent from Layout\+: \begin{DoxyItemize}
\item {\ttfamily \char`\"{}selected\char`\"{}} -\/ when item is selected, i.\+e. scroller stops. \item {\ttfamily \char`\"{}clicked\char`\"{}} -\/ This is called when a user clicks an item (since 1.\+8) \item {\ttfamily \char`\"{}scroll,anim,start\char`\"{}} -\/ scrolling animation has started \item {\ttfamily \char`\"{}scroll,anim,stop\char`\"{}} -\/ scrolling animation has stopped \item {\ttfamily \char`\"{}scroll,drag,start\char`\"{}} -\/ dragging the diskselector has started \item {\ttfamily \char`\"{}scroll,drag,stop\char`\"{}} -\/ dragging the diskselector has stopped \item {\ttfamily \char`\"{}focused\char`\"{}} -\/ When the diskselector has received focus. (since 1.\+8) \item {\ttfamily \char`\"{}unfocused\char`\"{}} -\/ When the diskselector has lost focus. (since 1.\+8) \item {\ttfamily \char`\"{}language,changed\char`\"{}} -\/ the program\textquotesingle{}s language changed (since 1.\+9)\end{DoxyItemize}
\begin{DoxyNote}{Note}
The \char`\"{}scroll,anim,$\ast$\char`\"{} and \char`\"{}scroll,drag,$\ast$\char`\"{} signals are only emitted by user intervention.
\end{DoxyNote}
Available styles for it\+:
\begin{DoxyItemize}
\item {\ttfamily \char`\"{}default\char`\"{}} 
\end{DoxyItemize}

Default content parts of the diskselector items that you can use for are\+: \begin{DoxyItemize}
\item \char`\"{}icon\char`\"{} -\/ An icon in the diskselector item\end{DoxyItemize}
Default text parts of the diskselector items that you can use for are\+: \begin{DoxyItemize}
\item \char`\"{}default\char`\"{} -\/ A label of the diskselector item\end{DoxyItemize}
Supported elm\+\_\+object\+\_\+item common A\+P\+Is. \begin{DoxyItemize}
\item elm\+\_\+object\+\_\+item\+\_\+del \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+text\+\_\+set \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+text\+\_\+get \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+content\+\_\+set \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+content\+\_\+get\end{DoxyItemize}
List of examples\+: \begin{DoxyItemize}
\item \hyperlink{diskselector_example_01}{Diskselector widget example} \item \hyperlink{diskselector_example_02}{Diskselector -\/ Items management} \end{DoxyItemize}


\subsection{Function Documentation}
\index{Diskselector@{Diskselector}!elm\+\_\+diskselector\+\_\+add@{elm\+\_\+diskselector\+\_\+add}}
\index{elm\+\_\+diskselector\+\_\+add@{elm\+\_\+diskselector\+\_\+add}!Diskselector@{Diskselector}}
\subsubsection[{\texorpdfstring{elm\+\_\+diskselector\+\_\+add(\+Evas\+\_\+\+Object $\ast$parent)}{elm_diskselector_add(Evas_Object *parent)}}]{\setlength{\rightskip}{0pt plus 5cm}Evas\+\_\+\+Object$\ast$ elm\+\_\+diskselector\+\_\+add (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{parent}
\end{DoxyParamCaption}
)}\label{group__Diskselector_gaaac1076ac837e57633d7f3c068c3205b}


Add a new diskselector widget to the given parent Elementary (container) object. 


\begin{DoxyParams}{Parameters}
{\em parent} & The parent object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new diskselector widget handle or {\ttfamily N\+U\+LL}, on errors.
\end{DoxyReturn}
This function inserts a new diskselector widget on the canvas. \index{Diskselector@{Diskselector}!elm\+\_\+diskselector\+\_\+bounce\+\_\+get@{elm\+\_\+diskselector\+\_\+bounce\+\_\+get}}
\index{elm\+\_\+diskselector\+\_\+bounce\+\_\+get@{elm\+\_\+diskselector\+\_\+bounce\+\_\+get}!Diskselector@{Diskselector}}
\subsubsection[{\texorpdfstring{elm\+\_\+diskselector\+\_\+bounce\+\_\+get(const Evas\+\_\+\+Object $\ast$obj, Eina\+\_\+\+Bool $\ast$h\+\_\+bounce, Eina\+\_\+\+Bool $\ast$v\+\_\+bounce)}{elm_diskselector_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void elm\+\_\+diskselector\+\_\+bounce\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Evas\+\_\+\+Object $\ast$}]{obj, }
\item[{Eina\+\_\+\+Bool $\ast$}]{h\+\_\+bounce, }
\item[{Eina\+\_\+\+Bool $\ast$}]{v\+\_\+bounce}
\end{DoxyParamCaption}
)}\label{group__Diskselector_ga8e1b71c8ee10cf2acf8e525fc02640af}


Get the bouncing behaviour of the internal scroller. 

Get whether the internal scroller should bounce when the edge of each axis is reached scrolling.


\begin{DoxyParams}{Parameters}
{\em obj} & The diskselector object. \\
\hline
{\em h\+\_\+bounce} & Pointer to store the bounce state of the horizontal axis. \\
\hline
{\em v\+\_\+bounce} & Pointer to store the bounce state of the vertical axis.\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000044}{Deprecated}]Use \hyperlink{group__Scroller_gae74537077c42537037834d4d4bdae634}{elm\+\_\+scroller\+\_\+bounce\+\_\+get()} instead.\end{DoxyRefDesc}


\begin{DoxySeeAlso}{See also}
\hyperlink{group__Scroller_gae74537077c42537037834d4d4bdae634}{elm\+\_\+scroller\+\_\+bounce\+\_\+get()} 

\hyperlink{group__Diskselector_gae2f5a41fc4a2224b1edee8f538b29907}{elm\+\_\+diskselector\+\_\+bounce\+\_\+set()} 
\end{DoxySeeAlso}
\index{Diskselector@{Diskselector}!elm\+\_\+diskselector\+\_\+bounce\+\_\+set@{elm\+\_\+diskselector\+\_\+bounce\+\_\+set}}
\index{elm\+\_\+diskselector\+\_\+bounce\+\_\+set@{elm\+\_\+diskselector\+\_\+bounce\+\_\+set}!Diskselector@{Diskselector}}
\subsubsection[{\texorpdfstring{elm\+\_\+diskselector\+\_\+bounce\+\_\+set(\+Evas\+\_\+\+Object $\ast$obj, Eina\+\_\+\+Bool h\+\_\+bounce, Eina\+\_\+\+Bool v\+\_\+bounce)}{elm_diskselector_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void elm\+\_\+diskselector\+\_\+bounce\+\_\+set (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{obj, }
\item[{Eina\+\_\+\+Bool}]{h\+\_\+bounce, }
\item[{Eina\+\_\+\+Bool}]{v\+\_\+bounce}
\end{DoxyParamCaption}
)}\label{group__Diskselector_gae2f5a41fc4a2224b1edee8f538b29907}


Set bouncing behaviour when the scrolled content reaches an edge. 

Tell the internal scroller object whether it should bounce or not when it reaches the respective edges for each axis.


\begin{DoxyParams}{Parameters}
{\em obj} & The diskselector object. \\
\hline
{\em h\+\_\+bounce} & Whether to bounce or not in the horizontal axis. \\
\hline
{\em v\+\_\+bounce} & Whether to bounce or not in the vertical axis.\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000043}{Deprecated}]Use \hyperlink{group__Scroller_gae69101dbdb089598ca790c73bd9d7a42}{elm\+\_\+scroller\+\_\+bounce\+\_\+set()} instead.\end{DoxyRefDesc}


\begin{DoxySeeAlso}{See also}
\hyperlink{group__Scroller_gae69101dbdb089598ca790c73bd9d7a42}{elm\+\_\+scroller\+\_\+bounce\+\_\+set()} 
\end{DoxySeeAlso}
\index{Diskselector@{Diskselector}!elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+get@{elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+get}}
\index{elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+get@{elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+get}!Diskselector@{Diskselector}}
\subsubsection[{\texorpdfstring{elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+get(const Evas\+\_\+\+Object $\ast$obj, Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$policy\+\_\+h, Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$policy\+\_\+v)}{elm_diskselector_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Evas\+\_\+\+Object $\ast$}]{obj, }
\item[{Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$}]{policy\+\_\+h, }
\item[{Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$}]{policy\+\_\+v}
\end{DoxyParamCaption}
)}\label{group__Diskselector_gabd15a6d10c06489d83d213452a1c0736}


Get the scrollbar policy. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Diskselector_gabd15a6d10c06489d83d213452a1c0736}{elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+get()} for details.
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em obj} & The diskselector object. \\
\hline
{\em policy\+\_\+h} & Pointer to store horizontal scrollbar policy. \\
\hline
{\em policy\+\_\+v} & Pointer to store vertical scrollbar policy.\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000045}{Deprecated}]Use \hyperlink{group__Scroller_gae5d37ebf0a5540326b2b56ae41f24c97}{elm\+\_\+scroller\+\_\+policy\+\_\+get()} instead.\end{DoxyRefDesc}


\begin{DoxySeeAlso}{See also}
\hyperlink{group__Scroller_gae5d37ebf0a5540326b2b56ae41f24c97}{elm\+\_\+scroller\+\_\+policy\+\_\+get()} 
\end{DoxySeeAlso}
\index{Diskselector@{Diskselector}!elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+set@{elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+set}}
\index{elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+set@{elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+set}!Diskselector@{Diskselector}}
\subsubsection[{\texorpdfstring{elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+set(\+Evas\+\_\+\+Object $\ast$obj, Elm\+\_\+\+Scroller\+\_\+\+Policy policy\+\_\+h, Elm\+\_\+\+Scroller\+\_\+\+Policy policy\+\_\+v)}{elm_diskselector_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void elm\+\_\+diskselector\+\_\+scroller\+\_\+policy\+\_\+set (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{obj, }
\item[{Elm\+\_\+\+Scroller\+\_\+\+Policy}]{policy\+\_\+h, }
\item[{Elm\+\_\+\+Scroller\+\_\+\+Policy}]{policy\+\_\+v}
\end{DoxyParamCaption}
)}\label{group__Diskselector_ga1c09e88720b0d3b39897a977cd5519cd}


Set the scrollbar policy. 


\begin{DoxyParams}{Parameters}
{\em obj} & The diskselector object. \\
\hline
{\em policy\+\_\+h} & Horizontal scrollbar policy. \\
\hline
{\em policy\+\_\+v} & Vertical scrollbar policy.\\
\hline
\end{DoxyParams}
This sets the scrollbar visibility policy for the given scroller. \#\+E\+L\+M\+\_\+\+S\+C\+R\+O\+L\+L\+E\+R\+\_\+\+P\+O\+L\+I\+C\+Y\+\_\+\+A\+U\+TO means the scrollbar is made visible if it is needed, and otherwise kept hidden. \#\+E\+L\+M\+\_\+\+S\+C\+R\+O\+L\+L\+E\+R\+\_\+\+P\+O\+L\+I\+C\+Y\+\_\+\+ON turns it on all the time, and \#\+E\+L\+M\+\_\+\+S\+C\+R\+O\+L\+L\+E\+R\+\_\+\+P\+O\+L\+I\+C\+Y\+\_\+\+O\+FF always keeps it off. This applies respectively for the horizontal and vertical scrollbars.

The both are disabled by default, i.\+e., are set to \#\+E\+L\+M\+\_\+\+S\+C\+R\+O\+L\+L\+E\+R\+\_\+\+P\+O\+L\+I\+C\+Y\+\_\+\+O\+FF.

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000046}{Deprecated}]Use \hyperlink{group__Scroller_ga4105c0d6adca64ed3d38e7e4116b09e4}{elm\+\_\+scroller\+\_\+policy\+\_\+set()} instead.\end{DoxyRefDesc}


\begin{DoxySeeAlso}{See also}
\hyperlink{group__Scroller_ga4105c0d6adca64ed3d38e7e4116b09e4}{elm\+\_\+scroller\+\_\+policy\+\_\+set()} 
\end{DoxySeeAlso}
