\section{Focus}
\label{group__Focus}\index{Focus@{Focus}}


An Elementary application has, at all times, one (and only one) {\bfseries focused} object.  


\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{group__Focus_gad59e8a839c02655863a845eaebf009ec}{Elm\-\_\-\-Focus\-\_\-\-Direction} \{ \\*
\hyperlink{group__Focus_ggad59e8a839c02655863a845eaebf009ecab6250805fa64ba13fb81c23fe1c366b8}{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-P\-R\-E\-V\-I\-O\-U\-S}, 
\\*
\hyperlink{group__Focus_ggad59e8a839c02655863a845eaebf009ecac1e356f87578d295294a3e4a01e13b0d}{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-N\-E\-X\-T}, 
\\*
\hyperlink{group__Focus_ggad59e8a839c02655863a845eaebf009ecad4ca1e030ad7dd9013e2a43dce4e0a85}{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-U\-P}, 
\\*
\hyperlink{group__Focus_ggad59e8a839c02655863a845eaebf009eca77bf5d2337f596a327f291cad78a0b69}{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-D\-O\-W\-N}, 
\\*
\hyperlink{group__Focus_ggad59e8a839c02655863a845eaebf009ecafbb4a715dbf2ff9e6f6d01a6f8e3bd65}{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-R\-I\-G\-H\-T}, 
\\*
\hyperlink{group__Focus_ggad59e8a839c02655863a845eaebf009eca8db9461727efd81e1408530763617d85}{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-L\-E\-F\-T}
 \}
\begin{DoxyCompactList}\small\item\em Focus directions. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
Eina\-\_\-\-Bool \hyperlink{group__Focus_ga748dd72c6551463dc74db0a3351e1fd0}{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-get} (void)
\begin{DoxyCompactList}\small\item\em Get the enable status of the focus highlight. \end{DoxyCompactList}\item 
void \hyperlink{group__Focus_gaad50460a1134514ab6436c1a1371f9f0}{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-set} (Eina\-\_\-\-Bool enable)
\begin{DoxyCompactList}\small\item\em Set the enable status of the focus highlight. \end{DoxyCompactList}\item 
Eina\-\_\-\-Bool \hyperlink{group__Focus_ga8db443bce12d94c2d1385cd0369966bb}{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-get} (void)
\begin{DoxyCompactList}\small\item\em Get the enable status of the highlight animation. \end{DoxyCompactList}\item 
void \hyperlink{group__Focus_gace6726fb33a34d94f83a512a4bd76a90}{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-set} (Eina\-\_\-\-Bool animate)
\begin{DoxyCompactList}\small\item\em Set the enable status of the highlight animation. \end{DoxyCompactList}\item 
Eina\-\_\-\-Bool \hyperlink{group__Focus_gad2e04b8263454b9186959375f58a9660}{elm\-\_\-object\-\_\-focus\-\_\-get} (const Evas\-\_\-\-Object $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get the whether an Elementary object has the focus or not. \end{DoxyCompactList}\item 
void \hyperlink{group__Focus_ga05e39b5e60ad861c63100c811855ef55}{elm\-\_\-object\-\_\-focus\-\_\-set} (Evas\-\_\-\-Object $\ast$obj, Eina\-\_\-\-Bool focus)
\begin{DoxyCompactList}\small\item\em Set/unset focus to a given Elementary object. \end{DoxyCompactList}\item 
void \hyperlink{group__Focus_gaab06e876ce12b5f52c8e88615850c6f9}{elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-set} (Evas\-\_\-\-Object $\ast$obj, Eina\-\_\-\-Bool enable)
\begin{DoxyCompactList}\small\item\em Set the ability for an Elementary object to be focused. \end{DoxyCompactList}\item 
Eina\-\_\-\-Bool \hyperlink{group__Focus_ga10daa6ff109afb1b09a646df8a5b2666}{elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-get} (const Evas\-\_\-\-Object $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get whether an Elementary object is focusable or not. \end{DoxyCompactList}\item 
void \hyperlink{group__Focus_gae695128d8e5e144dcef62d02214c04ba}{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-set} (Evas\-\_\-\-Object $\ast$obj, Eina\-\_\-\-List $\ast$objs)
\begin{DoxyCompactList}\small\item\em Set custom focus chain. \end{DoxyCompactList}\item 
void \hyperlink{group__Focus_ga7f46f915c7243d1c0ad90f5edcd6f13c}{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-unset} (Evas\-\_\-\-Object $\ast$obj)
\begin{DoxyCompactList}\small\item\em Unset a custom focus chain on a given Elementary widget. \end{DoxyCompactList}\item 
const Eina\-\_\-\-List $\ast$ \hyperlink{group__Focus_ga001412f48de5682cc9a3ac052feac5bf}{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-get} (const Evas\-\_\-\-Object $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get custom focus chain. \end{DoxyCompactList}\item 
void \hyperlink{group__Focus_ga2b9658989f3db1d7cacd87f1a8bc53c2}{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-append} (Evas\-\_\-\-Object $\ast$obj, Evas\-\_\-\-Object $\ast$child, Evas\-\_\-\-Object $\ast$relative\-\_\-child)
\begin{DoxyCompactList}\small\item\em Append object to custom focus chain. \end{DoxyCompactList}\item 
void \hyperlink{group__Focus_ga0032b30a596ed1a4509c51ffa5d07e8c}{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-prepend} (Evas\-\_\-\-Object $\ast$obj, Evas\-\_\-\-Object $\ast$child, Evas\-\_\-\-Object $\ast$relative\-\_\-child)
\begin{DoxyCompactList}\small\item\em Prepend object to custom focus chain. \end{DoxyCompactList}\item 
void \hyperlink{group__Focus_ga92f4ee9dc622484d96a65c6c5da5ab71}{elm\-\_\-object\-\_\-focus\-\_\-next} (Evas\-\_\-\-Object $\ast$obj, \hyperlink{group__Focus_gad59e8a839c02655863a845eaebf009ec}{Elm\-\_\-\-Focus\-\_\-\-Direction} dir)
\begin{DoxyCompactList}\small\item\em Give focus to next object in object tree. \end{DoxyCompactList}\item 
Evas\-\_\-\-Object $\ast$ \hyperlink{group__Focus_ga1ee85df16fd3e24ceeb7d95db091eb5c}{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-get} (const Evas\-\_\-\-Object $\ast$obj, \hyperlink{group__Focus_gad59e8a839c02655863a845eaebf009ec}{Elm\-\_\-\-Focus\-\_\-\-Direction} dir)
\begin{DoxyCompactList}\small\item\em Get next object which was set with specific focus direction. \end{DoxyCompactList}\item 
void \hyperlink{group__Focus_gad3539adbbb18ec50831486046241dfda}{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-set} (Evas\-\_\-\-Object $\ast$obj, Evas\-\_\-\-Object $\ast$next, \hyperlink{group__Focus_gad59e8a839c02655863a845eaebf009ec}{Elm\-\_\-\-Focus\-\_\-\-Direction} dir)
\begin{DoxyCompactList}\small\item\em Set next object with specific focus direction. \end{DoxyCompactList}\item 
Evas\-\_\-\-Object $\ast$ \hyperlink{group__Focus_ga08e948f5e6e2d0e66b8aa70cda378453}{elm\-\_\-object\-\_\-focused\-\_\-object\-\_\-get} (const Evas\-\_\-\-Object $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get focused object in object tree. \end{DoxyCompactList}\item 
void \hyperlink{group__Focus_ga5e13f80e3ed8c7bd3e0ef5e8985d073d}{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-set} (Evas\-\_\-\-Object $\ast$obj, Eina\-\_\-\-Bool focusable)
\begin{DoxyCompactList}\small\item\em Make the elementary object and its children to be focusable (or unfocusable). \end{DoxyCompactList}\item 
Eina\-\_\-\-Bool \hyperlink{group__Focus_gacb1db3f6318c0f8f6850e38692ebd1c2}{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-get} (const Evas\-\_\-\-Object $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get whether an Elementary object and its children are focusable or not. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
An Elementary application has, at all times, one (and only one) {\bfseries focused} object. This is what determines where the input events go to within the application's window. Also, focused objects can be decorated differently, in order to signal to the user where the input is, at a given moment.

Elementary applications also have the concept of {\bfseries focus chain}\-: one can cycle through all the windows' focusable objects by input (tab key) or programmatically. The default focus chain for an application is the one define by the order in which the widgets where added in code. One will cycle through top level widgets, and, for each one containing sub-\/objects, cycle through them all, before returning to the level above. Elementary also allows one to set {\bfseries custom} focus chains for their applications.

Besides the focused decoration a widget may exhibit, when it gets focus, Elementary has a {\bfseries global} focus highlight object that can be enabled for a window. If one chooses to do so, this extra highlight effect will surround the current focused object, too.

\begin{DoxyNote}{Note}
Some Elementary widgets are {\bfseries unfocusable}, after creation, by their very nature\-: they are not meant to be interacted with input events, but are there just for visual purposes.
\end{DoxyNote}
\hyperlink{general_functions_example_page}{This} example contemplates some of these functions. 

\subsection{Enumeration Type Documentation}
\index{Focus@{Focus}!Elm\-\_\-\-Focus\-\_\-\-Direction@{Elm\-\_\-\-Focus\-\_\-\-Direction}}
\index{Elm\-\_\-\-Focus\-\_\-\-Direction@{Elm\-\_\-\-Focus\-\_\-\-Direction}!Focus@{Focus}}
\subsubsection[{Elm\-\_\-\-Focus\-\_\-\-Direction}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Elm\-\_\-\-Focus\-\_\-\-Direction}}\label{group__Focus_gad59e8a839c02655863a845eaebf009ec}


Focus directions. 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-P\-R\-E\-V\-I\-O\-U\-S@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-P\-R\-E\-V\-I\-O\-U\-S}!Focus@{Focus}}\index{Focus@{Focus}!E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-P\-R\-E\-V\-I\-O\-U\-S@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-P\-R\-E\-V\-I\-O\-U\-S}}\item[{\em 
E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-P\-R\-E\-V\-I\-O\-U\-S\label{group__Focus_ggad59e8a839c02655863a845eaebf009ecab6250805fa64ba13fb81c23fe1c366b8}
}]previous direction \index{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-N\-E\-X\-T@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-N\-E\-X\-T}!Focus@{Focus}}\index{Focus@{Focus}!E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-N\-E\-X\-T@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-N\-E\-X\-T}}\item[{\em 
E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-N\-E\-X\-T\label{group__Focus_ggad59e8a839c02655863a845eaebf009ecac1e356f87578d295294a3e4a01e13b0d}
}]next direction \index{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-U\-P@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-U\-P}!Focus@{Focus}}\index{Focus@{Focus}!E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-U\-P@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-U\-P}}\item[{\em 
E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-U\-P\label{group__Focus_ggad59e8a839c02655863a845eaebf009ecad4ca1e030ad7dd9013e2a43dce4e0a85}
}]up direction \index{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-D\-O\-W\-N@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-D\-O\-W\-N}!Focus@{Focus}}\index{Focus@{Focus}!E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-D\-O\-W\-N@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-D\-O\-W\-N}}\item[{\em 
E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-D\-O\-W\-N\label{group__Focus_ggad59e8a839c02655863a845eaebf009eca77bf5d2337f596a327f291cad78a0b69}
}]down direction \index{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-R\-I\-G\-H\-T@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-R\-I\-G\-H\-T}!Focus@{Focus}}\index{Focus@{Focus}!E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-R\-I\-G\-H\-T@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-R\-I\-G\-H\-T}}\item[{\em 
E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-R\-I\-G\-H\-T\label{group__Focus_ggad59e8a839c02655863a845eaebf009ecafbb4a715dbf2ff9e6f6d01a6f8e3bd65}
}]right direction \index{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-L\-E\-F\-T@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-L\-E\-F\-T}!Focus@{Focus}}\index{Focus@{Focus}!E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-L\-E\-F\-T@{E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-L\-E\-F\-T}}\item[{\em 
E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-L\-E\-F\-T\label{group__Focus_ggad59e8a839c02655863a845eaebf009eca8db9461727efd81e1408530763617d85}
}]left direction \end{description}
\end{Desc}


\subsection{Function Documentation}
\index{Focus@{Focus}!elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-get@{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-get}}
\index{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-get@{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-get}!Focus@{Focus}}
\subsubsection[{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}Eina\-\_\-\-Bool elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__Focus_ga8db443bce12d94c2d1385cd0369966bb}


Get the enable status of the highlight animation. 

\begin{DoxyReturn}{Returns}
The focus highlight mode set
\end{DoxyReturn}
Get whether the focus highlight, if enabled, will animate its switch from one object to the next \index{Focus@{Focus}!elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-set@{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-set}}
\index{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-set@{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-set}!Focus@{Focus}}
\subsubsection[{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-animate\-\_\-set (
\begin{DoxyParamCaption}
\item[{Eina\-\_\-\-Bool}]{animate}
\end{DoxyParamCaption}
)}\label{group__Focus_gace6726fb33a34d94f83a512a4bd76a90}


Set the enable status of the highlight animation. 


\begin{DoxyParams}{Parameters}
{\em animate} & Enable animation if E\-I\-N\-A\-\_\-\-T\-R\-U\-E, disable otherwise\\
\hline
\end{DoxyParams}
Set whether the focus highlight, if enabled, will animate its switch from one object to the next

Note that it will take effect only to Elementary windows created after this is called.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Win_gad127cc5ae04689c4f2c5b633056d0ac8}{elm\-\_\-win\-\_\-add()} 
\end{DoxySeeAlso}
\index{Focus@{Focus}!elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-get@{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-get}}
\index{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-get@{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-get}!Focus@{Focus}}
\subsubsection[{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}Eina\-\_\-\-Bool elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__Focus_ga748dd72c6551463dc74db0a3351e1fd0}


Get the enable status of the focus highlight. 

This gets whether the highlight on focused objects is enabled or not

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Focus_gaad50460a1134514ab6436c1a1371f9f0}{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-set()} 
\end{DoxySeeAlso}
\index{Focus@{Focus}!elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-set@{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-set}}
\index{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-set@{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-set}!Focus@{Focus}}
\subsubsection[{elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-config\-\_\-focus\-\_\-highlight\-\_\-enabled\-\_\-set (
\begin{DoxyParamCaption}
\item[{Eina\-\_\-\-Bool}]{enable}
\end{DoxyParamCaption}
)}\label{group__Focus_gaad50460a1134514ab6436c1a1371f9f0}


Set the enable status of the focus highlight. 


\begin{DoxyParams}{Parameters}
{\em enable} & Enable highlight if E\-I\-N\-A\-\_\-\-T\-R\-U\-E, disable otherwise\\
\hline
\end{DoxyParams}
Set whether to show or not the highlight on focused objects

Note that it will take effect only to Elementary windows created after this is called.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Win_gad127cc5ae04689c4f2c5b633056d0ac8}{elm\-\_\-win\-\_\-add()} 
\end{DoxySeeAlso}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-get@{elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-get}}
\index{elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-get@{elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-get}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}Eina\-\_\-\-Bool elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-get (
\begin{DoxyParamCaption}
\item[{const Evas\-\_\-\-Object $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__Focus_ga10daa6ff109afb1b09a646df8a5b2666}


Get whether an Elementary object is focusable or not. 


\begin{DoxyParams}{Parameters}
{\em obj} & The Elementary object to operate on \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\-I\-N\-A\-\_\-\-T\-R\-U\-E} if the object is allowed to be focused, {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} if not (and on errors)
\end{DoxyReturn}
\begin{DoxyNote}{Note}
Objects which are meant to be interacted with by input events are created able to be focused, by default. All the others are not. 
\end{DoxyNote}


Referenced by elm\-\_\-genlist\-\_\-item\-\_\-fields\-\_\-update().

\index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-set@{elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-set}}
\index{elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-set@{elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-set}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-object\-\_\-focus\-\_\-allow\-\_\-set (
\begin{DoxyParamCaption}
\item[{Evas\-\_\-\-Object $\ast$}]{obj, }
\item[{Eina\-\_\-\-Bool}]{enable}
\end{DoxyParamCaption}
)}\label{group__Focus_gaab06e876ce12b5f52c8e88615850c6f9}


Set the ability for an Elementary object to be focused. 


\begin{DoxyParams}{Parameters}
{\em obj} & The Elementary object to operate on \\
\hline
{\em enable} & {\ttfamily E\-I\-N\-A\-\_\-\-T\-R\-U\-E} if the object can be focused, {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} if not (and on errors)\\
\hline
\end{DoxyParams}
This sets whether the object {\ttfamily obj} is able to take focus or not. Unfocusable objects do nothing when programmatically focused, being the nearest focusable parent object the one really getting focus. Also, when they receive mouse input, they will get the event, but not take away the focus from where it was previously. \begin{Desc}
\item[Examples\-: ]\par
\hyperlink{general_funcs_example_8c-example}{general\-\_\-funcs\-\_\-example.\-c}.\end{Desc}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-append@{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-append}}
\index{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-append@{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-append}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-append}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-append (
\begin{DoxyParamCaption}
\item[{Evas\-\_\-\-Object $\ast$}]{obj, }
\item[{Evas\-\_\-\-Object $\ast$}]{child, }
\item[{Evas\-\_\-\-Object $\ast$}]{relative\-\_\-child}
\end{DoxyParamCaption}
)}\label{group__Focus_ga2b9658989f3db1d7cacd87f1a8bc53c2}


Append object to custom focus chain. 

\begin{DoxyNote}{Note}
If relative\-\_\-child equal to N\-U\-L\-L or not in custom chain, the object will be added in end.

On focus cycle, only will be evaluated children of this container.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em obj} & The container object \\
\hline
{\em child} & The child to be added in custom chain \\
\hline
{\em relative\-\_\-child} & The relative object to position the child \\
\hline
\end{DoxyParams}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-get@{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-get}}
\index{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-get@{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-get}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}const Eina\-\_\-\-List$\ast$ elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-get (
\begin{DoxyParamCaption}
\item[{const Evas\-\_\-\-Object $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__Focus_ga001412f48de5682cc9a3ac052feac5bf}


Get custom focus chain. 


\begin{DoxyParams}{Parameters}
{\em obj} & The container object \\
\hline
\end{DoxyParams}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-prepend@{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-prepend}}
\index{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-prepend@{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-prepend}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-prepend}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-prepend (
\begin{DoxyParamCaption}
\item[{Evas\-\_\-\-Object $\ast$}]{obj, }
\item[{Evas\-\_\-\-Object $\ast$}]{child, }
\item[{Evas\-\_\-\-Object $\ast$}]{relative\-\_\-child}
\end{DoxyParamCaption}
)}\label{group__Focus_ga0032b30a596ed1a4509c51ffa5d07e8c}


Prepend object to custom focus chain. 

\begin{DoxyNote}{Note}
If relative\-\_\-child equal to N\-U\-L\-L or not in custom chain, the object will be added in begin.

On focus cycle, only will be evaluated children of this container.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em obj} & The container object \\
\hline
{\em child} & The child to be added in custom chain \\
\hline
{\em relative\-\_\-child} & The relative object to position the child \\
\hline
\end{DoxyParams}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-set@{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-set}}
\index{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-set@{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-set}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-set (
\begin{DoxyParamCaption}
\item[{Evas\-\_\-\-Object $\ast$}]{obj, }
\item[{Eina\-\_\-\-List $\ast$}]{objs}
\end{DoxyParamCaption}
)}\label{group__Focus_gae695128d8e5e144dcef62d02214c04ba}


Set custom focus chain. 

This function overwrites any previous custom focus chain within the list of objects. The previous list will be deleted and this list will be managed by elementary. After it is set, don't modify it.

\begin{DoxyNote}{Note}
On focus cycle, only will be evaluated children of this container.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em obj} & The container object \\
\hline
{\em objs} & Chain of objects to pass focus \\
\hline
\end{DoxyParams}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-unset@{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-unset}}
\index{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-unset@{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-unset}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-unset}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-unset (
\begin{DoxyParamCaption}
\item[{Evas\-\_\-\-Object $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__Focus_ga7f46f915c7243d1c0ad90f5edcd6f13c}


Unset a custom focus chain on a given Elementary widget. 


\begin{DoxyParams}{Parameters}
{\em obj} & The container object to remove focus chain from\\
\hline
\end{DoxyParams}
Any focus chain previously set on {\ttfamily obj} (for its child objects) is removed entirely after this call. \index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-get@{elm\-\_\-object\-\_\-focus\-\_\-get}}
\index{elm\-\_\-object\-\_\-focus\-\_\-get@{elm\-\_\-object\-\_\-focus\-\_\-get}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}Eina\-\_\-\-Bool elm\-\_\-object\-\_\-focus\-\_\-get (
\begin{DoxyParamCaption}
\item[{const Evas\-\_\-\-Object $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__Focus_gad2e04b8263454b9186959375f58a9660}


Get the whether an Elementary object has the focus or not. 


\begin{DoxyParams}{Parameters}
{\em obj} & The Elementary object to get the information from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\-I\-N\-A\-\_\-\-T\-R\-U\-E}, if the object is focused, {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} if not (and on errors).
\end{DoxyReturn}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Focus_ga05e39b5e60ad861c63100c811855ef55}{elm\-\_\-object\-\_\-focus\-\_\-set()} 
\end{DoxySeeAlso}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-next@{elm\-\_\-object\-\_\-focus\-\_\-next}}
\index{elm\-\_\-object\-\_\-focus\-\_\-next@{elm\-\_\-object\-\_\-focus\-\_\-next}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-next}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-object\-\_\-focus\-\_\-next (
\begin{DoxyParamCaption}
\item[{Evas\-\_\-\-Object $\ast$}]{obj, }
\item[{{\bf Elm\-\_\-\-Focus\-\_\-\-Direction}}]{dir}
\end{DoxyParamCaption}
)}\label{group__Focus_ga92f4ee9dc622484d96a65c6c5da5ab71}


Give focus to next object in object tree. 

Give focus to next object in focus chain of one object sub-\/tree. If the last object of chain already have focus, the focus will go to the first object of chain.


\begin{DoxyParams}{Parameters}
{\em obj} & The object root of sub-\/tree \\
\hline
{\em dir} & Direction to move the focus\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Focus_ga1ee85df16fd3e24ceeb7d95db091eb5c}{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-get()}, \hyperlink{group__Focus_gad3539adbbb18ec50831486046241dfda}{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-set()} 
\end{DoxySeeAlso}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-get@{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-get}}
\index{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-get@{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-get}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}Evas\-\_\-\-Object$\ast$ elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-get (
\begin{DoxyParamCaption}
\item[{const Evas\-\_\-\-Object $\ast$}]{obj, }
\item[{{\bf Elm\-\_\-\-Focus\-\_\-\-Direction}}]{dir}
\end{DoxyParamCaption}
)}\label{group__Focus_ga1ee85df16fd3e24ceeb7d95db091eb5c}


Get next object which was set with specific focus direction. 

Get next object which was set by elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-set with specific focus direction.


\begin{DoxyParams}{Parameters}
{\em obj} & The Elementary object \\
\hline
{\em dir} & Focus direction \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Focus next object or {\ttfamily N\-U\-L\-L}, if there is no focus next object.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Focus_gad3539adbbb18ec50831486046241dfda}{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-set()}, \hyperlink{group__Focus_ga92f4ee9dc622484d96a65c6c5da5ab71}{elm\-\_\-object\-\_\-focus\-\_\-next()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\-8 
\end{DoxySince}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-set@{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-set}}
\index{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-set@{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-set}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-set (
\begin{DoxyParamCaption}
\item[{Evas\-\_\-\-Object $\ast$}]{obj, }
\item[{Evas\-\_\-\-Object $\ast$}]{next, }
\item[{{\bf Elm\-\_\-\-Focus\-\_\-\-Direction}}]{dir}
\end{DoxyParamCaption}
)}\label{group__Focus_gad3539adbbb18ec50831486046241dfda}


Set next object with specific focus direction. 

When focus next object is set with specific focus direction, this object will be the first candidate when finding next focusable object. Focus next object can be registered with six directions that are previous, next, up, down, right, and left.


\begin{DoxyParams}{Parameters}
{\em obj} & The Elementary object \\
\hline
{\em next} & Focus next object \\
\hline
{\em dir} & Focus direction\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Focus_ga1ee85df16fd3e24ceeb7d95db091eb5c}{elm\-\_\-object\-\_\-focus\-\_\-next\-\_\-object\-\_\-get()}, \hyperlink{group__Focus_ga92f4ee9dc622484d96a65c6c5da5ab71}{elm\-\_\-object\-\_\-focus\-\_\-next()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\-8 
\end{DoxySince}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-focus\-\_\-set@{elm\-\_\-object\-\_\-focus\-\_\-set}}
\index{elm\-\_\-object\-\_\-focus\-\_\-set@{elm\-\_\-object\-\_\-focus\-\_\-set}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focus\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-object\-\_\-focus\-\_\-set (
\begin{DoxyParamCaption}
\item[{Evas\-\_\-\-Object $\ast$}]{obj, }
\item[{Eina\-\_\-\-Bool}]{focus}
\end{DoxyParamCaption}
)}\label{group__Focus_ga05e39b5e60ad861c63100c811855ef55}


Set/unset focus to a given Elementary object. 


\begin{DoxyParams}{Parameters}
{\em obj} & The Elementary object to operate on. \\
\hline
{\em focus} & {\ttfamily E\-I\-N\-A\-\_\-\-T\-R\-U\-E} Set focus to a given object, {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} Unset focus to a given object.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
When you set focus to this object, if it can handle focus, will take the focus away from the one who had it previously and will, for now on, be the one receiving input events. Unsetting focus will remove the focus from {\ttfamily obj}, passing it back to the previous element in the focus chain list.
\end{DoxyNote}
\begin{DoxyWarning}{Warning}
Only visible object can get a focus. Call evas\-\_\-object\-\_\-show(o) before calling this A\-P\-I, if you want to give a focus to the evas object.
\end{DoxyWarning}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Focus_gad2e04b8263454b9186959375f58a9660}{elm\-\_\-object\-\_\-focus\-\_\-get()}, \hyperlink{group__Focus_ga001412f48de5682cc9a3ac052feac5bf}{elm\-\_\-object\-\_\-focus\-\_\-custom\-\_\-chain\-\_\-get()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{entry_example_8c-example}{entry\-\_\-example.\-c}, \hyperlink{general_funcs_example_8c-example}{general\-\_\-funcs\-\_\-example.\-c}, and \hyperlink{web_example_02_8c-example}{web\-\_\-example\-\_\-02.\-c}.\end{Desc}


References E\-L\-M\-\_\-\-F\-O\-C\-U\-S\-\_\-\-N\-E\-X\-T, and elm\-\_\-win\-\_\-inlined\-\_\-image\-\_\-object\-\_\-get().

\index{Focus@{Focus}!elm\-\_\-object\-\_\-focused\-\_\-object\-\_\-get@{elm\-\_\-object\-\_\-focused\-\_\-object\-\_\-get}}
\index{elm\-\_\-object\-\_\-focused\-\_\-object\-\_\-get@{elm\-\_\-object\-\_\-focused\-\_\-object\-\_\-get}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-focused\-\_\-object\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}Evas\-\_\-\-Object$\ast$ elm\-\_\-object\-\_\-focused\-\_\-object\-\_\-get (
\begin{DoxyParamCaption}
\item[{const Evas\-\_\-\-Object $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__Focus_ga08e948f5e6e2d0e66b8aa70cda378453}


Get focused object in object tree. 

This function returns current focused object in one object sub-\/tree.


\begin{DoxyParams}{Parameters}
{\em obj} & The object root of sub-\/tree \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Current focused or {\ttfamily N\-U\-L\-L}, if there is no focused object.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\-8 
\end{DoxySince}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-get@{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-get}}
\index{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-get@{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-get}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}Eina\-\_\-\-Bool elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-get (
\begin{DoxyParamCaption}
\item[{const Evas\-\_\-\-Object $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__Focus_gacb1db3f6318c0f8f6850e38692ebd1c2}


Get whether an Elementary object and its children are focusable or not. 


\begin{DoxyParams}{Parameters}
{\em obj} & The Elementary object to get the information from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\-I\-N\-A\-\_\-\-T\-R\-U\-E}, if the tree is focusable, {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} if not (and on errors).
\end{DoxyReturn}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Focus_ga5e13f80e3ed8c7bd3e0ef5e8985d073d}{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-set()} 
\end{DoxySeeAlso}
\index{Focus@{Focus}!elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-set@{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-set}}
\index{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-set@{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-set}!Focus@{Focus}}
\subsubsection[{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-set (
\begin{DoxyParamCaption}
\item[{Evas\-\_\-\-Object $\ast$}]{obj, }
\item[{Eina\-\_\-\-Bool}]{focusable}
\end{DoxyParamCaption}
)}\label{group__Focus_ga5e13f80e3ed8c7bd3e0ef5e8985d073d}


Make the elementary object and its children to be focusable (or unfocusable). 


\begin{DoxyParams}{Parameters}
{\em obj} & The Elementary object to operate on \\
\hline
{\em focusable} & {\ttfamily E\-I\-N\-A\-\_\-\-T\-R\-U\-E} for focusable, {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} for unfocusable.\\
\hline
\end{DoxyParams}
This sets whether the object {\ttfamily obj} and its children objects are able to take focus or not. If the tree is set as unfocusable, newest focused object which is not in this tree will get focus. This A\-P\-I can be helpful for an object to be deleted. When an object will be deleted soon, it and its children may not want to get focus (by focus reverting or by other focus controls). Then, just use this A\-P\-I before deleting.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Focus_gacb1db3f6318c0f8f6850e38692ebd1c2}{elm\-\_\-object\-\_\-tree\-\_\-focus\-\_\-allow\-\_\-get()} 
\end{DoxySeeAlso}
