2011-12-29 23:20:48 -08:00
|
|
|
/**
|
|
|
|
* @defgroup Naviframe Naviframe
|
|
|
|
* @ingroup Elementary
|
|
|
|
*
|
2012-06-05 15:41:21 -07:00
|
|
|
* @image html naviframe_inheritance_tree.png
|
|
|
|
* @image latex naviframe_inheritance_tree.eps
|
|
|
|
*
|
2012-06-01 14:56:09 -07:00
|
|
|
* @brief Naviframe stands for navigation frame. It's a views manager
|
|
|
|
* for applications.
|
2011-12-29 23:20:48 -08:00
|
|
|
*
|
2012-06-01 14:56:09 -07:00
|
|
|
* 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. The
|
|
|
|
* transition between views is animated, depending on the theme
|
|
|
|
* applied to the widget.
|
2011-12-29 23:20:48 -08:00
|
|
|
*
|
2012-06-01 14:56:09 -07:00
|
|
|
* Naviframe views hold spaces to various elements, which are:
|
|
|
|
* - back button, used to navigate to previous views,
|
|
|
|
* - next button, used to navigate to next views in the stack,
|
|
|
|
* - title label,
|
|
|
|
* - sub-title label,
|
|
|
|
* - title icon and
|
|
|
|
* - content area.
|
2012-03-28 02:02:22 -07:00
|
|
|
*
|
2012-06-01 14:56:09 -07:00
|
|
|
* This widget inherits from the @ref Layout one, so that all the
|
|
|
|
* functions acting on it also work for naviframe objects.
|
2012-03-28 02:02:22 -07:00
|
|
|
*
|
2013-02-19 18:33:02 -08:00
|
|
|
* Because this widget is a layout, one places content on those areas
|
2012-06-01 14:56:09 -07:00
|
|
|
* by using elm_layout_content_set() on the right swallow part names
|
|
|
|
* expected for each, which are:
|
|
|
|
* @li @c "default" - The main content of the current page
|
|
|
|
* @li @c "icon" - An icon in the title area of the current page
|
|
|
|
* @li @c "prev_btn" - A button of the current page to go to the
|
|
|
|
* previous page
|
|
|
|
* @li @c "next_btn" - A button of the current page to go to the next
|
|
|
|
* page
|
2012-02-16 21:00:22 -08:00
|
|
|
*
|
2012-06-01 14:56:09 -07:00
|
|
|
* For text, elm_layout_text_set() will work here on:
|
|
|
|
* @li @c "default" - Title label in the title area of the current
|
|
|
|
* page
|
|
|
|
* @li @c "subtitle" - Sub-title label in the title area of the
|
|
|
|
* current page
|
2011-12-29 23:20:48 -08:00
|
|
|
*
|
2012-06-01 14:56:09 -07:00
|
|
|
* Most of those content objects can be passed at the time of an item
|
|
|
|
* creation (see elm_naviframe_item_push()).
|
2011-12-29 23:20:48 -08:00
|
|
|
*
|
2012-06-01 14:56:09 -07:00
|
|
|
* Naviframe items can have different styles, which affect the
|
|
|
|
* transition between views, for example. On the default theme, two of
|
|
|
|
* them are supported:
|
2012-06-03 11:36:06 -07:00
|
|
|
* - @c "basic" - views are switched sliding horizontally, one after
|
2012-06-01 14:56:09 -07:00
|
|
|
* the other
|
|
|
|
* - @c "overlap" - like the previous one, but the previous view stays
|
2013-02-19 18:33:02 -08:00
|
|
|
* at its place and is overlapped by the new
|
2011-12-29 23:20:48 -08:00
|
|
|
*
|
|
|
|
*
|
2012-06-01 14:56:09 -07:00
|
|
|
* This widget emits the following signals, besides the ones sent from
|
|
|
|
* @ref Layout:
|
|
|
|
* @li @c "transition,finished" - When the transition is finished in
|
|
|
|
* changing the item
|
|
|
|
* @li @c "title,clicked" - User clicked title area
|
elm: fixed focused and unfocused documentation.
1. ctxpopup, fileselector_entry, naviframe, popup, bubble, button, calendar, check, clock, colorselector, datetime, diskselector, flipselector, gengrid.
2. since 1.8
2013-06-09 21:44:25 -07:00
|
|
|
* @li @c "focused" - When the naviframe has received focus. (since 1.8)
|
|
|
|
* @li @c "unfocused" - When the naviframe has lost focus. (since 1.8)
|
2012-06-01 14:56:09 -07:00
|
|
|
*
|
|
|
|
* All the parts, for content and text, described here will also be
|
|
|
|
* reachable by naviframe @b items direct calls:
|
2012-04-17 13:33:59 -07:00
|
|
|
* @li @ref elm_object_item_part_text_set
|
|
|
|
* @li @ref elm_object_item_part_text_get
|
|
|
|
* @li @ref elm_object_item_part_content_set
|
|
|
|
* @li @ref elm_object_item_part_content_get
|
|
|
|
* @li @ref elm_object_item_part_content_unset
|
|
|
|
* @li @ref elm_object_item_signal_emit
|
2012-06-01 14:56:09 -07:00
|
|
|
*
|
|
|
|
* What happens is that the topmost item of a naviframe will be the
|
|
|
|
* widget's target layout, when accessed directly. Items lying below
|
|
|
|
* the top one can be interacted with this way.
|
2013-06-18 09:55:46 -07:00
|
|
|
*
|
|
|
|
* Here is an example on its usage:
|
|
|
|
* @li @ref naviframe_example
|
2011-12-29 23:20:48 -08:00
|
|
|
*/
|
2011-12-29 22:49:28 -08:00
|
|
|
|
2011-12-29 23:20:48 -08:00
|
|
|
/**
|
|
|
|
* @addtogroup Naviframe
|
|
|
|
* @{
|
|
|
|
*/
|
2011-12-29 22:49:28 -08:00
|
|
|
|
2013-04-27 23:13:27 -07:00
|
|
|
#include "elc_naviframe_common.h"
|
|
|
|
#ifdef EFL_EO_API_SUPPORT
|
|
|
|
#include "elc_naviframe_eo.h"
|
|
|
|
#endif
|
|
|
|
#ifndef EFL_NOLEGACY_API_SUPPORT
|
|
|
|
#include "elc_naviframe_legacy.h"
|
|
|
|
#endif
|
2012-02-16 01:26:30 -08:00
|
|
|
|
2011-12-29 23:20:48 -08:00
|
|
|
/**
|
|
|
|
* @}
|
|
|
|
*/
|