\section{Widget Tree Navigation}
\label{group__WidgetNavigation}\index{Widget Tree Navigation@{Widget Tree Navigation}}


These functions provide checks for if a Evas\-\_\-\-Object is an Elementary widget, the possibility of getting a widget's parent, top level parent and getting a string representation of a widget's type.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
Eina\-\_\-\-Bool \hyperlink{group__WidgetNavigation_gaa761d4ced3859512455707bf3e006d79}{elm\-\_\-object\-\_\-widget\-\_\-check} (const Evas\-\_\-\-Object $\ast$obj)
\begin{DoxyCompactList}\small\item\em Check if the given Evas Object is an Elementary widget. \end{DoxyCompactList}\item 
Evas\-\_\-\-Object $\ast$ \hyperlink{group__WidgetNavigation_ga0b5f83c403948f1418e434f3ed94973f}{elm\-\_\-object\-\_\-parent\-\_\-widget\-\_\-get} (const Evas\-\_\-\-Object $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get the first parent of the given object that is an Elementary widget. \end{DoxyCompactList}\item 
Evas\-\_\-\-Object $\ast$ \hyperlink{group__WidgetNavigation_gaecc9a5039788037aa345d5c6a3c8bff8}{elm\-\_\-object\-\_\-top\-\_\-widget\-\_\-get} (const Evas\-\_\-\-Object $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get the top level parent of an Elementary widget. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{group__WidgetNavigation_ga34fd98b2f288eb5116e26e279f9f88d2}{elm\-\_\-object\-\_\-widget\-\_\-type\-\_\-get} (const Evas\-\_\-\-Object $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get the string that represents this Elementary widget. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
These functions provide checks for if a Evas\-\_\-\-Object is an Elementary widget, the possibility of getting a widget's parent, top level parent and getting a string representation of a widget's type. 

\subsection{Function Documentation}
\index{Widget Tree Navigation@{Widget Tree Navigation}!elm\-\_\-object\-\_\-parent\-\_\-widget\-\_\-get@{elm\-\_\-object\-\_\-parent\-\_\-widget\-\_\-get}}
\index{elm\-\_\-object\-\_\-parent\-\_\-widget\-\_\-get@{elm\-\_\-object\-\_\-parent\-\_\-widget\-\_\-get}!Widget Tree Navigation@{Widget Tree Navigation}}
\subsubsection[{elm\-\_\-object\-\_\-parent\-\_\-widget\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}Evas\-\_\-\-Object$\ast$ elm\-\_\-object\-\_\-parent\-\_\-widget\-\_\-get (
\begin{DoxyParamCaption}
\item[{const Evas\-\_\-\-Object $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__WidgetNavigation_ga0b5f83c403948f1418e434f3ed94973f}


Get the first parent of the given object that is an Elementary widget. 


\begin{DoxyParams}{Parameters}
{\em obj} & the Elementary object to query parent from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the parent object that is an Elementary widget, or {\ttfamily N\-U\-L\-L}, if it was not found.
\end{DoxyReturn}
Use this to query for an object's parent widget.

\begin{DoxyNote}{Note}
Most of Elementary users wouldn't be mixing non-\/\-Elementary smart objects in the objects tree of an application, as this is an advanced usage of Elementary with Evas. So, except for the application's window, which is the root of that tree, all other objects would have valid Elementary widget parents. 
\end{DoxyNote}
\index{Widget Tree Navigation@{Widget Tree Navigation}!elm\-\_\-object\-\_\-top\-\_\-widget\-\_\-get@{elm\-\_\-object\-\_\-top\-\_\-widget\-\_\-get}}
\index{elm\-\_\-object\-\_\-top\-\_\-widget\-\_\-get@{elm\-\_\-object\-\_\-top\-\_\-widget\-\_\-get}!Widget Tree Navigation@{Widget Tree Navigation}}
\subsubsection[{elm\-\_\-object\-\_\-top\-\_\-widget\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}Evas\-\_\-\-Object$\ast$ elm\-\_\-object\-\_\-top\-\_\-widget\-\_\-get (
\begin{DoxyParamCaption}
\item[{const Evas\-\_\-\-Object $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__WidgetNavigation_gaecc9a5039788037aa345d5c6a3c8bff8}


Get the top level parent of an Elementary widget. 


\begin{DoxyParams}{Parameters}
{\em obj} & The object to query. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The top level Elementary widget, or {\ttfamily N\-U\-L\-L} if parent cannot be found. 
\end{DoxyReturn}
\index{Widget Tree Navigation@{Widget Tree Navigation}!elm\-\_\-object\-\_\-widget\-\_\-check@{elm\-\_\-object\-\_\-widget\-\_\-check}}
\index{elm\-\_\-object\-\_\-widget\-\_\-check@{elm\-\_\-object\-\_\-widget\-\_\-check}!Widget Tree Navigation@{Widget Tree Navigation}}
\subsubsection[{elm\-\_\-object\-\_\-widget\-\_\-check}]{\setlength{\rightskip}{0pt plus 5cm}Eina\-\_\-\-Bool elm\-\_\-object\-\_\-widget\-\_\-check (
\begin{DoxyParamCaption}
\item[{const Evas\-\_\-\-Object $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__WidgetNavigation_gaa761d4ced3859512455707bf3e006d79}


Check if the given Evas Object is an Elementary widget. 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to query. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\-I\-N\-A\-\_\-\-T\-R\-U\-E} if it is an elementary widget variant, {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} otherwise 
\end{DoxyReturn}
\index{Widget Tree Navigation@{Widget Tree Navigation}!elm\-\_\-object\-\_\-widget\-\_\-type\-\_\-get@{elm\-\_\-object\-\_\-widget\-\_\-type\-\_\-get}}
\index{elm\-\_\-object\-\_\-widget\-\_\-type\-\_\-get@{elm\-\_\-object\-\_\-widget\-\_\-type\-\_\-get}!Widget Tree Navigation@{Widget Tree Navigation}}
\subsubsection[{elm\-\_\-object\-\_\-widget\-\_\-type\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ elm\-\_\-object\-\_\-widget\-\_\-type\-\_\-get (
\begin{DoxyParamCaption}
\item[{const Evas\-\_\-\-Object $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__WidgetNavigation_ga34fd98b2f288eb5116e26e279f9f88d2}


Get the string that represents this Elementary widget. 

\begin{DoxyNote}{Note}
Elementary is weird and exposes itself as a single Evas\-\_\-\-Object\-\_\-\-Smart\-\_\-\-Class of type \char`\"{}elm\-\_\-widget\char`\"{}, so evas\-\_\-object\-\_\-type\-\_\-get() always return that, making debug and language bindings hard. This function tries to mitigate this problem, but the solution is to change Elementary to use proper inheritance.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em obj} & the object to query. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Elementary widget name, or {\ttfamily N\-U\-L\-L} if not a valid widget. 
\end{DoxyReturn}
