\section{Gengrid (Generic grid)}
\label{group__Gengrid}\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structElm__Gen__Item__Class}{Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class} $\ast$ \hyperlink{group__Gengrid_ga9f1ce17fa9e54ceb525d7e02d9772ae8}{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+new} (void)
\begin{DoxyCompactList}\small\item\em Add a new gengrid item class in a given gengrid widget. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_ga360f537d18d0b0c16815baf2870c97ef}{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+free} (\hyperlink{structElm__Gen__Item__Class}{Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class} $\ast$itc)
\begin{DoxyCompactList}\small\item\em Remove an item class in a given gengrid widget. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_gaad30d01d88953cec71639118098d6900}{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+ref} (\hyperlink{structElm__Gen__Item__Class}{Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class} $\ast$itc)
\begin{DoxyCompactList}\small\item\em Increments object reference count for the item class. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_ga1d34dc9c2039d896a6392ba6e04ae9bc}{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+unref} (\hyperlink{structElm__Gen__Item__Class}{Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class} $\ast$itc)
\begin{DoxyCompactList}\small\item\em Decrements object reference count for the item class. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_gaf09f1a82091a9fec87d0ae6e2beb1e65}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+text\+\_\+set} (\hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it, const char $\ast$text)
\begin{DoxyCompactList}\small\item\em Set the text to be shown in a given gengrid item\textquotesingle{}s tooltips. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_gafde3ae0c1259cdb23d515ee7f22fd259}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set} (\hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it, \hyperlink{group__Tooltips_gacc2e2fe3da639611c4788fcd6b49a0a2}{Elm\+\_\+\+Tooltip\+\_\+\+Item\+\_\+\+Content\+\_\+\+Cb} func, const void $\ast$data, Evas\+\_\+\+Smart\+\_\+\+Cb del\+\_\+cb)
\begin{DoxyCompactList}\small\item\em Set the content to be shown in a given gengrid item\textquotesingle{}s tooltip. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_gae493c679dd8367551ffee0f5ec3786ba}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+unset} (\hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it)
\begin{DoxyCompactList}\small\item\em Unset a tooltip from a given gengrid item. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_gaab018d4ea4c9ae6c2c6260310b908a3b}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+set} (\hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it, const char $\ast$style)
\begin{DoxyCompactList}\small\item\em Set a different {\bfseries style} for a given gengrid item\textquotesingle{}s tooltip. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{group__Gengrid_gaee8bbc1394d6e978fa878551e14d76d7}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+get} (const \hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it)
\begin{DoxyCompactList}\small\item\em Get the style set a given gengrid item\textquotesingle{}s tooltip. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_ga2e8619ebf290ac003178d2ee414b6407}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+set} (\hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it, const char $\ast$cursor)
\begin{DoxyCompactList}\small\item\em Set the type of mouse pointer/cursor decoration to be shown, when the mouse pointer is over the given gengrid widget item. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{group__Gengrid_ga857d684a554eb7df2ad43b3363b8ceef}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+get} (const \hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it)
\begin{DoxyCompactList}\small\item\em Get the type of mouse pointer/cursor decoration set to be shown, when the mouse pointer is over the given gengrid widget item. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_gaa505724adbf477b39fb7df5eab225e34}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+unset} (\hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it)
\begin{DoxyCompactList}\small\item\em Unset any custom mouse pointer/cursor decoration set to be shown, when the mouse pointer is over the given gengrid widget item, thus making it show the {\bfseries default} cursor again. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_ga3eed6a7823e0942fde57a602e9c6d994}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+set} (\hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it, const char $\ast$style)
\begin{DoxyCompactList}\small\item\em Set a different {\bfseries style} for a given custom cursor set for a gengrid item. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{group__Gengrid_gacd48ad07d29933717a38aee9a22a062b}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+get} (const \hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it)
\begin{DoxyCompactList}\small\item\em Get the current {\bfseries style} set for a given gengrid item\textquotesingle{}s custom cursor. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_ga457aed9536086f8f5aefdafa3ad0ee07}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set} (\hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it, Eina\+\_\+\+Bool engine\+\_\+only)
\begin{DoxyCompactList}\small\item\em Set if the (custom) cursor for a given gengrid item should be searched in its theme, also, or should only rely on the rendering engine. \end{DoxyCompactList}\item 
Eina\+\_\+\+Bool \hyperlink{group__Gengrid_ga898c434977ce29cad0be2e42027c57f9}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get} (const \hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it)
\begin{DoxyCompactList}\small\item\em Get if the (custom) cursor for a given gengrid item is being searched in its theme, also, or is only relying on the rendering engine. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_gaca9e06b8d918dc034072efac9d32638e}{elm\+\_\+gengrid\+\_\+item\+\_\+pos\+\_\+get} (const \hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it, unsigned int $\ast$x, unsigned int $\ast$y)
\begin{DoxyCompactList}\small\item\em Get a given gengrid item\textquotesingle{}s position, relative to the whole gengrid\textquotesingle{}s grid area. \end{DoxyCompactList}\item 
void \hyperlink{group__Gengrid_gaac3cca8c12d72bfd0b860eb96f4a1fbe}{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+set} (\hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it, Elm\+\_\+\+Object\+\_\+\+Select\+\_\+\+Mode mode)
\begin{DoxyCompactList}\small\item\em Set the gengrid item\textquotesingle{}s select mode. \end{DoxyCompactList}\item 
Elm\+\_\+\+Object\+\_\+\+Select\+\_\+\+Mode \hyperlink{group__Gengrid_ga4497ab26f6211a13c3ec96a06b6abacb}{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+get} (const \hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it)
\begin{DoxyCompactList}\small\item\em Get the gengrid item\textquotesingle{}s select mode. \end{DoxyCompactList}\item 
Evas\+\_\+\+Object $\ast$ \hyperlink{group__Gengrid_ga9ab2e5b38433f1021c01d0f71397266c}{elm\+\_\+gengrid\+\_\+add} (Evas\+\_\+\+Object $\ast$parent)
\begin{DoxyCompactList}\small\item\em Add a new gengrid widget to the given parent Elementary (container) object. \end{DoxyCompactList}\item 
E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void \hyperlink{group__Gengrid_gacbeeb8474617c2dae73909abfca28e07}{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+set} (Evas\+\_\+\+Object $\ast$obj, Elm\+\_\+\+Scroller\+\_\+\+Policy policy\+\_\+h, Elm\+\_\+\+Scroller\+\_\+\+Policy policy\+\_\+v)
\begin{DoxyCompactList}\small\item\em Set the scrollbar policy. \end{DoxyCompactList}\item 
E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void \hyperlink{group__Gengrid_gab085c95f1f6f917bda6b95e939038011}{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+get} (const Evas\+\_\+\+Object $\ast$obj, Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$policy\+\_\+h, Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$policy\+\_\+v)
\begin{DoxyCompactList}\small\item\em Get the scrollbar policy. \end{DoxyCompactList}\item 
E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void \hyperlink{group__Gengrid_gaa577ac10e58ede2e69797ab97b77bc53}{elm\+\_\+gengrid\+\_\+bounce\+\_\+set} (Evas\+\_\+\+Object $\ast$obj, Eina\+\_\+\+Bool h\+\_\+bounce, Eina\+\_\+\+Bool v\+\_\+bounce)
\begin{DoxyCompactList}\small\item\em Enable or disable bouncing effect for a given gengrid widget. \end{DoxyCompactList}\item 
E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void \hyperlink{group__Gengrid_ga8ed5ac4acbf8f4dd303b067f1ac14ebb}{elm\+\_\+gengrid\+\_\+bounce\+\_\+get} (const Evas\+\_\+\+Object $\ast$obj, Eina\+\_\+\+Bool $\ast$h\+\_\+bounce, Eina\+\_\+\+Bool $\ast$v\+\_\+bounce)
\begin{DoxyCompactList}\small\item\em Get whether bouncing effects are enabled or disabled, for a given gengrid widget, on each axis. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
 
\begin{DoxyImageNoCaption}
  \mbox{\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{gengrid_inheritance_tree}}
\end{DoxyImageNoCaption}


This widget aims to position objects in a grid layout while actually creating and rendering only the visible ones, using the same idea as the \hyperlink{group__Genlist}{genlist}\+: the user defines a {\bfseries class} for each item, specifying functions that will be called at object creation, deletion, etc. When those items are selected by the user, a callback function is issued. Users may interact with a gengrid via the mouse (by clicking on items to select them and clicking on the grid\textquotesingle{}s viewport and swiping to pan the whole view) or via the keyboard, navigating through item with the arrow keys.

This widget inherits from the \hyperlink{group__Layout}{Layout} one, so that all the functions acting on it also work for gengrid objects.

This widget implements the {\bfseries }  elm-\/scrollable-\/interface interface, so that all (non-\/deprecated) functions for the base \hyperlink{group__Scroller}{Scroller} widget also work for gengrids.

Some calls on the gengrid\textquotesingle{}s A\+PI are marked as {\bfseries deprecated}, as they just wrap the scrollable widgets counterpart functions. Use the ones we point you to, for each case of deprecation here, instead -- eventually the deprecated ones will be discarded (next major release).\hypertarget{group__Gengrid_Gengrid_Layouts}{}\subsection{Gengrid layouts}\label{group__Gengrid_Gengrid_Layouts}
Gengrid may layout its items in one of two possible layouts\+:
\begin{DoxyItemize}
\item horizontal or
\item vertical.
\end{DoxyItemize}

When in \char`\"{}horizontal mode\char`\"{}, items will be placed in {\bfseries columns}, from top to bottom and, when the space for a column is filled, another one is started on the right, thus expanding the grid horizontally, making for horizontal scrolling. When in \char`\"{}vertical
mode\char`\"{} , though, items will be placed in {\bfseries rows}, from left to right and, when the space for a row is filled, another one is started below, thus expanding the grid vertically (and making for vertical scrolling).\hypertarget{group__Gengrid_Gengrid_Items}{}\subsection{Gengrid items}\label{group__Gengrid_Gengrid_Items}
An item in a gengrid can have 0 or more texts (they can be regular text or textblock Evas objects -\/ that\textquotesingle{}s up to the style to determine), 0 or more contents (which are simply objects swallowed into the gengrid item\textquotesingle{}s theming Edje object) and 0 or more {\bfseries boolean states}, which have the behavior left to the user to define. The Edje part names for each of these properties will be looked up, in the theme file for the gengrid, under the Edje (string) data items named {\ttfamily \char`\"{}texts\char`\"{}}, {\ttfamily \char`\"{}contents\char`\"{}} and {\ttfamily \char`\"{}states\char`\"{}}, respectively. For each of those properties, if more than one part is provided, they must have names listed separated by spaces in the data fields. For the default gengrid item theme, we have {\bfseries one} text part ({\ttfamily \char`\"{}elm.\+text\char`\"{}}), {\bfseries two} content parts ({\ttfamily \char`\"{}elm.\+swallow.\+icon\char`\"{}} and {\ttfamily \char`\"{}elm.\+swallow.\+end\char`\"{}}) and {\bfseries no} state parts.

A gengrid item may be at one of several styles. Elementary provides one by default -\/ \char`\"{}default\char`\"{}, but this can be extended by system or application custom themes/overlays/extensions (see \hyperlink{group__Theme}{themes} for more details).\hypertarget{group__Gengrid_Gengrid_Item_Class}{}\subsection{Gengrid item classes}\label{group__Gengrid_Gengrid_Item_Class}
In order to have the ability to add and delete items on the fly, gengrid implements a class (callback) system where the application provides a structure with information about that type of item (gengrid may contain multiple different items with different classes, states and styles). Gengrid will call the functions in this struct (methods) when an item is \char`\"{}realized\char`\"{} (i.\+e., created dynamically, while the user is scrolling the grid). All objects will simply be deleted when no longer needed with evas\+\_\+object\+\_\+del(). The \#\+Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class structure contains the following members\+:
\begin{DoxyItemize}
\item {\ttfamily item\+\_\+style} -\/ This is a constant string and simply defines the name of the item style. It {\bfseries must} be specified and the default should be {\ttfamily \char`\"{}default\char`\"{}}.
\item {\ttfamily func.\+text\+\_\+get} -\/ This function is called when an item object is actually created. The {\ttfamily data} parameter will point to the same data passed to elm\+\_\+gengrid\+\_\+item\+\_\+append() and related item creation functions. The {\ttfamily obj} parameter is the gengrid object itself, while the {\ttfamily part} one is the name string of one of the existing text parts in the Edje group implementing the item\textquotesingle{}s theme. This function {\bfseries must} return a strdup\textquotesingle{}()ed string, as the caller will free() it when done. See \#\+Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Text\+\_\+\+Get\+\_\+\+Cb.
\item {\ttfamily func.\+content\+\_\+get} -\/ This function is called when an item object is actually created. The {\ttfamily data} parameter will point to the same data passed to elm\+\_\+gengrid\+\_\+item\+\_\+append() and related item creation functions. The {\ttfamily obj} parameter is the gengrid object itself, while the {\ttfamily part} one is the name string of one of the existing (content) swallow parts in the Edje group implementing the item\textquotesingle{}s theme. It must return {\ttfamily N\+U\+LL}, when no content is desired, or a valid object handle, otherwise. The object will be deleted by the gengrid on its deletion or when the item is \char`\"{}unrealized\char`\"{}. See \#\+Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Content\+\_\+\+Get\+\_\+\+Cb.
\item {\ttfamily func.\+state\+\_\+get} -\/ This function is called when an item object is actually created. The {\ttfamily data} parameter will point to the same data passed to elm\+\_\+gengrid\+\_\+item\+\_\+append() and related item creation functions. The {\ttfamily obj} parameter is the gengrid object itself, while the {\ttfamily part} one is the name string of one of the state parts in the Edje group implementing the item\textquotesingle{}s theme. Return {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} for false/off or {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} for true/on. Gengrids will emit a signal to its theming Edje object with {\ttfamily \char`\"{}elm,state,xxx,active\char`\"{}} and {\ttfamily \char`\"{}elm\char`\"{}} as \char`\"{}emission\char`\"{} and \char`\"{}source\char`\"{} arguments, respectively, when the state is true (the default is false), where {\ttfamily xxx} is the name of the (state) part. See \#\+Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+State\+\_\+\+Get\+\_\+\+Cb.
\item {\ttfamily func.\+del} -\/ This is called when elm\+\_\+object\+\_\+item\+\_\+del() is called on an item or elm\+\_\+gengrid\+\_\+clear() is called on the gengrid. This is intended for use when gengrid items are deleted, so any data attached to the item (e.\+g. its data parameter on creation) can be deleted. See \#\+Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Del\+\_\+\+Cb.
\end{DoxyItemize}\hypertarget{group__Gengrid_Gengrid_Usage_Hints}{}\subsection{Usage hints}\label{group__Gengrid_Gengrid_Usage_Hints}
If the user wants to have multiple items selected at the same time, elm\+\_\+gengrid\+\_\+multi\+\_\+select\+\_\+set() will permit it. If the gengrid is single-\/selection only (the default), then elm\+\_\+gengrid\+\_\+select\+\_\+item\+\_\+get() will return the selected item or {\ttfamily N\+U\+LL}, if none is selected. If the gengrid is under multi-\/selection, then elm\+\_\+gengrid\+\_\+selected\+\_\+items\+\_\+get() will return a list (that is only valid as long as no items are modified (added, deleted, selected or unselected) of child items on a gengrid.

If an item changes (internal (boolean) state, text or content changes), then use elm\+\_\+gengrid\+\_\+item\+\_\+update() to have gengrid update the item with the new state. A gengrid will re-\/\char`\"{}realize\char`\"{} the item, thus calling the functions in the \#\+Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class set for that item.

To programmatically (un)select an item, use elm\+\_\+gengrid\+\_\+item\+\_\+selected\+\_\+set(). To get its selected state use elm\+\_\+gengrid\+\_\+item\+\_\+selected\+\_\+get(). To make an item disabled (unable to be selected and appear differently) use elm\+\_\+object\+\_\+item\+\_\+disabled\+\_\+set() to set this and elm\+\_\+object\+\_\+item\+\_\+disabled\+\_\+get() to get the disabled state.

Grid cells will only have their selection smart callbacks called when firstly getting selected. Any further clicks will do nothing, unless you enable the \char`\"{}always select mode\char`\"{}, with elm\+\_\+gengrid\+\_\+select\+\_\+mode\+\_\+set() as E\+L\+M\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+S\+E\+L\+E\+C\+T\+\_\+\+M\+O\+D\+E\+\_\+\+A\+L\+W\+A\+YS, thus making every click to issue selection callbacks. elm\+\_\+gengrid\+\_\+select\+\_\+mode\+\_\+set() as E\+L\+M\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+S\+E\+L\+E\+C\+T\+\_\+\+M\+O\+D\+E\+\_\+\+N\+O\+NE will turn off the ability to select items entirely in the widget and they will neither appear selected nor call the selection smart callbacks.

Remember that you can create new styles and add your own theme augmentation per application with \hyperlink{group__Theme_ga71d7575c05248a5c6d7ae3b525e964cc}{elm\+\_\+theme\+\_\+extension\+\_\+add()}. If you absolutely must have a specific style that overrides any theme the user or system sets up you can use \hyperlink{group__Theme_ga6c9e97741f3893e14508ec5e4410b4f0}{elm\+\_\+theme\+\_\+overlay\+\_\+add()} to add such a file.\hypertarget{group__Gengrid_Gengrid_Smart_Events}{}\subsection{Gengrid smart events}\label{group__Gengrid_Gengrid_Smart_Events}
This widget emits the following signals, besides the ones sent from Layout\+:
\begin{DoxyItemize}
\item {\ttfamily \char`\"{}activated\char`\"{}} -\/ The user has double-\/clicked or pressed (enter$\vert$return$\vert$spacebar) on an item. The {\ttfamily event\+\_\+info} parameter is the gengrid item that was activated.
\item {\ttfamily \char`\"{}pressed\char`\"{}} -\/ The user pressed the an item. The {\ttfamily event\+\_\+info} parameter is the item that was pressed.
\item {\ttfamily \char`\"{}released\char`\"{}} -\/ The user released the an item. The {\ttfamily event\+\_\+info} parameter is the item that was released.
\item {\ttfamily \char`\"{}clicked,double\char`\"{}} -\/ The user has double-\/clicked an item. The {\ttfamily event\+\_\+info} parameter is the gengrid item that was double-\/clicked.
\item {\ttfamily \char`\"{}clicked,right\char`\"{}} -\/ The user has right-\/clicked an item. The {\ttfamily event\+\_\+info} parameter is the item that was right-\/clicked. (since 1.\+13)
\item {\ttfamily \char`\"{}longpressed\char`\"{}} -\/ This is called when the item is pressed for a certain amount of time. By default it\textquotesingle{}s 1 second.
\item {\ttfamily \char`\"{}selected\char`\"{}} -\/ The user has made an item selected. The {\ttfamily event\+\_\+info} parameter is the gengrid item that was selected.
\item {\ttfamily \char`\"{}unselected\char`\"{}} -\/ The user has made an item unselected. The {\ttfamily event\+\_\+info} parameter is the gengrid item that was unselected.
\item {\ttfamily \char`\"{}realized\char`\"{}} -\/ This is called when the item in the gengrid has its implementing Evas object instantiated, de facto. {\ttfamily event\+\_\+info} is the gengrid item that was created.
\item {\ttfamily \char`\"{}unrealized\char`\"{}} -\/ This is called when the implementing Evas object for this item is deleted. {\ttfamily event\+\_\+info} is the gengrid item that was deleted.
\item {\ttfamily \char`\"{}changed\char`\"{}} -\/ Called when an item is added, removed, resized or moved and when the gengrid is resized or gets \char`\"{}horizontal\char`\"{} property changes.
\item {\ttfamily \char`\"{}scroll,anim,start\char`\"{}} -\/ This is called when scrolling animation has started.
\item {\ttfamily \char`\"{}scroll,anim,stop\char`\"{}} -\/ This is called when scrolling animation has stopped.
\item {\ttfamily \char`\"{}drag,start,up\char`\"{}} -\/ Called when the item in the gengrid has been dragged (not scrolled) up.
\item {\ttfamily \char`\"{}drag,start,down\char`\"{}} -\/ Called when the item in the gengrid has been dragged (not scrolled) down.
\item {\ttfamily \char`\"{}drag,start,left\char`\"{}} -\/ Called when the item in the gengrid has been dragged (not scrolled) left.
\item {\ttfamily \char`\"{}drag,start,right\char`\"{}} -\/ Called when the item in the gengrid has been dragged (not scrolled) right.
\item {\ttfamily \char`\"{}drag,stop\char`\"{}} -\/ Called when the item in the gengrid has stopped being dragged.
\item {\ttfamily \char`\"{}drag\char`\"{}} -\/ Called when the item in the gengrid is being dragged.
\item {\ttfamily \char`\"{}scroll\char`\"{}} -\/ called when the content has been scrolled (moved).
\item {\ttfamily \char`\"{}scroll,drag,start\char`\"{}} -\/ called when dragging the content has started.
\item {\ttfamily \char`\"{}scroll,drag,stop\char`\"{}} -\/ called when dragging the content has stopped.
\item {\ttfamily \char`\"{}scroll,page,changed\char`\"{}} -\/ called when the visible page has changed.
\item {\ttfamily \char`\"{}edge,top\char`\"{}} -\/ This is called when the gengrid is scrolled until the top edge.
\item {\ttfamily \char`\"{}edge,bottom\char`\"{}} -\/ This is called when the gengrid is scrolled until the bottom edge.
\item {\ttfamily \char`\"{}edge,left\char`\"{}} -\/ This is called when the gengrid is scrolled until the left edge.
\item {\ttfamily \char`\"{}edge,right\char`\"{}} -\/ This is called when the gengrid is scrolled until the right edge.
\item {\ttfamily \char`\"{}moved\char`\"{}} -\/ This is called when a gengrid item is moved by a user interaction in a reorder mode. The {\ttfamily event\+\_\+info} parameter is the item that was moved.
\item {\ttfamily \char`\"{}index,update\char`\"{}} -\/ This is called when a gengrid item index is changed. Note that this callback is called while each item is being realized.
\item {\ttfamily \char`\"{}highlighted\char`\"{}} -\/ an item in the list is highlighted. This is called when the user presses an item or keyboard selection is done so the item is physically highlighted. The {\ttfamily event\+\_\+info} parameter is the item that was highlighted.
\item {\ttfamily \char`\"{}unhighlighted\char`\"{}} -\/ an item in the list is unhighlighted. This is called when the user releases an item or keyboard selection is moved so the item is physically unhighlighted. The {\ttfamily event\+\_\+info} parameter is the item that was unhighlighted.
\item {\ttfamily \char`\"{}language,changed\char`\"{}} -\/ This is called when the program\textquotesingle{}s language is changed. Call the elm\+\_\+gengrid\+\_\+realized\+\_\+items\+\_\+update() if items text should be translated.
\item {\ttfamily \char`\"{}focused\char`\"{}} -\/ When the gengrid has received focus. (since 1.\+8)
\item {\ttfamily \char`\"{}unfocused\char`\"{}} -\/ When the gengrid has lost focus. (since 1.\+8)
\item {\ttfamily \char`\"{}item,focused\char`\"{}} -\/ When the gengrid item has received focus. (since 1.\+10)
\item {\ttfamily \char`\"{}item,unfocused\char`\"{}} -\/ When the gengrid item has lost focus. (since 1.\+10)
\item {\ttfamily \char`\"{}item,reorder,anim,start\char`\"{}} -\/ This is called when a gengrid item movement has just started by keys in reorder mode. The {\ttfamily event\+\_\+info} parameter is the item that is going to move. (since 1.\+10)
\item {\ttfamily \char`\"{}item,reorder,anim,stop\char`\"{}} -\/ This is called when a gengrid item movement just stopped in reorder mode. The {\ttfamily event\+\_\+info} parameter is the item that was moved. (since 1.\+10)
\end{DoxyItemize}

Supported elm\+\_\+object common A\+P\+Is \begin{DoxyItemize}
\item \hyperlink{group__General_ga1beada7edf5d714c0dba5459bcc993fc}{elm\+\_\+object\+\_\+signal\+\_\+emit()}\end{DoxyItemize}
Supported elm\+\_\+object\+\_\+item common A\+P\+Is \begin{DoxyItemize}
\item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+content\+\_\+get \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+text\+\_\+get \item elm\+\_\+object\+\_\+item\+\_\+disabled\+\_\+set \item elm\+\_\+object\+\_\+item\+\_\+disabled\+\_\+get \item elm\+\_\+object\+\_\+item\+\_\+del \item elm\+\_\+object\+\_\+item\+\_\+signal\+\_\+emit\end{DoxyItemize}
Unsupported elm\+\_\+object\+\_\+item common A\+P\+Is due to the gengrid concept. Gengrid fills content/text according to the appropriate callback functions. Please use elm\+\_\+gengrid\+\_\+item\+\_\+update() instead. \begin{DoxyItemize}
\item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+content\+\_\+set() \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+content\+\_\+unset() \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+text\+\_\+set()\end{DoxyItemize}
List of gengrid examples\+: \begin{DoxyItemize}
\item \hyperlink{gengrid_example}{Gengrid widget example} \end{DoxyItemize}


\subsection{Function Documentation}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+add@{elm\+\_\+gengrid\+\_\+add}}
\index{elm\+\_\+gengrid\+\_\+add@{elm\+\_\+gengrid\+\_\+add}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+add(\+Evas\+\_\+\+Object $\ast$parent)}{elm_gengrid_add(Evas_Object *parent)}}]{\setlength{\rightskip}{0pt plus 5cm}Evas\+\_\+\+Object$\ast$ elm\+\_\+gengrid\+\_\+add (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{parent}
\end{DoxyParamCaption}
)}\label{group__Gengrid_ga9ab2e5b38433f1021c01d0f71397266c}


Add a new gengrid widget to the given parent Elementary (container) object. 


\begin{DoxyParams}{Parameters}
{\em parent} & The parent object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new gengrid widget handle or {\ttfamily N\+U\+LL}, on errors
\end{DoxyReturn}
This function inserts a new gengrid widget on the canvas.

\begin{DoxySeeAlso}{See also}
elm\+\_\+gengrid\+\_\+item\+\_\+size\+\_\+set() 

elm\+\_\+gengrid\+\_\+group\+\_\+item\+\_\+size\+\_\+set() 

elm\+\_\+gengrid\+\_\+horizontal\+\_\+set() 

elm\+\_\+gengrid\+\_\+item\+\_\+append() 

elm\+\_\+object\+\_\+item\+\_\+del() 

elm\+\_\+gengrid\+\_\+clear() 
\end{DoxySeeAlso}


References elm\+\_\+label\+\_\+add(), and elm\+\_\+object\+\_\+style\+\_\+set().

\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+bounce\+\_\+get@{elm\+\_\+gengrid\+\_\+bounce\+\_\+get}}
\index{elm\+\_\+gengrid\+\_\+bounce\+\_\+get@{elm\+\_\+gengrid\+\_\+bounce\+\_\+get}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+bounce\+\_\+get(const Evas\+\_\+\+Object $\ast$obj, Eina\+\_\+\+Bool $\ast$h\+\_\+bounce, Eina\+\_\+\+Bool $\ast$v\+\_\+bounce)}{elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void elm\+\_\+gengrid\+\_\+bounce\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Evas\+\_\+\+Object $\ast$}]{obj, }
\item[{Eina\+\_\+\+Bool $\ast$}]{h\+\_\+bounce, }
\item[{Eina\+\_\+\+Bool $\ast$}]{v\+\_\+bounce}
\end{DoxyParamCaption}
)}\label{group__Gengrid_ga8ed5ac4acbf8f4dd303b067f1ac14ebb}


Get whether bouncing effects are enabled or disabled, for a given gengrid widget, on each axis. 


\begin{DoxyParams}{Parameters}
{\em obj} & The gengrid object \\
\hline
{\em h\+\_\+bounce} & Pointer to a variable where to store the horizontal bouncing flag. \\
\hline
{\em v\+\_\+bounce} & Pointer to a variable where to store the vertical bouncing flag.\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000092}{Deprecated}]Use \hyperlink{group__Scroller_gae74537077c42537037834d4d4bdae634}{elm\+\_\+scroller\+\_\+bounce\+\_\+get()} instead.\end{DoxyRefDesc}


\begin{DoxySeeAlso}{See also}
\hyperlink{group__Scroller_gae74537077c42537037834d4d4bdae634}{elm\+\_\+scroller\+\_\+bounce\+\_\+get()} 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+bounce\+\_\+set@{elm\+\_\+gengrid\+\_\+bounce\+\_\+set}}
\index{elm\+\_\+gengrid\+\_\+bounce\+\_\+set@{elm\+\_\+gengrid\+\_\+bounce\+\_\+set}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+bounce\+\_\+set(\+Evas\+\_\+\+Object $\ast$obj, Eina\+\_\+\+Bool h\+\_\+bounce, Eina\+\_\+\+Bool v\+\_\+bounce)}{elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void elm\+\_\+gengrid\+\_\+bounce\+\_\+set (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{obj, }
\item[{Eina\+\_\+\+Bool}]{h\+\_\+bounce, }
\item[{Eina\+\_\+\+Bool}]{v\+\_\+bounce}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gaa577ac10e58ede2e69797ab97b77bc53}


Enable or disable bouncing effect for a given gengrid widget. 


\begin{DoxyParams}{Parameters}
{\em obj} & The gengrid object \\
\hline
{\em h\+\_\+bounce} & {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}, to enable {\bfseries horizontal} bouncing, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} to disable it \\
\hline
{\em v\+\_\+bounce} & {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}, to enable {\bfseries vertical} bouncing, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} to disable it\\
\hline
\end{DoxyParams}
The bouncing effect occurs whenever one reaches the gengrid\textquotesingle{}s edge\textquotesingle{}s while panning it -- it will scroll past its limits a little bit and return to the edge again, in a animated for, automatically.

\begin{DoxyNote}{Note}
By default, gengrids have bouncing enabled on both axis
\end{DoxyNote}
\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000091}{Deprecated}]Use \hyperlink{group__Scroller_gae69101dbdb089598ca790c73bd9d7a42}{elm\+\_\+scroller\+\_\+bounce\+\_\+set()} instead.\end{DoxyRefDesc}


\begin{DoxySeeAlso}{See also}
\hyperlink{group__Scroller_gae69101dbdb089598ca790c73bd9d7a42}{elm\+\_\+scroller\+\_\+bounce\+\_\+set()} 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+free@{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+free}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+free@{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+free}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+free(\+Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class $\ast$itc)}{elm_gengrid_item_class_free(Elm_Gengrid_Item_Class *itc)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+free (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class} $\ast$}]{itc}
\end{DoxyParamCaption}
)}\label{group__Gengrid_ga360f537d18d0b0c16815baf2870c97ef}


Remove an item class in a given gengrid widget. 


\begin{DoxyParams}{Parameters}
{\em itc} & The itc to be removed.\\
\hline
\end{DoxyParams}
This removes item class from the gengrid widget. Whenever it has no more references to it, item class is going to be freed. Otherwise it just decreases its reference count.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_ga9f1ce17fa9e54ceb525d7e02d9772ae8}{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+new()} 

\hyperlink{group__Gengrid_gaad30d01d88953cec71639118098d6900}{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+ref()} 

\hyperlink{group__Gengrid_ga1d34dc9c2039d896a6392ba6e04ae9bc}{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+unref()} 
\end{DoxySeeAlso}


References elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+unref().



Referenced by elm\+\_\+fileselector\+\_\+sort\+\_\+method\+\_\+get(), and elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+unref().

\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+new@{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+new}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+new@{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+new}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+new(void)}{elm_gengrid_item_class_new(void)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class}$\ast$ elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+new (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__Gengrid_ga9f1ce17fa9e54ceb525d7e02d9772ae8}


Add a new gengrid item class in a given gengrid widget. 

\begin{DoxyReturn}{Returns}
New allocated a gengrid item class.
\end{DoxyReturn}
This adds gengrid item class for the gengrid widget. When adding an item, gengrid\+\_\+item\+\_\+\{append, prepend, insert\} function needs item class of the item. Given callback parameters are used at retrieving \{text, content\} of added item. Set as N\+U\+LL if it\textquotesingle{}s not used. If there\textquotesingle{}s no available memory, return can be N\+U\+LL.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_ga360f537d18d0b0c16815baf2870c97ef}{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+free()} 

elm\+\_\+gengrid\+\_\+item\+\_\+append() 
\end{DoxySeeAlso}


Referenced by elm\+\_\+fileselector\+\_\+sort\+\_\+method\+\_\+get().

\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+ref@{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+ref}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+ref@{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+ref}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+ref(\+Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class $\ast$itc)}{elm_gengrid_item_class_ref(Elm_Gengrid_Item_Class *itc)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+ref (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class} $\ast$}]{itc}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gaad30d01d88953cec71639118098d6900}


Increments object reference count for the item class. 


\begin{DoxyParams}{Parameters}
{\em itc} & The given item class object to reference\\
\hline
\end{DoxyParams}
This A\+PI just increases its reference count for item class management.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_ga1d34dc9c2039d896a6392ba6e04ae9bc}{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+unref()} 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+unref@{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+unref}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+unref@{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+unref}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+unref(\+Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class $\ast$itc)}{elm_gengrid_item_class_unref(Elm_Gengrid_Item_Class *itc)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+unref (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Gengrid\+\_\+\+Item\+\_\+\+Class} $\ast$}]{itc}
\end{DoxyParamCaption}
)}\label{group__Gengrid_ga1d34dc9c2039d896a6392ba6e04ae9bc}


Decrements object reference count for the item class. 


\begin{DoxyParams}{Parameters}
{\em itc} & The given item class object to reference\\
\hline
\end{DoxyParams}
This A\+PI just decreases its reference count for item class management. Reference count can\textquotesingle{}t be less than 0.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_gaad30d01d88953cec71639118098d6900}{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+ref()} 

\hyperlink{group__Gengrid_ga360f537d18d0b0c16815baf2870c97ef}{elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+free()} 
\end{DoxySeeAlso}


References elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+free().



Referenced by elm\+\_\+gengrid\+\_\+item\+\_\+class\+\_\+free().

\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get(const Elm\+\_\+\+Object\+\_\+\+Item $\ast$it)}{elm_gengrid_item_cursor_engine_only_get(const Elm_Object_Item *it)}}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Bool elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it}
\end{DoxyParamCaption}
)}\label{group__Gengrid_ga898c434977ce29cad0be2e42027c57f9}


Get if the (custom) cursor for a given gengrid item is being searched in its theme, also, or is only relying on the rendering engine. 


\begin{DoxyParams}{Parameters}
{\em it} & a gengrid item \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}, if cursors are being looked for only on those provided by the rendering engine, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} if they are being searched on the widget\textquotesingle{}s theme, as well.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_ga457aed9536086f8f5aefdafa3ad0ee07}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set()}, for more details 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set(\+Elm\+\_\+\+Object\+\_\+\+Item $\ast$it, Eina\+\_\+\+Bool engine\+\_\+only)}{elm_gengrid_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it, }
\item[{Eina\+\_\+\+Bool}]{engine\+\_\+only}
\end{DoxyParamCaption}
)}\label{group__Gengrid_ga457aed9536086f8f5aefdafa3ad0ee07}


Set if the (custom) cursor for a given gengrid item should be searched in its theme, also, or should only rely on the rendering engine. 


\begin{DoxyParams}{Parameters}
{\em it} & item with custom (custom) cursor already set on \\
\hline
{\em engine\+\_\+only} & Use {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} to have cursors looked for only on those provided by the rendering engine, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} to have them searched on the widget\textquotesingle{}s theme, as well.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
This call is of use only if you\textquotesingle{}ve set a custom cursor for gengrid items, with \hyperlink{group__Gengrid_ga2e8619ebf290ac003178d2ee414b6407}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+set()}.

By default, cursors will only be looked for between those provided by the rendering engine. 
\end{DoxyNote}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+get}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+get}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+get(const Elm\+\_\+\+Object\+\_\+\+Item $\ast$it)}{elm_gengrid_item_cursor_get(const Elm_Object_Item *it)}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it}
\end{DoxyParamCaption}
)}\label{group__Gengrid_ga857d684a554eb7df2ad43b3363b8ceef}


Get the type of mouse pointer/cursor decoration set to be shown, when the mouse pointer is over the given gengrid widget item. 


\begin{DoxyParams}{Parameters}
{\em it} & gengrid item with custom cursor set \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the cursor type\textquotesingle{}s name or {\ttfamily N\+U\+LL}, if no custom cursors were set to {\ttfamily item} (and on errors)
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Cursors_ga5f373305b277fbcdcbbb4845fe67477d}{elm\+\_\+object\+\_\+cursor\+\_\+get()} 

\hyperlink{group__Gengrid_ga2e8619ebf290ac003178d2ee414b6407}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+set()} for more details 

\hyperlink{group__Gengrid_gaa505724adbf477b39fb7df5eab225e34}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+unset()} 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+set}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+set}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+set(\+Elm\+\_\+\+Object\+\_\+\+Item $\ast$it, const char $\ast$cursor)}{elm_gengrid_item_cursor_set(Elm_Object_Item *it, const char *cursor)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it, }
\item[{const char $\ast$}]{cursor}
\end{DoxyParamCaption}
)}\label{group__Gengrid_ga2e8619ebf290ac003178d2ee414b6407}


Set the type of mouse pointer/cursor decoration to be shown, when the mouse pointer is over the given gengrid widget item. 


\begin{DoxyParams}{Parameters}
{\em it} & gengrid item to customize cursor on \\
\hline
{\em cursor} & the cursor type\textquotesingle{}s name\\
\hline
\end{DoxyParams}
This function works analogously as \hyperlink{group__Cursors_ga184fcbba5e5767af38018a14c91bd027}{elm\+\_\+object\+\_\+cursor\+\_\+set()}, but here the cursor\textquotesingle{}s changing area is restricted to the item\textquotesingle{}s area, and not the whole widget\textquotesingle{}s. Note that that item cursors have precedence over widget cursors, so that a mouse over {\ttfamily item} will always show cursor {\ttfamily type}.

If this function is called twice for an object, a previously set cursor will be unset on the second call.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Cursors_ga184fcbba5e5767af38018a14c91bd027}{elm\+\_\+object\+\_\+cursor\+\_\+set()} 

\hyperlink{group__Gengrid_ga857d684a554eb7df2ad43b3363b8ceef}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+get()} 

\hyperlink{group__Gengrid_gaa505724adbf477b39fb7df5eab225e34}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+unset()} 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+get}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+get}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+get(const Elm\+\_\+\+Object\+\_\+\+Item $\ast$it)}{elm_gengrid_item_cursor_style_get(const Elm_Object_Item *it)}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gacd48ad07d29933717a38aee9a22a062b}


Get the current {\bfseries style} set for a given gengrid item\textquotesingle{}s custom cursor. 


\begin{DoxyParams}{Parameters}
{\em it} & gengrid item with custom cursor set. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
style the cursor style in use. If the object does not have a cursor set, then {\ttfamily N\+U\+LL} is returned.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_ga3eed6a7823e0942fde57a602e9c6d994}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+set()} for more details 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+set}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+set}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+set(\+Elm\+\_\+\+Object\+\_\+\+Item $\ast$it, const char $\ast$style)}{elm_gengrid_item_cursor_style_set(Elm_Object_Item *it, const char *style)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it, }
\item[{const char $\ast$}]{style}
\end{DoxyParamCaption}
)}\label{group__Gengrid_ga3eed6a7823e0942fde57a602e9c6d994}


Set a different {\bfseries style} for a given custom cursor set for a gengrid item. 


\begin{DoxyParams}{Parameters}
{\em it} & gengrid item with custom cursor set \\
\hline
{\em style} & the {\bfseries theme style} to use (e.\+g. {\ttfamily \char`\"{}default\char`\"{}}, {\ttfamily \char`\"{}transparent\char`\"{}}, etc)\\
\hline
\end{DoxyParams}
This function only makes sense when one is using custom mouse cursor decorations {\bfseries defined in a theme file} , which can have, given a cursor name/type, {\bfseries alternate styles} on it. It works analogously as \hyperlink{group__Cursors_ga3ce9ab46838d54c86eb9aa55eef2f3e1}{elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+set()}, but here applied only to gengrid item objects.

\begin{DoxyWarning}{Warning}
Before you set a cursor style you should have defined a custom cursor previously on the item, with \hyperlink{group__Gengrid_ga2e8619ebf290ac003178d2ee414b6407}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+set()}
\end{DoxyWarning}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_ga457aed9536086f8f5aefdafa3ad0ee07}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set()} 

\hyperlink{group__Gengrid_gacd48ad07d29933717a38aee9a22a062b}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+style\+\_\+get()} 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+unset@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+unset}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+unset@{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+unset}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+unset(\+Elm\+\_\+\+Object\+\_\+\+Item $\ast$it)}{elm_gengrid_item_cursor_unset(Elm_Object_Item *it)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+unset (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gaa505724adbf477b39fb7df5eab225e34}


Unset any custom mouse pointer/cursor decoration set to be shown, when the mouse pointer is over the given gengrid widget item, thus making it show the {\bfseries default} cursor again. 


\begin{DoxyParams}{Parameters}
{\em it} & a gengrid item\\
\hline
\end{DoxyParams}
Use this call to undo any custom settings on this item\textquotesingle{}s cursor decoration, bringing it back to defaults (no custom style set).

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Cursors_ga1c97e902d92b738ddb6dda541ede562f}{elm\+\_\+object\+\_\+cursor\+\_\+unset()} 

\hyperlink{group__Gengrid_ga2e8619ebf290ac003178d2ee414b6407}{elm\+\_\+gengrid\+\_\+item\+\_\+cursor\+\_\+set()} for more details 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+pos\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+pos\+\_\+get}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+pos\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+pos\+\_\+get}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+pos\+\_\+get(const Elm\+\_\+\+Object\+\_\+\+Item $\ast$it, unsigned int $\ast$x, unsigned int $\ast$y)}{elm_gengrid_item_pos_get(const Elm_Object_Item *it, unsigned int *x, unsigned int *y)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+pos\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it, }
\item[{unsigned int $\ast$}]{x, }
\item[{unsigned int $\ast$}]{y}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gaca9e06b8d918dc034072efac9d32638e}


Get a given gengrid item\textquotesingle{}s position, relative to the whole gengrid\textquotesingle{}s grid area. 


\begin{DoxyParams}{Parameters}
{\em it} & The Gengrid item. \\
\hline
{\em x} & Pointer to variable to store the item\textquotesingle{}s {\bfseries row number}. \\
\hline
{\em y} & Pointer to variable to store the item\textquotesingle{}s {\bfseries column number}.\\
\hline
\end{DoxyParams}
This returns the \char`\"{}logical\char`\"{} position of the item within the gengrid. For example, {\ttfamily }(0, 1) would stand for first row, second column. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{gengrid_example_8c-example}{gengrid\+\_\+example.\+c}.\end{Desc}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+get}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+get}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+get(const Elm\+\_\+\+Object\+\_\+\+Item $\ast$it)}{elm_gengrid_item_select_mode_get(const Elm_Object_Item *it)}}]{\setlength{\rightskip}{0pt plus 5cm}Elm\+\_\+\+Object\+\_\+\+Select\+\_\+\+Mode elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it}
\end{DoxyParamCaption}
)}\label{group__Gengrid_ga4497ab26f6211a13c3ec96a06b6abacb}


Get the gengrid item\textquotesingle{}s select mode. 


\begin{DoxyParams}{Parameters}
{\em it} & The gengrid item object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The select mode (If getting mode is failed, it returns E\+L\+M\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+S\+E\+L\+E\+C\+T\+\_\+\+M\+O\+D\+E\+\_\+\+M\+AX)
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_gaac3cca8c12d72bfd0b860eb96f4a1fbe}{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+set()} 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+set}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+set}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+set(\+Elm\+\_\+\+Object\+\_\+\+Item $\ast$it, Elm\+\_\+\+Object\+\_\+\+Select\+\_\+\+Mode mode)}{elm_gengrid_item_select_mode_set(Elm_Object_Item *it, Elm_Object_Select_Mode mode)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it, }
\item[{Elm\+\_\+\+Object\+\_\+\+Select\+\_\+\+Mode}]{mode}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gaac3cca8c12d72bfd0b860eb96f4a1fbe}


Set the gengrid item\textquotesingle{}s select mode. 


\begin{DoxyParams}{Parameters}
{\em it} & The gengrid item object \\
\hline
{\em mode} & The select mode\\
\hline
\end{DoxyParams}
elm\+\_\+gengrid\+\_\+select\+\_\+mode\+\_\+set() changes item\textquotesingle{}s select mode.
\begin{DoxyItemize}
\item E\+L\+M\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+S\+E\+L\+E\+C\+T\+\_\+\+M\+O\+D\+E\+\_\+\+D\+E\+F\+A\+U\+LT \+: The item will only call their selection func and callback when first becoming selected. Any further clicks will do nothing, unless you set always select mode.
\item E\+L\+M\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+S\+E\+L\+E\+C\+T\+\_\+\+M\+O\+D\+E\+\_\+\+A\+L\+W\+A\+YS \+: This means that, even if selected, every click will make the selected callbacks be called.
\item E\+L\+M\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+S\+E\+L\+E\+C\+T\+\_\+\+M\+O\+D\+E\+\_\+\+N\+O\+NE \+: This will turn off the ability to select the item entirely and they will neither appear selected nor call selected callback functions.
\item E\+L\+M\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+S\+E\+L\+E\+C\+T\+\_\+\+M\+O\+D\+E\+\_\+\+D\+I\+S\+P\+L\+A\+Y\+\_\+\+O\+N\+LY \+: This will apply no-\/finger-\/size rule with E\+L\+M\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+S\+E\+L\+E\+C\+T\+\_\+\+M\+O\+D\+E\+\_\+\+N\+O\+NE. No-\/finger-\/size rule makes an item can be smaller than lower limit. Clickable objects should be bigger than human touch point device (your finger) for some touch or small screen devices. So it is enabled, the item can be shrink than predefined finger-\/size value. And the item will be updated.
\end{DoxyItemize}

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_ga4497ab26f6211a13c3ec96a06b6abacb}{elm\+\_\+gengrid\+\_\+item\+\_\+select\+\_\+mode\+\_\+get()} 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set(\+Elm\+\_\+\+Object\+\_\+\+Item $\ast$it, Elm\+\_\+\+Tooltip\+\_\+\+Item\+\_\+\+Content\+\_\+\+Cb func, const void $\ast$data, Evas\+\_\+\+Smart\+\_\+\+Cb del\+\_\+cb)}{elm_gengrid_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it, }
\item[{{\bf Elm\+\_\+\+Tooltip\+\_\+\+Item\+\_\+\+Content\+\_\+\+Cb}}]{func, }
\item[{const void $\ast$}]{data, }
\item[{Evas\+\_\+\+Smart\+\_\+\+Cb}]{del\+\_\+cb}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gafde3ae0c1259cdb23d515ee7f22fd259}


Set the content to be shown in a given gengrid item\textquotesingle{}s tooltip. 


\begin{DoxyParams}{Parameters}
{\em it} & The gengrid item. \\
\hline
{\em func} & The function returning the tooltip contents. \\
\hline
{\em data} & What to provide to {\itshape func} as callback data/context. \\
\hline
{\em del\+\_\+cb} & Called when data is not needed anymore, either when another callback replaces {\ttfamily func}, the tooltip is unset with \hyperlink{group__Gengrid_gae493c679dd8367551ffee0f5ec3786ba}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+unset()} or the owner {\ttfamily item} dies. This callback receives as its first parameter the given {\ttfamily data}, being {\ttfamily event\+\_\+info} the item handle.\\
\hline
\end{DoxyParams}
This call will setup the tooltip\textquotesingle{}s contents to {\ttfamily item} (analogous to \hyperlink{group__Tooltips_ga162248c0ccf5f9d79f6363d47c64c986}{elm\+\_\+object\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set()}, but being item tooltips with higher precedence than object tooltips). It can have only one tooltip at a time, so any previous tooltip content will get removed. {\ttfamily func} (with {\ttfamily data}) will be called every time Elementary needs to show the tooltip and it should return a valid Evas object, which will be fully managed by the tooltip system, getting deleted when the tooltip is gone.

In order to set just a text as a tooltip, look at \hyperlink{group__Gengrid_gaf09f1a82091a9fec87d0ae6e2beb1e65}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+text\+\_\+set()}. 

Referenced by elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+text\+\_\+set().

\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+get}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+get@{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+get}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+get(const Elm\+\_\+\+Object\+\_\+\+Item $\ast$it)}{elm_gengrid_item_tooltip_style_get(const Elm_Object_Item *it)}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gaee8bbc1394d6e978fa878551e14d76d7}


Get the style set a given gengrid item\textquotesingle{}s tooltip. 


\begin{DoxyParams}{Parameters}
{\em it} & gengrid item with tooltip already set on. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
style the theme style in use, which defaults to \char`\"{}default\char`\"{}. If the object does not have a tooltip set, then {\ttfamily N\+U\+LL} is returned.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_gaab018d4ea4c9ae6c2c6260310b908a3b}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+set()} for more details 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+set}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+set}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+set(\+Elm\+\_\+\+Object\+\_\+\+Item $\ast$it, const char $\ast$style)}{elm_gengrid_item_tooltip_style_set(Elm_Object_Item *it, const char *style)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it, }
\item[{const char $\ast$}]{style}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gaab018d4ea4c9ae6c2c6260310b908a3b}


Set a different {\bfseries style} for a given gengrid item\textquotesingle{}s tooltip. 


\begin{DoxyParams}{Parameters}
{\em it} & gengrid item with tooltip set \\
\hline
{\em style} & the {\bfseries theme style} to use on tooltips (e.\+g. {\ttfamily \char`\"{}default\char`\"{}}, {\ttfamily \char`\"{}transparent\char`\"{}}, etc)\\
\hline
\end{DoxyParams}
Tooltips can have {\bfseries alternate styles} to be displayed on, which are defined by the theme set on Elementary. This function works analogously as \hyperlink{group__Tooltips_gaeda013d8330b2d394155b809f77869d6}{elm\+\_\+object\+\_\+tooltip\+\_\+style\+\_\+set()}, but here applied only to gengrid item objects. The default style for tooltips is {\ttfamily \char`\"{}default\char`\"{}}.

\begin{DoxyNote}{Note}
before you set a style you should define a tooltip with \hyperlink{group__Gengrid_gafde3ae0c1259cdb23d515ee7f22fd259}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set()} or \hyperlink{group__Gengrid_gaf09f1a82091a9fec87d0ae6e2beb1e65}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+text\+\_\+set()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_gaee8bbc1394d6e978fa878551e14d76d7}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+style\+\_\+get()} 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+text\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+text\+\_\+set}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+text\+\_\+set@{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+text\+\_\+set}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+text\+\_\+set(\+Elm\+\_\+\+Object\+\_\+\+Item $\ast$it, const char $\ast$text)}{elm_gengrid_item_tooltip_text_set(Elm_Object_Item *it, const char *text)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+text\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it, }
\item[{const char $\ast$}]{text}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gaf09f1a82091a9fec87d0ae6e2beb1e65}


Set the text to be shown in a given gengrid item\textquotesingle{}s tooltips. 


\begin{DoxyParams}{Parameters}
{\em it} & The gengrid item \\
\hline
{\em text} & The text to set in the content\\
\hline
\end{DoxyParams}
This call will setup the text to be used as tooltip to that item (analogous to \hyperlink{group__Tooltips_ga0a85fa92cd8ddcf9e7fdd13aac978af1}{elm\+\_\+object\+\_\+tooltip\+\_\+text\+\_\+set()}, but being item tooltips with higher precedence than object tooltips). It can have only one tooltip at a time, so any previous tooltip data will get removed.

In order to set a content or something else as a tooltip, look at \hyperlink{group__Gengrid_gafde3ae0c1259cdb23d515ee7f22fd259}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set()}. 

References elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set().

\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+unset@{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+unset}}
\index{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+unset@{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+unset}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+unset(\+Elm\+\_\+\+Object\+\_\+\+Item $\ast$it)}{elm_gengrid_item_tooltip_unset(Elm_Object_Item *it)}}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+unset (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gae493c679dd8367551ffee0f5ec3786ba}


Unset a tooltip from a given gengrid item. 


\begin{DoxyParams}{Parameters}
{\em it} & gengrid item to remove a previously set tooltip from.\\
\hline
\end{DoxyParams}
This call removes any tooltip set on {\ttfamily item}. The callback provided as {\ttfamily del\+\_\+cb} to \hyperlink{group__Gengrid_gafde3ae0c1259cdb23d515ee7f22fd259}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set()} will be called to notify it is not used anymore (and have resources cleaned, if need be).

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Gengrid_gafde3ae0c1259cdb23d515ee7f22fd259}{elm\+\_\+gengrid\+\_\+item\+\_\+tooltip\+\_\+content\+\_\+cb\+\_\+set()} 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+get@{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+get}}
\index{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+get@{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+get}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+get(const Evas\+\_\+\+Object $\ast$obj, Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$policy\+\_\+h, Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$policy\+\_\+v)}{elm_gengrid_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Evas\+\_\+\+Object $\ast$}]{obj, }
\item[{Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$}]{policy\+\_\+h, }
\item[{Elm\+\_\+\+Scroller\+\_\+\+Policy $\ast$}]{policy\+\_\+v}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gab085c95f1f6f917bda6b95e939038011}


Get the scrollbar policy. 


\begin{DoxyParams}{Parameters}
{\em obj} & The gengrid object \\
\hline
{\em policy\+\_\+h} & Pointer to store the horizontal scrollbar policy. \\
\hline
{\em policy\+\_\+v} & Pointer to store the vertical scrollbar policy.\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000090}{Deprecated}]Use \hyperlink{group__Scroller_gae5d37ebf0a5540326b2b56ae41f24c97}{elm\+\_\+scroller\+\_\+policy\+\_\+get()} instead.\end{DoxyRefDesc}


\begin{DoxySeeAlso}{See also}
\hyperlink{group__Scroller_gae5d37ebf0a5540326b2b56ae41f24c97}{elm\+\_\+scroller\+\_\+policy\+\_\+get()}

\hyperlink{group__Gengrid_gacbeeb8474617c2dae73909abfca28e07}{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+set()} 
\end{DoxySeeAlso}
\index{Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}!elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+set@{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+set}}
\index{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+set@{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+set}!Gengrid (\+Generic grid)@{Gengrid (\+Generic grid)}}
\subsubsection[{\texorpdfstring{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+set(\+Evas\+\_\+\+Object $\ast$obj, Elm\+\_\+\+Scroller\+\_\+\+Policy policy\+\_\+h, Elm\+\_\+\+Scroller\+\_\+\+Policy policy\+\_\+v)}{elm_gengrid_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+set (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{obj, }
\item[{Elm\+\_\+\+Scroller\+\_\+\+Policy}]{policy\+\_\+h, }
\item[{Elm\+\_\+\+Scroller\+\_\+\+Policy}]{policy\+\_\+v}
\end{DoxyParamCaption}
)}\label{group__Gengrid_gacbeeb8474617c2dae73909abfca28e07}


Set the scrollbar policy. 


\begin{DoxyParams}{Parameters}
{\em obj} & The gengrid object \\
\hline
{\em policy\+\_\+h} & Horizontal scrollbar policy. \\
\hline
{\em policy\+\_\+v} & Vertical scrollbar policy.\\
\hline
\end{DoxyParams}
This sets the scrollbar visibility policy for the given gengrid scroller. \#\+E\+L\+M\+\_\+\+S\+C\+R\+O\+L\+L\+E\+R\+\_\+\+P\+O\+L\+I\+C\+Y\+\_\+\+A\+U\+TO means the scrollbar is made visible if it is needed, and otherwise kept hidden. \#\+E\+L\+M\+\_\+\+S\+C\+R\+O\+L\+L\+E\+R\+\_\+\+P\+O\+L\+I\+C\+Y\+\_\+\+ON turns it on all the time, and \#\+E\+L\+M\+\_\+\+S\+C\+R\+O\+L\+L\+E\+R\+\_\+\+P\+O\+L\+I\+C\+Y\+\_\+\+O\+FF always keeps it off. This applies respectively for the horizontal and vertical scrollbars. Default is \#\+E\+L\+M\+\_\+\+S\+C\+R\+O\+L\+L\+E\+R\+\_\+\+P\+O\+L\+I\+C\+Y\+\_\+\+A\+U\+TO.

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000089}{Deprecated}]Use \hyperlink{group__Scroller_ga4105c0d6adca64ed3d38e7e4116b09e4}{elm\+\_\+scroller\+\_\+policy\+\_\+set()} instead.\end{DoxyRefDesc}


\begin{DoxySeeAlso}{See also}
\hyperlink{group__Scroller_ga4105c0d6adca64ed3d38e7e4116b09e4}{elm\+\_\+scroller\+\_\+policy\+\_\+set()}

\hyperlink{group__Gengrid_gab085c95f1f6f917bda6b95e939038011}{elm\+\_\+gengrid\+\_\+scroller\+\_\+policy\+\_\+get()} 
\end{DoxySeeAlso}
