\section{Table}
\label{group__Table}\index{Table@{Table}}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
E\+O\+A\+P\+I void \hyperlink{group__Table_ga6919684a5f88a8756cc6a78ffd605b1e}{elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+set} (Eina\+\_\+\+Bool homogeneous)
\begin{DoxyCompactList}\small\item\em Set the homogeneous layout in the table. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I Eina\+\_\+\+Bool \hyperlink{group__Table_ga8d830af4f8eca3b7f2078d6772d02153}{elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the current table homogeneous mode. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I void \hyperlink{group__Table_ga61c6078ea6985631aaa27213b4c2b8e8}{elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+set} (Evas\+\_\+\+Coord horizontal, Evas\+\_\+\+Coord vertical)
\begin{DoxyCompactList}\small\item\em Set padding between cells. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I void \hyperlink{group__Table_gacf943a9b6682e60b7d2a1e6232db676e}{elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+get} (Evas\+\_\+\+Coord $\ast$horizontal, Evas\+\_\+\+Coord $\ast$vertical)
\begin{DoxyCompactList}\small\item\em Get padding between cells. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I void \hyperlink{group__Table_ga78eaf903f93b5844bd02b89baf2a4a07}{elm\+\_\+obj\+\_\+table\+\_\+clear} (Eina\+\_\+\+Bool clear)
\begin{DoxyCompactList}\small\item\em Faster way to remove all child objects from a table object. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I void \hyperlink{group__Table_gae028b8ebb6c8a6556de6325a75c668fe}{elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+set} (Evas\+\_\+\+Object $\ast$subobj, int column, int row, int colspan, int rowspan)
\begin{DoxyCompactList}\small\item\em Set the packing location of an existing child of the table. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I void \hyperlink{group__Table_gaebe9af73c5056246733d019dcde66f2f}{elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+get} (Evas\+\_\+\+Object $\ast$subobj, int $\ast$column, int $\ast$row, int $\ast$colspan, int $\ast$rowspan)
\begin{DoxyCompactList}\small\item\em Get the packing location of an existing child of the table. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I void \hyperlink{group__Table_gac29b6a07e544432fdecc610615b5ede6}{elm\+\_\+obj\+\_\+table\+\_\+unpack} (Evas\+\_\+\+Object $\ast$subobj)
\begin{DoxyCompactList}\small\item\em Remove child from table. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I void \hyperlink{group__Table_ga8cfb511c6f6a7444cd70edf2c8b489f6}{elm\+\_\+obj\+\_\+table\+\_\+pack} (Evas\+\_\+\+Object $\ast$subobj, int column, int row, int colspan, int rowspan)
\begin{DoxyCompactList}\small\item\em Add a subobject on the table with the coordinates passed. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_ga5d33ff7f2a106645f6d46887ba288b7d}{elm\+\_\+table\+::clear} (bool clear\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Faster way to remove all child objects from a table object. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_gaf0a6b5692ac112a76d5c626b376a922a}{elm\+\_\+table\+::pack\+\_\+set} (evas\+::object subobj\+\_\+, int column\+\_\+, int row\+\_\+, int colspan\+\_\+, int rowspan\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Set the packing location of an existing child of the table. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_ga153367f57effcb05ec771b3f239caa07}{elm\+\_\+table\+::pack\+\_\+get} (evas\+::object subobj\+\_\+, int $\ast$column\+\_\+, int $\ast$row\+\_\+, int $\ast$colspan\+\_\+, int $\ast$rowspan\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Get the packing location of an existing child of the table. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_gada02bfdbe5ba3ba4fd0b0a365fe9b0b2}{elm\+\_\+table\+::unpack} (evas\+::object subobj\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Remove child from table. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_gad9c83dd1da8876da6007a0f98609bae1}{elm\+\_\+table\+::pack} (evas\+::object subobj\+\_\+, int column\+\_\+, int row\+\_\+, int colspan\+\_\+, int rowspan\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Add a subobject on the table with the coordinates passed. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_ga64e6d7d765fe9af912d922e789c32913}{elm\+\_\+table\+\_\+homogeneous\+\_\+set} (Eo $\ast$obj, Eina\+\_\+\+Bool homogeneous)
\begin{DoxyCompactList}\small\item\em Set the homogeneous layout in the table. \end{DoxyCompactList}\item 
Eina\+\_\+\+Bool \hyperlink{group__Table_ga79f9d7cadefc3e4f936c710e82e30f30}{elm\+\_\+table\+\_\+homogeneous\+\_\+get} (const Eo $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get the current table homogeneous mode. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_gafa752964eec9a4605a3e71f6335784e3}{elm\+\_\+table\+\_\+padding\+\_\+set} (Eo $\ast$obj, Evas\+\_\+\+Coord horizontal, Evas\+\_\+\+Coord vertical)
\begin{DoxyCompactList}\small\item\em Set padding between cells. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_gaa7f77bf70135c30b86a4e8bcda1cdf8e}{elm\+\_\+table\+\_\+padding\+\_\+get} (const Eo $\ast$obj, Evas\+\_\+\+Coord $\ast$horizontal, Evas\+\_\+\+Coord $\ast$vertical)
\begin{DoxyCompactList}\small\item\em Get padding between cells. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_ga4aa20e153d32ca5547dfd007ceabe397}{elm\+\_\+table\+\_\+clear} (Eo $\ast$obj, Eina\+\_\+\+Bool clear)
\begin{DoxyCompactList}\small\item\em Faster way to remove all child objects from a table object. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_ga47910f5882842ae18ff06d421553b5cf}{elm\+\_\+table\+\_\+unpack} (Eo $\ast$obj, Evas\+\_\+\+Object $\ast$subobj)
\begin{DoxyCompactList}\small\item\em Remove child from table. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_ga898f5e6222a0eeaeaf044f4440eb26fd}{elm\+\_\+table\+\_\+pack} (Eo $\ast$obj, Evas\+\_\+\+Object $\ast$subobj, int column, int row, int colspan, int rowspan)
\begin{DoxyCompactList}\small\item\em Add a subobject on the table with the coordinates passed. \end{DoxyCompactList}\item 
Evas\+\_\+\+Object $\ast$ \hyperlink{group__Table_gabb4d507c8b02acd001e998ae424335f4}{elm\+\_\+table\+\_\+add} (Evas\+\_\+\+Object $\ast$parent)
\begin{DoxyCompactList}\small\item\em Add a new table to the parent. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_gac4604f1d9855a680a240e4c5d9a85032}{elm\+\_\+table\+\_\+pack\+\_\+set} (Evas\+\_\+\+Object $\ast$subobj, int col, int row, int colspan, int rowspan)
\begin{DoxyCompactList}\small\item\em Set the packing location of an existing child of the table. \end{DoxyCompactList}\item 
void \hyperlink{group__Table_ga76a90f70d22abe84c65ef3293c7450ee}{elm\+\_\+table\+\_\+pack\+\_\+get} (Evas\+\_\+\+Object $\ast$subobj, int $\ast$col, int $\ast$row, int $\ast$colspan, int $\ast$rowspan)
\begin{DoxyCompactList}\small\item\em Get the packing location of an existing child of the table. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
 
\begin{DoxyImageNoCaption}
  \mbox{\includegraphics{table_inheritance_tree}}
\end{DoxyImageNoCaption}


A container widget to arrange other widgets in a table where items can span multiple columns or rows -\/ even overlap (and then be raised or lowered accordingly to adjust stacking if they do overlap).

The row and column count is not fixed. The table widget adjusts itself when subobjects are added to it dynamically.

The most common way to use a table is\+: 
\begin{DoxyCode}
table = elm_table_add(win);
evas\_object\_show(table);
elm_table_padding_set(table, space\_between\_columns, space\_between\_rows);
elm_table_pack(table, table\_content\_object, column, row, colspan, rowspan);
elm_table_pack(table, table\_content\_object, next\_column, next\_row, colspan, rowspan);
elm_table_pack(table, table\_content\_object, other\_column, other\_row, colspan, rowspan);
\end{DoxyCode}


The following are examples of how to use a table\+: \begin{DoxyItemize}
\item \hyperlink{tutorial_table_01}{tutorial\+\_\+table\+\_\+01} \item \hyperlink{tutorial_table_02}{tutorial\+\_\+table\+\_\+02} \end{DoxyItemize}


\subsection{Function Documentation}
\index{Table@{Table}!clear@{clear}}
\index{clear@{clear}!Table@{Table}}
\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+::clear (
\begin{DoxyParamCaption}
\item[{bool}]{clear\+\_\+}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Table_ga5d33ff7f2a106645f6d46887ba288b7d}


Faster way to remove all child objects from a table object. 


\begin{DoxyParams}{Parameters}
{\em clear} & If true, will delete children, else just remove from table. \\
\hline
\end{DoxyParams}


References elm\+\_\+obj\+\_\+table\+\_\+clear().

\index{Table@{Table}!elm\+\_\+obj\+\_\+table\+\_\+clear@{elm\+\_\+obj\+\_\+table\+\_\+clear}}
\index{elm\+\_\+obj\+\_\+table\+\_\+clear@{elm\+\_\+obj\+\_\+table\+\_\+clear}!Table@{Table}}
\subsubsection[{elm\+\_\+obj\+\_\+table\+\_\+clear}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void elm\+\_\+obj\+\_\+table\+\_\+clear (
\begin{DoxyParamCaption}
\item[{Eina\+\_\+\+Bool}]{clear}
\end{DoxyParamCaption}
)}\label{group__Table_ga78eaf903f93b5844bd02b89baf2a4a07}


Faster way to remove all child objects from a table object. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em clear} & If true, will delete children, else just remove from table. \\
\hline
\end{DoxyParams}


Referenced by elm\+\_\+table\+::clear(), and elm\+\_\+table\+\_\+clear().

\index{Table@{Table}!elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+get@{elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+get}}
\index{elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+get@{elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+get}!Table@{Table}}
\subsubsection[{elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I Eina\+\_\+\+Bool elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__Table_ga8d830af4f8eca3b7f2078d6772d02153}


Get the current table homogeneous mode. 

\begin{DoxyReturn}{Returns}
A boolean to indicating if the layout is homogeneous in the table (E\+I\+N\+A\+\_\+\+T\+R\+U\+E = homogeneous, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E = no homogeneous) 
\end{DoxyReturn}


Referenced by elm\+\_\+table\+\_\+homogeneous\+\_\+get().

\index{Table@{Table}!elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+set@{elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+set}}
\index{elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+set@{elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+set}!Table@{Table}}
\subsubsection[{elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+set (
\begin{DoxyParamCaption}
\item[{Eina\+\_\+\+Bool}]{homogeneous}
\end{DoxyParamCaption}
)}\label{group__Table_ga6919684a5f88a8756cc6a78ffd605b1e}


Set the homogeneous layout in the table. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em homogeneous} & A boolean to set if the layout is homogeneous in the table (E\+I\+N\+A\+\_\+\+T\+R\+U\+E = homogeneous, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E = no homogeneous) \\
\hline
\end{DoxyParams}


Referenced by elm\+\_\+table\+\_\+homogeneous\+\_\+set().

\index{Table@{Table}!elm\+\_\+obj\+\_\+table\+\_\+pack@{elm\+\_\+obj\+\_\+table\+\_\+pack}}
\index{elm\+\_\+obj\+\_\+table\+\_\+pack@{elm\+\_\+obj\+\_\+table\+\_\+pack}!Table@{Table}}
\subsubsection[{elm\+\_\+obj\+\_\+table\+\_\+pack}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void elm\+\_\+obj\+\_\+table\+\_\+pack (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{subobj, }
\item[{int}]{column, }
\item[{int}]{row, }
\item[{int}]{colspan, }
\item[{int}]{rowspan}
\end{DoxyParamCaption}
)}\label{group__Table_ga8cfb511c6f6a7444cd70edf2c8b489f6}


Add a subobject on the table with the coordinates passed. 

\begin{DoxyNote}{Note}
All positioning inside the table is relative to rows and columns, so a value of 0 for x and y, means the top left cell of the table, and a value of 1 for w and h means {\ttfamily subobj} only takes that 1 cell.
\end{DoxyNote}
Note that columns and rows only guarantee 16bit unsigned values at best. That means that col + colspan A\+N\+D row + rowspan must fit inside 16bit unsigned values cleanly. You will be warned once values exceed 15bit storage, and attempting to use values not able to fit in 16bits will result in failure.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em subobj} & The subobject to be added to the table \\
\hline
\mbox{\tt in}  & {\em column} & Column number \\
\hline
\mbox{\tt in}  & {\em row} & Row number \\
\hline
\mbox{\tt in}  & {\em colspan} & colspan \\
\hline
\mbox{\tt in}  & {\em rowspan} & rowspan \\
\hline
\end{DoxyParams}


Referenced by elm\+\_\+table\+\_\+pack(), and elm\+\_\+table\+::pack().

\index{Table@{Table}!elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+get@{elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+get}}
\index{elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+get@{elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+get}!Table@{Table}}
\subsubsection[{elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+get (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{subobj, }
\item[{int $\ast$}]{column, }
\item[{int $\ast$}]{row, }
\item[{int $\ast$}]{colspan, }
\item[{int $\ast$}]{rowspan}
\end{DoxyParamCaption}
)}\label{group__Table_gaebe9af73c5056246733d019dcde66f2f}


Get the packing location of an existing child of the table. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Table_gac4604f1d9855a680a240e4c5d9a85032}{elm\+\_\+table\+\_\+pack\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em subobj} & The subobject to be modified in the table \\
\hline
\mbox{\tt out}  & {\em column} & Column number \\
\hline
\mbox{\tt out}  & {\em row} & Row number \\
\hline
\mbox{\tt out}  & {\em colspan} & colspan \\
\hline
\mbox{\tt out}  & {\em rowspan} & rowspan \\
\hline
\end{DoxyParams}


Referenced by elm\+\_\+table\+\_\+pack\+\_\+get(), and elm\+\_\+table\+::pack\+\_\+get().

\index{Table@{Table}!elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+set@{elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+set}}
\index{elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+set@{elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+set}!Table@{Table}}
\subsubsection[{elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+set (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{subobj, }
\item[{int}]{column, }
\item[{int}]{row, }
\item[{int}]{colspan, }
\item[{int}]{rowspan}
\end{DoxyParamCaption}
)}\label{group__Table_gae028b8ebb6c8a6556de6325a75c668fe}


Set the packing location of an existing child of the table. 

Modifies the position of an object already in the table.

\begin{DoxyNote}{Note}
All positioning inside the table is relative to rows and columns, so a value of 0 for col and row, means the top left cell of the table, and a value of 1 for colspan and rowspan means {\ttfamily subobj} only takes that 1 cell.
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em subobj} & The subobject to be modified in the table \\
\hline
\mbox{\tt in}  & {\em column} & Column number \\
\hline
\mbox{\tt in}  & {\em row} & Row number \\
\hline
\mbox{\tt in}  & {\em colspan} & colspan \\
\hline
\mbox{\tt in}  & {\em rowspan} & rowspan \\
\hline
\end{DoxyParams}


Referenced by elm\+\_\+table\+\_\+pack\+\_\+set(), and elm\+\_\+table\+::pack\+\_\+set().

\index{Table@{Table}!elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+get@{elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+get}}
\index{elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+get@{elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+get}!Table@{Table}}
\subsubsection[{elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+get (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Coord $\ast$}]{horizontal, }
\item[{Evas\+\_\+\+Coord $\ast$}]{vertical}
\end{DoxyParamCaption}
)}\label{group__Table_gacf943a9b6682e60b7d2a1e6232db676e}


Get padding between cells. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em horizontal} & set the horizontal padding. \\
\hline
\mbox{\tt out}  & {\em vertical} & set the vertical padding. \\
\hline
\end{DoxyParams}


Referenced by elm\+\_\+table\+\_\+padding\+\_\+get().

\index{Table@{Table}!elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+set@{elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+set}}
\index{elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+set@{elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+set}!Table@{Table}}
\subsubsection[{elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+set (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Coord}]{horizontal, }
\item[{Evas\+\_\+\+Coord}]{vertical}
\end{DoxyParamCaption}
)}\label{group__Table_ga61c6078ea6985631aaa27213b4c2b8e8}


Set padding between cells. 

Default value is 0.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em horizontal} & set the horizontal padding. \\
\hline
\mbox{\tt in}  & {\em vertical} & set the vertical padding. \\
\hline
\end{DoxyParams}


Referenced by elm\+\_\+table\+\_\+padding\+\_\+set().

\index{Table@{Table}!elm\+\_\+obj\+\_\+table\+\_\+unpack@{elm\+\_\+obj\+\_\+table\+\_\+unpack}}
\index{elm\+\_\+obj\+\_\+table\+\_\+unpack@{elm\+\_\+obj\+\_\+table\+\_\+unpack}!Table@{Table}}
\subsubsection[{elm\+\_\+obj\+\_\+table\+\_\+unpack}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void elm\+\_\+obj\+\_\+table\+\_\+unpack (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{subobj}
\end{DoxyParamCaption}
)}\label{group__Table_gac29b6a07e544432fdecc610615b5ede6}


Remove child from table. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em subobj} & The subobject \\
\hline
\end{DoxyParams}


Referenced by elm\+\_\+table\+\_\+unpack(), and elm\+\_\+table\+::unpack().

\index{Table@{Table}!elm\+\_\+table\+\_\+add@{elm\+\_\+table\+\_\+add}}
\index{elm\+\_\+table\+\_\+add@{elm\+\_\+table\+\_\+add}!Table@{Table}}
\subsubsection[{elm\+\_\+table\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}Evas\+\_\+\+Object$\ast$ elm\+\_\+table\+\_\+add (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{parent}
\end{DoxyParamCaption}
)}\label{group__Table_gabb4d507c8b02acd001e998ae424335f4}


Add a new table to the parent. 


\begin{DoxyParams}{Parameters}
{\em parent} & The parent object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The new object or N\+U\+L\+L if it cannot be created 
\end{DoxyReturn}
\index{Table@{Table}!elm\+\_\+table\+\_\+clear@{elm\+\_\+table\+\_\+clear}}
\index{elm\+\_\+table\+\_\+clear@{elm\+\_\+table\+\_\+clear}!Table@{Table}}
\subsubsection[{elm\+\_\+table\+\_\+clear}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+\_\+clear (
\begin{DoxyParamCaption}
\item[{Eo $\ast$}]{obj, }
\item[{Eina\+\_\+\+Bool}]{clear}
\end{DoxyParamCaption}
)}\label{group__Table_ga4aa20e153d32ca5547dfd007ceabe397}


Faster way to remove all child objects from a table object. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em clear} & If true, will delete children, else just remove from table. \\
\hline
\end{DoxyParams}


References elm\+\_\+obj\+\_\+table\+\_\+clear().

\index{Table@{Table}!elm\+\_\+table\+\_\+homogeneous\+\_\+get@{elm\+\_\+table\+\_\+homogeneous\+\_\+get}}
\index{elm\+\_\+table\+\_\+homogeneous\+\_\+get@{elm\+\_\+table\+\_\+homogeneous\+\_\+get}!Table@{Table}}
\subsubsection[{elm\+\_\+table\+\_\+homogeneous\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Bool elm\+\_\+table\+\_\+homogeneous\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Eo $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__Table_ga79f9d7cadefc3e4f936c710e82e30f30}


Get the current table homogeneous mode. 

\begin{DoxyReturn}{Returns}
A boolean to indicating if the layout is homogeneous in the table (E\+I\+N\+A\+\_\+\+T\+R\+U\+E = homogeneous, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E = no homogeneous) 
\end{DoxyReturn}


References elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+get().

\index{Table@{Table}!elm\+\_\+table\+\_\+homogeneous\+\_\+set@{elm\+\_\+table\+\_\+homogeneous\+\_\+set}}
\index{elm\+\_\+table\+\_\+homogeneous\+\_\+set@{elm\+\_\+table\+\_\+homogeneous\+\_\+set}!Table@{Table}}
\subsubsection[{elm\+\_\+table\+\_\+homogeneous\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+\_\+homogeneous\+\_\+set (
\begin{DoxyParamCaption}
\item[{Eo $\ast$}]{obj, }
\item[{Eina\+\_\+\+Bool}]{homogeneous}
\end{DoxyParamCaption}
)}\label{group__Table_ga64e6d7d765fe9af912d922e789c32913}


Set the homogeneous layout in the table. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em homogeneous} & A boolean to set if the layout is homogeneous in the table (E\+I\+N\+A\+\_\+\+T\+R\+U\+E = homogeneous, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E = no homogeneous) \\
\hline
\end{DoxyParams}


References elm\+\_\+obj\+\_\+table\+\_\+homogeneous\+\_\+set().

\index{Table@{Table}!elm\+\_\+table\+\_\+pack@{elm\+\_\+table\+\_\+pack}}
\index{elm\+\_\+table\+\_\+pack@{elm\+\_\+table\+\_\+pack}!Table@{Table}}
\subsubsection[{elm\+\_\+table\+\_\+pack}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+\_\+pack (
\begin{DoxyParamCaption}
\item[{Eo $\ast$}]{obj, }
\item[{Evas\+\_\+\+Object $\ast$}]{subobj, }
\item[{int}]{column, }
\item[{int}]{row, }
\item[{int}]{colspan, }
\item[{int}]{rowspan}
\end{DoxyParamCaption}
)}\label{group__Table_ga898f5e6222a0eeaeaf044f4440eb26fd}


Add a subobject on the table with the coordinates passed. 

\begin{DoxyNote}{Note}
All positioning inside the table is relative to rows and columns, so a value of 0 for x and y, means the top left cell of the table, and a value of 1 for w and h means {\ttfamily subobj} only takes that 1 cell.
\end{DoxyNote}
Note that columns and rows only guarantee 16bit unsigned values at best. That means that col + colspan A\+N\+D row + rowspan must fit inside 16bit unsigned values cleanly. You will be warned once values exceed 15bit storage, and attempting to use values not able to fit in 16bits will result in failure.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em subobj} & The subobject to be added to the table \\
\hline
\mbox{\tt in}  & {\em column} & Column number \\
\hline
\mbox{\tt in}  & {\em row} & Row number \\
\hline
\mbox{\tt in}  & {\em colspan} & colspan \\
\hline
\mbox{\tt in}  & {\em rowspan} & rowspan \\
\hline
\end{DoxyParams}


References elm\+\_\+obj\+\_\+table\+\_\+pack().

\index{Table@{Table}!elm\+\_\+table\+\_\+pack\+\_\+get@{elm\+\_\+table\+\_\+pack\+\_\+get}}
\index{elm\+\_\+table\+\_\+pack\+\_\+get@{elm\+\_\+table\+\_\+pack\+\_\+get}!Table@{Table}}
\subsubsection[{elm\+\_\+table\+\_\+pack\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+\_\+pack\+\_\+get (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{subobj, }
\item[{int $\ast$}]{col, }
\item[{int $\ast$}]{row, }
\item[{int $\ast$}]{colspan, }
\item[{int $\ast$}]{rowspan}
\end{DoxyParamCaption}
)}\label{group__Table_ga76a90f70d22abe84c65ef3293c7450ee}


Get the packing location of an existing child of the table. 


\begin{DoxyParams}{Parameters}
{\em subobj} & The subobject to be modified in the table \\
\hline
{\em col} & Column number \\
\hline
{\em row} & Row number \\
\hline
{\em colspan} & colspan \\
\hline
{\em rowspan} & rowspan\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Table_gac4604f1d9855a680a240e4c5d9a85032}{elm\+\_\+table\+\_\+pack\+\_\+set()} 
\end{DoxySeeAlso}


References elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+get().

\index{Table@{Table}!elm\+\_\+table\+\_\+pack\+\_\+set@{elm\+\_\+table\+\_\+pack\+\_\+set}}
\index{elm\+\_\+table\+\_\+pack\+\_\+set@{elm\+\_\+table\+\_\+pack\+\_\+set}!Table@{Table}}
\subsubsection[{elm\+\_\+table\+\_\+pack\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+\_\+pack\+\_\+set (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{subobj, }
\item[{int}]{col, }
\item[{int}]{row, }
\item[{int}]{colspan, }
\item[{int}]{rowspan}
\end{DoxyParamCaption}
)}\label{group__Table_gac4604f1d9855a680a240e4c5d9a85032}


Set the packing location of an existing child of the table. 


\begin{DoxyParams}{Parameters}
{\em subobj} & The subobject to be modified in the table \\
\hline
{\em col} & Column number \\
\hline
{\em row} & Row number \\
\hline
{\em colspan} & colspan \\
\hline
{\em rowspan} & rowspan\\
\hline
\end{DoxyParams}
Modifies the position of an object already in the table.

\begin{DoxyNote}{Note}
All positioning inside the table is relative to rows and columns, so a value of 0 for col and row, means the top left cell of the table, and a value of 1 for colspan and rowspan means {\ttfamily subobj} only takes that 1 cell. 
\end{DoxyNote}


References elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+set().

\index{Table@{Table}!elm\+\_\+table\+\_\+padding\+\_\+get@{elm\+\_\+table\+\_\+padding\+\_\+get}}
\index{elm\+\_\+table\+\_\+padding\+\_\+get@{elm\+\_\+table\+\_\+padding\+\_\+get}!Table@{Table}}
\subsubsection[{elm\+\_\+table\+\_\+padding\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+\_\+padding\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Eo $\ast$}]{obj, }
\item[{Evas\+\_\+\+Coord $\ast$}]{horizontal, }
\item[{Evas\+\_\+\+Coord $\ast$}]{vertical}
\end{DoxyParamCaption}
)}\label{group__Table_gaa7f77bf70135c30b86a4e8bcda1cdf8e}


Get padding between cells. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em horizontal} & set the horizontal padding. \\
\hline
\mbox{\tt out}  & {\em vertical} & set the vertical padding. \\
\hline
\end{DoxyParams}


References elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+get().

\index{Table@{Table}!elm\+\_\+table\+\_\+padding\+\_\+set@{elm\+\_\+table\+\_\+padding\+\_\+set}}
\index{elm\+\_\+table\+\_\+padding\+\_\+set@{elm\+\_\+table\+\_\+padding\+\_\+set}!Table@{Table}}
\subsubsection[{elm\+\_\+table\+\_\+padding\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+\_\+padding\+\_\+set (
\begin{DoxyParamCaption}
\item[{Eo $\ast$}]{obj, }
\item[{Evas\+\_\+\+Coord}]{horizontal, }
\item[{Evas\+\_\+\+Coord}]{vertical}
\end{DoxyParamCaption}
)}\label{group__Table_gafa752964eec9a4605a3e71f6335784e3}


Set padding between cells. 

Default value is 0.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em horizontal} & set the horizontal padding. \\
\hline
\mbox{\tt in}  & {\em vertical} & set the vertical padding. \\
\hline
\end{DoxyParams}


References elm\+\_\+obj\+\_\+table\+\_\+padding\+\_\+set().

\index{Table@{Table}!elm\+\_\+table\+\_\+unpack@{elm\+\_\+table\+\_\+unpack}}
\index{elm\+\_\+table\+\_\+unpack@{elm\+\_\+table\+\_\+unpack}!Table@{Table}}
\subsubsection[{elm\+\_\+table\+\_\+unpack}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+\_\+unpack (
\begin{DoxyParamCaption}
\item[{Eo $\ast$}]{obj, }
\item[{Evas\+\_\+\+Object $\ast$}]{subobj}
\end{DoxyParamCaption}
)}\label{group__Table_ga47910f5882842ae18ff06d421553b5cf}


Remove child from table. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em subobj} & The subobject \\
\hline
\end{DoxyParams}


References elm\+\_\+obj\+\_\+table\+\_\+unpack().

\index{Table@{Table}!pack@{pack}}
\index{pack@{pack}!Table@{Table}}
\subsubsection[{pack}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+::pack (
\begin{DoxyParamCaption}
\item[{evas\+::object}]{subobj\+\_\+, }
\item[{int}]{column\+\_\+, }
\item[{int}]{row\+\_\+, }
\item[{int}]{colspan\+\_\+, }
\item[{int}]{rowspan\+\_\+}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Table_gad9c83dd1da8876da6007a0f98609bae1}


Add a subobject on the table with the coordinates passed. 

\begin{DoxyNote}{Note}
All positioning inside the table is relative to rows and columns, so a value of 0 for x and y, means the top left cell of the table, and a value of 1 for w and h means {\ttfamily subobj} only takes that 1 cell.
\end{DoxyNote}
Note that columns and rows only guarantee 16bit unsigned values at best. That means that col + colspan A\+N\+D row + rowspan must fit inside 16bit unsigned values cleanly. You will be warned once values exceed 15bit storage, and attempting to use values not able to fit in 16bits will result in failure.


\begin{DoxyParams}{Parameters}
{\em subobj} & The subobject to be added to the table \\
\hline
{\em column} & Column number \\
\hline
{\em row} & Row number \\
\hline
{\em colspan} & colspan \\
\hline
{\em rowspan} & rowspan \\
\hline
\end{DoxyParams}


References elm\+\_\+obj\+\_\+table\+\_\+pack().

\index{Table@{Table}!pack\+\_\+get@{pack\+\_\+get}}
\index{pack\+\_\+get@{pack\+\_\+get}!Table@{Table}}
\subsubsection[{pack\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+::pack\+\_\+get (
\begin{DoxyParamCaption}
\item[{evas\+::object}]{subobj\+\_\+, }
\item[{int $\ast$}]{column\+\_\+, }
\item[{int $\ast$}]{row\+\_\+, }
\item[{int $\ast$}]{colspan\+\_\+, }
\item[{int $\ast$}]{rowspan\+\_\+}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Table_ga153367f57effcb05ec771b3f239caa07}


Get the packing location of an existing child of the table. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Table_gac4604f1d9855a680a240e4c5d9a85032}{elm\+\_\+table\+\_\+pack\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}[1]{Parameters}
 & {\em subobj} & The subobject to be modified in the table \\
\hline
\mbox{\tt out}  & {\em column} & Column number \\
\hline
\mbox{\tt out}  & {\em row} & Row number \\
\hline
\mbox{\tt out}  & {\em colspan} & colspan \\
\hline
\mbox{\tt out}  & {\em rowspan} & rowspan \\
\hline
\end{DoxyParams}


References elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+get().

\index{Table@{Table}!pack\+\_\+set@{pack\+\_\+set}}
\index{pack\+\_\+set@{pack\+\_\+set}!Table@{Table}}
\subsubsection[{pack\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+::pack\+\_\+set (
\begin{DoxyParamCaption}
\item[{evas\+::object}]{subobj\+\_\+, }
\item[{int}]{column\+\_\+, }
\item[{int}]{row\+\_\+, }
\item[{int}]{colspan\+\_\+, }
\item[{int}]{rowspan\+\_\+}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Table_gaf0a6b5692ac112a76d5c626b376a922a}


Set the packing location of an existing child of the table. 

Modifies the position of an object already in the table.

\begin{DoxyNote}{Note}
All positioning inside the table is relative to rows and columns, so a value of 0 for col and row, means the top left cell of the table, and a value of 1 for colspan and rowspan means {\ttfamily subobj} only takes that 1 cell.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em subobj} & The subobject to be modified in the table \\
\hline
{\em column} & Column number \\
\hline
{\em row} & Row number \\
\hline
{\em colspan} & colspan \\
\hline
{\em rowspan} & rowspan \\
\hline
\end{DoxyParams}


References elm\+\_\+obj\+\_\+table\+\_\+pack\+\_\+set().

\index{Table@{Table}!unpack@{unpack}}
\index{unpack@{unpack}!Table@{Table}}
\subsubsection[{unpack}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+table\+::unpack (
\begin{DoxyParamCaption}
\item[{evas\+::object}]{subobj\+\_\+}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Table_gada02bfdbe5ba3ba4fd0b0a365fe9b0b2}


Remove child from table. 


\begin{DoxyParams}{Parameters}
{\em subobj} & The subobject \\
\hline
\end{DoxyParams}


References elm\+\_\+obj\+\_\+table\+\_\+unpack().

