\hypertarget{group__Edje__External__Part__Group}{\section{Edje Use of External Parts}
\label{group__Edje__External__Part__Group}\index{Edje Use of External Parts@{Edje Use of External Parts}}
}


Functions to manipulate parts of type E\-X\-T\-E\-R\-N\-A\-L.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$ \hyperlink{group__Edje__External__Part__Group_gade8b8ace8b37370161b057aa412014dd}{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-object\-\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$part)
\begin{DoxyCompactList}\small\item\em Get the object created by this external part. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} \hyperlink{group__Edje__External__Part__Group_gab3fd27d2bba3e09837ee137db265d489}{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$part, const \hyperlink{group__Edje__External__Group_gafc8f2e1cb3f31c252f8acb8efe9b9be8}{Edje\-\_\-\-External\-\_\-\-Param} $\ast$param)
\begin{DoxyCompactList}\small\item\em Set the parameter for the external part. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} \hyperlink{group__Edje__External__Part__Group_ga6ef18e66b59fd5257248f18c74a10500}{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$part, \hyperlink{group__Edje__External__Group_gafc8f2e1cb3f31c252f8acb8efe9b9be8}{Edje\-\_\-\-External\-\_\-\-Param} $\ast$param)
\begin{DoxyCompactList}\small\item\em Get the parameter for the external part. \end{DoxyCompactList}\item 
\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$ \hyperlink{group__Edje__External__Part__Group_ga2395a909f0ff1253847c8cf1b6bb5f19}{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-content\-\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$part, const char $\ast$content)
\begin{DoxyCompactList}\small\item\em Get an object contained in an part of type E\-X\-T\-E\-R\-N\-A\-L. \end{DoxyCompactList}\item 
\hyperlink{group__Edje__External__Group_gad5c5579b7c2a360619ef51a9fb36cfbe}{Edje\-\_\-\-External\-\_\-\-Param\-\_\-\-Type} \hyperlink{group__Edje__External__Part__Group_ga90f19582c63b1f1a69b154f24eac7248}{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-type\-\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$part, const char $\ast$param)
\begin{DoxyCompactList}\small\item\em Facility to query the type of the given parameter of the given part. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions to manipulate parts of type E\-X\-T\-E\-R\-N\-A\-L. Edje supports parts of type E\-X\-T\-E\-R\-N\-A\-L, which will call plugins defined by the user to create and manipulate the object that's allocated in that part.

Parts of type external may carry extra properties that have meanings defined by the external plugin. For instance, it may be a string that defines a button label and setting this property will change that label on the fly. 

\subsection{Function Documentation}
\hypertarget{group__Edje__External__Part__Group_gade8b8ace8b37370161b057aa412014dd}{\index{Edje Use of External Parts@{Edje Use of External Parts}!edje\-\_\-object\-\_\-part\-\_\-external\-\_\-object\-\_\-get@{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-object\-\_\-get}}
\index{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-object\-\_\-get@{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-object\-\_\-get}!Edje Use of External Parts@{Edje Use of External Parts}}
\subsubsection[{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-object\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\-\_\-\-Object}$\ast$ edje\-\_\-object\-\_\-part\-\_\-external\-\_\-object\-\_\-get (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\-\_\-\-Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{part}
\end{DoxyParamCaption}
)}}\label{group__Edje__External__Part__Group_gade8b8ace8b37370161b057aa412014dd}


Get the object created by this external part. 

Parts of type external creates the part object using information provided by external plugins. It's somehow like \char`\"{}swallow\char`\"{} (\hyperlink{group__Edje__Part__Swallow_ga97d1419f89bff20ba971e47c78641271}{edje\-\_\-object\-\_\-part\-\_\-swallow()}), but it's all set automatically.

This function returns the part created by such external plugins and being currently managed by this Edje.

\begin{DoxyNote}{Note}
Almost all swallow rules apply\-: you should not move, resize, hide, show, set the color or clipper of such part. It's a bit more restrictive as one must {\bfseries never} delete this object!
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em obj} & A valid Evas\-\_\-\-Object handle \\
\hline
{\em part} & The part name \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The externally created object, or N\-U\-L\-L if there is none or part is not an external. 
\end{DoxyReturn}


References edje\-\_\-obj\-\_\-part\-\_\-external\-\_\-object\-\_\-get.

\hypertarget{group__Edje__External__Part__Group_gab3fd27d2bba3e09837ee137db265d489}{\index{Edje Use of External Parts@{Edje Use of External Parts}!edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-set@{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-set}}
\index{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-set@{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-set}!Edje Use of External Parts@{Edje Use of External Parts}}
\subsubsection[{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\-\_\-\-Bool} edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\-\_\-\-Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{part, }
\item[{const {\bf Edje\-\_\-\-External\-\_\-\-Param} $\ast$}]{param}
\end{DoxyParamCaption}
)}}\label{group__Edje__External__Part__Group_gab3fd27d2bba3e09837ee137db265d489}


Set the parameter for the external part. 

Parts of type external may carry extra properties that have meanings defined by the external plugin. For instance, it may be a string that defines a button label and setting this property will change that label on the fly.

\begin{DoxyNote}{Note}
external parts have parameters set when they change states. Those parameters will never be changed by this function. The interpretation of how state\-\_\-set parameters and param\-\_\-set will interact is up to the external plugin.

this function will not check if parameter value is valid using \hyperlink{group__Edje__External__Group_ga3359e717990957d49d9fb5f32843bcfc}{Edje\-\_\-\-External\-\_\-\-Param\-\_\-\-Info} minimum, maximum, valid choices and others. However these should be checked by the underlying implementation provided by the external plugin. This is done for performance reasons.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em obj} & A valid Evas\-\_\-\-Object handle \\
\hline
{\em part} & The part name \\
\hline
{\em param} & the parameter details, including its name, type and actual value. This pointer should be valid, and the parameter must exist in \hyperlink{struct__Edje__External__Type_af51b2274e23c4049deb2ebfe5406fac9}{Edje\-\_\-\-External\-\_\-\-Type\-::parameters\-\_\-info}, with the exact type, otherwise the operation will fail and {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} will be returned.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\-I\-N\-A\-\_\-\-T\-R\-U\-E} if everything went fine, {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} on errors. 
\end{DoxyReturn}


References edje\-\_\-obj\-\_\-part\-\_\-external\-\_\-param\-\_\-set, and E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E.



Referenced by edje\-\_\-edit\-\_\-state\-\_\-external\-\_\-param\-\_\-set().

\hypertarget{group__Edje__External__Part__Group_ga6ef18e66b59fd5257248f18c74a10500}{\index{Edje Use of External Parts@{Edje Use of External Parts}!edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-get@{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-get}}
\index{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-get@{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-get}!Edje Use of External Parts@{Edje Use of External Parts}}
\subsubsection[{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\-\_\-\-Bool} edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-get (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\-\_\-\-Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{part, }
\item[{{\bf Edje\-\_\-\-External\-\_\-\-Param} $\ast$}]{param}
\end{DoxyParamCaption}
)}}\label{group__Edje__External__Part__Group_ga6ef18e66b59fd5257248f18c74a10500}


Get the parameter for the external part. 

Parts of type external may carry extra properties that have meanings defined by the external plugin. For instance, it may be a string that defines a button label. This property can be modified by state parameters, by explicit calls to \hyperlink{group__Edje__External__Part__Group_gab3fd27d2bba3e09837ee137db265d489}{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-set()} or getting the actual object with \hyperlink{group__Edje__External__Part__Group_gade8b8ace8b37370161b057aa412014dd}{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-object\-\_\-get()} and calling native functions.

This function asks the external plugin what is the current value, independent on how it was set.


\begin{DoxyParams}{Parameters}
{\em obj} & A valid Evas\-\_\-\-Object handle \\
\hline
{\em part} & The part name\\
\hline
{\em param} & the parameter details. It is used as both input and output variable. This pointer should be valid, and the parameter must exist in \hyperlink{struct__Edje__External__Type_af51b2274e23c4049deb2ebfe5406fac9}{Edje\-\_\-\-External\-\_\-\-Type\-::parameters\-\_\-info}, with the exact type, otherwise the operation will fail and {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} will be returned.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\-I\-N\-A\-\_\-\-T\-R\-U\-E} if everything went fine and {\ttfamily param} members are filled with information, {\ttfamily E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E} on errors and {\ttfamily param} member values are not set or valid. 
\end{DoxyReturn}


References edje\-\_\-obj\-\_\-part\-\_\-external\-\_\-param\-\_\-get, and E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E.

\hypertarget{group__Edje__External__Part__Group_ga2395a909f0ff1253847c8cf1b6bb5f19}{\index{Edje Use of External Parts@{Edje Use of External Parts}!edje\-\_\-object\-\_\-part\-\_\-external\-\_\-content\-\_\-get@{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-content\-\_\-get}}
\index{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-content\-\_\-get@{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-content\-\_\-get}!Edje Use of External Parts@{Edje Use of External Parts}}
\subsubsection[{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-content\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\-\_\-\-Object}$\ast$ edje\-\_\-object\-\_\-part\-\_\-external\-\_\-content\-\_\-get (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\-\_\-\-Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{part, }
\item[{const char $\ast$}]{content}
\end{DoxyParamCaption}
)}}\label{group__Edje__External__Part__Group_ga2395a909f0ff1253847c8cf1b6bb5f19}


Get an object contained in an part of type E\-X\-T\-E\-R\-N\-A\-L. 

The {\ttfamily content} string must not be N\-U\-L\-L. Its actual value depends on the code providing the E\-X\-T\-E\-R\-N\-A\-L.


\begin{DoxyParams}{Parameters}
{\em obj} & The Edje object \\
\hline
{\em part} & The name of the part holding the E\-X\-T\-E\-R\-N\-A\-L \\
\hline
{\em content} & A string identifying which content from the E\-X\-T\-E\-R\-N\-A\-L to get \\
\hline
\end{DoxyParams}


References edje\-\_\-obj\-\_\-part\-\_\-external\-\_\-content\-\_\-get.

\hypertarget{group__Edje__External__Part__Group_ga90f19582c63b1f1a69b154f24eac7248}{\index{Edje Use of External Parts@{Edje Use of External Parts}!edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-type\-\_\-get@{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-type\-\_\-get}}
\index{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-type\-\_\-get@{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-type\-\_\-get}!Edje Use of External Parts@{Edje Use of External Parts}}
\subsubsection[{edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-type\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Edje\-\_\-\-External\-\_\-\-Param\-\_\-\-Type} edje\-\_\-object\-\_\-part\-\_\-external\-\_\-param\-\_\-type\-\_\-get (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\-\_\-\-Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{part, }
\item[{const char $\ast$}]{param}
\end{DoxyParamCaption}
)}}\label{group__Edje__External__Part__Group_ga90f19582c63b1f1a69b154f24eac7248}


Facility to query the type of the given parameter of the given part. 


\begin{DoxyParams}{Parameters}
{\em obj} & A valid Evas\-\_\-\-Object handle \\
\hline
{\em part} & The part name \\
\hline
{\em param} & the parameter name to use.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\-D\-J\-E\-\_\-\-E\-X\-T\-E\-R\-N\-A\-L\-\_\-\-P\-A\-R\-A\-M\-\_\-\-T\-Y\-P\-E\-\_\-\-M\-A\-X} on errors, or another value from \hyperlink{group__Edje__External__Group_gad5c5579b7c2a360619ef51a9fb36cfbe}{Edje\-\_\-\-External\-\_\-\-Param\-\_\-\-Type} on success. 
\end{DoxyReturn}


References E\-D\-J\-E\-\_\-\-E\-X\-T\-E\-R\-N\-A\-L\-\_\-\-P\-A\-R\-A\-M\-\_\-\-T\-Y\-P\-E\-\_\-\-M\-A\-X, and edje\-\_\-obj\-\_\-part\-\_\-external\-\_\-param\-\_\-type\-\_\-get.

