\section{Naviframe}
\label{group__Naviframe}\index{Naviframe@{Naviframe}}


Naviframe stands for navigation frame. It\textquotesingle{}s a views manager for applications.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
Evas\+\_\+\+Object $\ast$ \hyperlink{group__Naviframe_gae58fd808eabae52ac15a03f8c7ec3d96}{elm\+\_\+naviframe\+\_\+add} (Evas\+\_\+\+Object $\ast$parent)
\begin{DoxyCompactList}\small\item\em Add a new Naviframe object to the parent. \end{DoxyCompactList}\item 
E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void \hyperlink{group__Naviframe_gaf43db4d3afca1b73edb4f00eee614ed1}{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+set} (\hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it, Eina\+\_\+\+Bool visible)
\begin{DoxyCompactList}\small\item\em Show/\+Hide the title area. \end{DoxyCompactList}\item 
E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED Eina\+\_\+\+Bool \hyperlink{group__Naviframe_gaeb876818cb70d1c1a9caf83367c2e286}{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+get} (const \hyperlink{group__General_ga13a0c231414b86e62f68afe3c6fb462b}{Elm\+\_\+\+Object\+\_\+\+Item} $\ast$it)
\begin{DoxyCompactList}\small\item\em Get a value whether title area is visible or not. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Naviframe stands for navigation frame. It\textquotesingle{}s a views manager for applications. 

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


A naviframe holds views (or pages) as its items. Those items are organized in a stack, so that new items get pushed on top of the old, and only the topmost view is displayed at one time. Due to the characteristics of a stack, even though you push a new item, previous item is not deleted. Previous item will be shown when you pop new item. The transition between views is animated, depending on the theme applied to the widget.

Naviframe views hold spaces to various elements, which are\+:
\begin{DoxyItemize}
\item back button, used to navigate to previous views,
\item next button, used to navigate to next views in the stack,
\item title label,
\item sub-\/title label,
\item title icon and
\item content area.
\end{DoxyItemize}

One can use elm\+\_\+object\+\_\+item\+\_\+part\+\_\+content\+\_\+set, elm\+\_\+object\+\_\+item\+\_\+part\+\_\+content\+\_\+get, elm\+\_\+object\+\_\+item\+\_\+part\+\_\+content\+\_\+unset functions to handle the contents. The swallow part name should be one of these\+: \begin{DoxyItemize}
\item {\ttfamily \char`\"{}default\char`\"{}} -\/ The main content of the current page \item {\ttfamily \char`\"{}icon\char`\"{}} -\/ An icon in the title area of the current page \item {\ttfamily \char`\"{}prev\+\_\+btn\char`\"{}} -\/ A button of the current page to go to the previous page \item {\ttfamily \char`\"{}next\+\_\+btn\char`\"{}} -\/ A button of the current page to go to the next page\end{DoxyItemize}
One can use elm\+\_\+object\+\_\+item\+\_\+part\+\_\+text\+\_\+set, elm\+\_\+object\+\_\+item\+\_\+part\+\_\+text\+\_\+get to handle the text parts. The swallow part name should be one of these\+: \begin{DoxyItemize}
\item {\ttfamily \char`\"{}default\char`\"{}} -\/ A title label in the title area of the current page \item {\ttfamily \char`\"{}subtitle\char`\"{}} -\/ A sub-\/title label in the title area of the current page\end{DoxyItemize}
Most of those content objects can be passed at the time of an item creation (see elm\+\_\+naviframe\+\_\+item\+\_\+push()).

Naviframe items can have different styles, which affect the transition between views, for example. On the default theme, two of them are supported\+:
\begin{DoxyItemize}
\item {\ttfamily \char`\"{}basic\char`\"{}} -\/ views are switched sliding horizontally, one after the other
\item {\ttfamily \char`\"{}overlap\char`\"{}} -\/ like the previous one, but the previous view stays at its place and is overlapped by the new
\end{DoxyItemize}

This widget emits the following signals, besides the ones sent from Layout\+: \begin{DoxyItemize}
\item {\ttfamily \char`\"{}transition,finished\char`\"{}} -\/ When the transition is finished in changing the item \item {\ttfamily \char`\"{}title,transition,finished\char`\"{}} -\/ When the title area\textquotesingle{}s transition is finished in changing the state of the title \item {\ttfamily \char`\"{}title,clicked\char`\"{}} -\/ User clicked title area \item {\ttfamily \char`\"{}focused\char`\"{}} -\/ When the naviframe has received focus. (since 1.\+8) \item {\ttfamily \char`\"{}unfocused\char`\"{}} -\/ When the naviframe has lost focus. (since 1.\+8) \item {\ttfamily \char`\"{}language,changed\char`\"{}} -\/ the program\textquotesingle{}s language changed (since 1.\+9)\end{DoxyItemize}
All the parts, for content and text, described here will also be reachable by naviframe {\bfseries items} direct calls\+: \begin{DoxyItemize}
\item elm\+\_\+object\+\_\+item\+\_\+del \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+text\+\_\+set \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+text\+\_\+get \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+content\+\_\+set \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+content\+\_\+get \item elm\+\_\+object\+\_\+item\+\_\+part\+\_\+content\+\_\+unset \item elm\+\_\+object\+\_\+item\+\_\+signal\+\_\+emit\end{DoxyItemize}
What happens is that the topmost item of a naviframe will be the widget\textquotesingle{}s target layout, when accessed directly. Items lying below the top one can be interacted with this way.

Here is an example on its usage\+: \begin{DoxyItemize}
\item naviframe\+\_\+example \end{DoxyItemize}


\subsection{Function Documentation}
\index{Naviframe@{Naviframe}!elm\+\_\+naviframe\+\_\+add@{elm\+\_\+naviframe\+\_\+add}}
\index{elm\+\_\+naviframe\+\_\+add@{elm\+\_\+naviframe\+\_\+add}!Naviframe@{Naviframe}}
\subsubsection[{\texorpdfstring{elm\+\_\+naviframe\+\_\+add(\+Evas\+\_\+\+Object $\ast$parent)}{elm_naviframe_add(Evas_Object *parent)}}]{\setlength{\rightskip}{0pt plus 5cm}Evas\+\_\+\+Object$\ast$ elm\+\_\+naviframe\+\_\+add (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{parent}
\end{DoxyParamCaption}
)}\label{group__Naviframe_gae58fd808eabae52ac15a03f8c7ec3d96}


Add a new Naviframe object to the parent. 


\begin{DoxyParams}{Parameters}
{\em parent} & Parent object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
New object or {\ttfamily N\+U\+LL}, if it cannot be created 
\end{DoxyReturn}


References elm\+\_\+object\+\_\+focus\+\_\+allow\+\_\+get(), elm\+\_\+object\+\_\+focus\+\_\+set(), and elm\+\_\+object\+\_\+signal\+\_\+emit().

\index{Naviframe@{Naviframe}!elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+get@{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+get}}
\index{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+get@{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+get}!Naviframe@{Naviframe}}
\subsubsection[{\texorpdfstring{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+get(const Elm\+\_\+\+Object\+\_\+\+Item $\ast$it)}{elm_naviframe_item_title_visible_get(const Elm_Object_Item *it)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED Eina\+\_\+\+Bool elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it}
\end{DoxyParamCaption}
)}\label{group__Naviframe_gaeb876818cb70d1c1a9caf83367c2e286}


Get a value whether title area is visible or not. 


\begin{DoxyParams}{Parameters}
{\em it} & The naviframe item \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}, title area is visible
\end{DoxyReturn}
\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000028}{Deprecated}]Use elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+enabled\+\_\+get() instead.\end{DoxyRefDesc}


\begin{DoxySeeAlso}{See also}
also \hyperlink{group__Naviframe_gaf43db4d3afca1b73edb4f00eee614ed1}{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+set()} 
\end{DoxySeeAlso}
\index{Naviframe@{Naviframe}!elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+set@{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+set}}
\index{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+set@{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+set}!Naviframe@{Naviframe}}
\subsubsection[{\texorpdfstring{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+set(\+Elm\+\_\+\+Object\+\_\+\+Item $\ast$it, Eina\+\_\+\+Bool visible)}{elm_naviframe_item_title_visible_set(Elm_Object_Item *it, Eina_Bool visible)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED void elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Object\+\_\+\+Item} $\ast$}]{it, }
\item[{Eina\+\_\+\+Bool}]{visible}
\end{DoxyParamCaption}
)}\label{group__Naviframe_gaf43db4d3afca1b73edb4f00eee614ed1}


Show/\+Hide the title area. 


\begin{DoxyParams}{Parameters}
{\em it} & The naviframe item \\
\hline
{\em visible} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}, title area will be visible, hidden otherwise\\
\hline
\end{DoxyParams}
When the title area is invisible, then the controls would be hidden so as to expand the content area to full-\/size.

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000027}{Deprecated}]Use elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+enabled\+\_\+set() instead.\end{DoxyRefDesc}


\begin{DoxySeeAlso}{See also}
also \hyperlink{group__Naviframe_gaeb876818cb70d1c1a9caf83367c2e286}{elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+visible\+\_\+get()} 

also elm\+\_\+naviframe\+\_\+item\+\_\+title\+\_\+enabled\+\_\+get() 
\end{DoxySeeAlso}
