Table Of Contents

Previous topic

multibuttonentry Module

Next topic

need Module

naviframe Module

../_images/naviframe-preview.png

Widget description

Naviframe stands for navigation frame. It’s a views manager for applications.

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.

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.

Becase this widget is a layout, one places content on those areas by using part_content_set() on the right swallow part names expected for each, which are:

  • "default" - The main content of the current page

  • "icon" - An icon in the title area of the current page

  • "prev_btn" - A button of the current page to go to the

    previous page

  • "next_btn" - A button of the current page to go to the next

    page

For text, part_text_set() will work here on:

  • "default" - Title label in the title area of the current

    page

  • "subtitle" - Sub-title label in the title area of the

    current page

Most of those content objects can be passed at the time of an item creation (see push_to()).

Naviframe items can have different styles, which affect the transition between views, for example. On the default theme, two of them are supported:

  • "basic" - views are switched sliding horizontally, one after

    the other

  • "overlap" - like the previous one, but the previous view stays

    at its place and is ovelapped by the new

This widget emits the following signals, besides the ones sent from LayoutClass:

  • transition,finished - When the transition is finished in

    changing the item

  • title,clicked - User clicked title area

  • focused - When the naviframe has received focus. (since 1.8)

  • unfocused - When the naviframe has lost focus. (since 1.8)

All the parts, for content and text, described here will also be reachable by naviframe items direct calls:

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.

class efl.elementary.naviframe.Naviframe

Bases: efl.elementary.layout_class.LayoutClass

This is the class that actually implements the widget.

bottom_item

Get a bottom item on the naviframe stack

Type :NaviframeItem
callback_focused_add()

When the naviframe has received focus.

New in version 1.8.

callback_title_clicked_add()

User clicked title area.

callback_transition_finished_add()

When the transition is finished in changing the item.

callback_unfocused_add()

When the naviframe has lost focus.

New in version 1.8.

content_preserve_on_pop

Preserve the content objects when items are popped.

Type :bool
event_enabled

Whether the event when pushing/popping items is enabled

If is True, the contents of the naviframe item will receives events from mouse and keyboard during view changing such as item push/pop.

Warning

Events will be blocked by setting freeze_events internally. So don’t call the API while pushing/popping items.

Type :bool
item_pop() → evas.Object

Pop an item that is on top of the stack

This pops an item that is on the top (visible) of the naviframe, makes it disappear, then deletes the item. The item that was underneath it on the stack will become visible.

Returns:None or the content object(if content_preserve_on_pop is True).
Return type:Object
item_simple_promote(evas.Object content)

Simple version of NaviframeItem.promote().

item_simple_push(evas.Object content) → NaviframeItem

Simple version of NaviframeItem.push_to().

items

Get a list of all the naviframe items.

Type :tuple of NaviframeItem
prev_btn_auto_pushed

Whether prev button(back button) will be created automatically or not.

See also

item_push()

Type :bool
top_item

Get a top item on the naviframe stack

Type :NaviframeItem
class efl.elementary.naviframe.NaviframeItem

Bases: efl.elementary.object_item.ObjectItem

An item for the Naviframe widget.

The following styles are available for this item:

  • "default"
Parameters:
  • title_label (string) – The label in the title area. The name of the title label part is “elm.text.title”
  • prev_btn (Button) – The button to go to the previous item. If it is None, then naviframe will create a back button automatically. The name of the prev_btn part is “elm.swallow.prev_btn”
  • next_btn (Button) – The button to go to the next item. Or It could be just an extra function button. The name of the next_btn part is “elm.swallow.next_btn”
  • content (Object) – The main content object. The name of content part is “elm.swallow.content”
  • item_style (string) – The current item style name. None would be default.
insert_after(NaviframeItem after)

Insert a new item into the naviframe after item after.

The item is inserted into the naviframe straight away without any transition operations. This item will be deleted when it is popped.

Parameters:after (NaviframeItem) – The naviframe item to insert after.
Returns:The created item or None upon failure.
Return type:NaviframeItem
insert_before(NaviframeItem before)

Insert a new item into the naviframe before item before.

The item is inserted into the naviframe straight away without any transition operations. This item will be deleted when it is popped.

Parameters:before (NaviframeItem) – The naviframe item to insert before.
Returns:The created item or None upon failure.
Return type:NaviframeItem
item_pop_to()

Deprecated since version 1.8: Use pop_to() instead.

item_promote()

Deprecated since version 1.8: Use promote() instead.

pop_to()

Pop the items between the top and the above one on the given item.

promote()

Promote an item already in the naviframe stack to the top of the stack

This will take the indicated item and promote it to the top of the stack as if it had been pushed there. The item must already be inside the naviframe stack to work.

push_to(Naviframe naviframe)

Push a new item to the top of the naviframe stack (and show it).

The item pushed becomes one page of the naviframe, this item will be deleted when it is popped.

Returns:The created item or None upon failure.
Return type:NaviframeItem
style

The item style.

The following styles are available for this item:

  • "default"
Type :string
title_visible

Show/Hide the title area

When the title area is invisible, then the controls would be hidden so as to expand the content area to full-size.

Type :bool