\hypertarget{group__Edje__Part__Box}{}\section{Edje Box Part}
\label{group__Edje__Part__Box}\index{Edje Box Part@{Edje Box Part}}


Functions that deal with parts of type box.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{group__Edje__Part__Box_gac29c0dd222aaab5743b2a57f05d3c08d}{edje\+\_\+box\+\_\+layout\+\_\+register} (const char $\ast$name, \hyperlink{group__Evas__Object__Box_gad3ef5177a00dcda0c08c86287419d5b5}{Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Layout} func, void $\ast$($\ast$layout\+\_\+data\+\_\+get)(void $\ast$), void($\ast$layout\+\_\+data\+\_\+free)(void $\ast$), void($\ast$free\+\_\+data)(void $\ast$), void $\ast$data)
\begin{DoxyCompactList}\small\item\em Registers a custom layout to be used in edje boxes. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions that deal with parts of type box. 

Box is a container type for parts, that means it can contain other parts. 

\subsection{Function Documentation}
\hypertarget{group__Edje__Part__Box_gac29c0dd222aaab5743b2a57f05d3c08d}{}\index{Edje Box Part@{Edje Box Part}!edje\+\_\+box\+\_\+layout\+\_\+register@{edje\+\_\+box\+\_\+layout\+\_\+register}}
\index{edje\+\_\+box\+\_\+layout\+\_\+register@{edje\+\_\+box\+\_\+layout\+\_\+register}!Edje Box Part@{Edje Box Part}}
\subsubsection[{edje\+\_\+box\+\_\+layout\+\_\+register(const char $\ast$name, Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Layout func, void $\ast$($\ast$layout\+\_\+data\+\_\+get)(void $\ast$), void($\ast$layout\+\_\+data\+\_\+free)(void $\ast$), void($\ast$free\+\_\+data)(void $\ast$), void $\ast$data)}]{\setlength{\rightskip}{0pt plus 5cm}void edje\+\_\+box\+\_\+layout\+\_\+register (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{name, }
\item[{{\bf Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Layout}}]{func, }
\item[{void $\ast$($\ast$)(void $\ast$)}]{layout\+\_\+data\+\_\+get, }
\item[{void($\ast$)(void $\ast$)}]{layout\+\_\+data\+\_\+free, }
\item[{void($\ast$)(void $\ast$)}]{free\+\_\+data, }
\item[{void $\ast$}]{data}
\end{DoxyParamCaption}
)}\label{group__Edje__Part__Box_gac29c0dd222aaab5743b2a57f05d3c08d}


Registers a custom layout to be used in edje boxes. 


\begin{DoxyParams}{Parameters}
{\em name} & The name of the layout \\
\hline
{\em func} & The function defining the layout \\
\hline
{\em layout\+\_\+data\+\_\+get} & This function gets the custom data pointer for func \\
\hline
{\em layout\+\_\+data\+\_\+free} & Passed to func to free its private data when needed \\
\hline
{\em free\+\_\+data} & Frees data \\
\hline
{\em data} & Private pointer passed to layout\+\_\+data\+\_\+get\\
\hline
\end{DoxyParams}
This function registers custom layouts that can be referred from themes by the registered name. The Evas\+\_\+\+Object\+\_\+\+Box\+\_\+\+Layout functions receive two pointers for internal use, one being private data, and the other the function to free that data when it\textquotesingle{}s not longer needed. From Edje, this private data will be retrieved by calling layout\+\_\+data\+\_\+get, and layout\+\_\+data\+\_\+free will be the free function passed to func. layout\+\_\+data\+\_\+get will be called with data as its parameter, and this one will be freed by free\+\_\+data whenever the layout is unregistered from Edje. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{edje-box2_8c-example}{edje-\/box2.\+c}.\end{Desc}


References eina\+\_\+rbtree\+\_\+inline\+\_\+insert(), eina\+\_\+rbtree\+\_\+inline\+\_\+remove(), and E\+R\+R.

