2018-11-16 01:45:05 -08:00
class Elm.Naviframe (Efl.Ui.Layout, Efl.Access.Widget.Action, Efl.Ui.Legacy)
2014-03-30 01:51:39 -07:00
{
2016-11-22 01:03:10 -08:00
[[Elementary naviframe class]]
2016-05-12 09:06:04 -07:00
legacy_prefix: elm_naviframe;
2014-03-30 01:51:39 -07:00
eo_prefix: elm_obj_naviframe;
2016-05-17 09:14:47 -07:00
event_prefix: elm_naviframe;
2015-05-07 09:32:53 -07:00
methods {
@property event_enabled {
2015-08-07 05:30:05 -07:00
[[Control the event enabled when pushing/popping items
2014-03-30 01:51:39 -07:00
2015-08-07 05:30:05 -07:00
If $enabled is $true, the contents of the naviframe item will
receives events from mouse and keyboard during view changing such as
item push/pop.
2014-03-30 01:51:39 -07:00
2015-08-07 05:30:05 -07:00
Warning: Events will be blocked by calling evas_object_freeze_events_set()
internally. So don't call the API whiling pushing/popping items.]]
set {
2014-03-30 01:51:39 -07:00
}
get {
}
values {
2015-08-07 05:30:05 -07:00
enabled: bool; [[Events are received when enabled is $true, and ignored otherwise.]]
2014-03-30 01:51:39 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property content_preserve_on_pop {
2015-08-07 05:30:05 -07:00
[[Preserve the content objects when items are popped.]]
2014-03-30 01:51:39 -07:00
set {
}
get {
}
values {
2015-08-07 05:30:05 -07:00
preserve: bool; [[Enable the preserve mode if $true, disable otherwise]]
2014-03-30 01:51:39 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property prev_btn_auto_pushed {
2015-08-07 05:30:05 -07:00
[[Control if creating prev button automatically or not]]
2014-03-30 01:51:39 -07:00
set {
}
get {
}
values {
2015-08-07 05:30:05 -07:00
auto_pushed: bool; [[If $true, the previous button(back button) will be created internally when you pass the $NULL to the prev_btn parameter in elm_naviframe_item_push]]
2014-03-30 01:51:39 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property items {
2014-03-30 01:51:39 -07:00
get {
2015-08-07 05:30:05 -07:00
[[Get a list of all the naviframe items.]]
2014-03-30 01:51:39 -07:00
2017-09-15 08:05:30 -07:00
return: list<Elm.Widget.Item> @owned @warn_unused; [[A list of naviframe items, @Elm.Widget.Item, or $NULL on failure. Note: The returned list MUST be freed.]]
2014-03-30 01:51:39 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property top_item {
2014-03-30 01:51:39 -07:00
get {
2015-08-07 05:30:05 -07:00
[[Get a top item on the naviframe stack]]
2014-03-30 01:51:39 -07:00
2016-05-23 07:41:28 -07:00
return: Elm.Widget.Item; [[The top item on the naviframe stack or $NULL, if the stack is empty]]
2014-03-30 01:51:39 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property bottom_item {
2014-03-30 01:51:39 -07:00
get {
2015-08-07 05:30:05 -07:00
[[Get a bottom item on the naviframe stack]]
2014-03-30 01:51:39 -07:00
2016-05-23 07:41:28 -07:00
return: Elm.Widget.Item; [[The bottom item on the naviframe stack or $NULL, if the stack is empty]]
2014-03-30 01:51:39 -07:00
}
}
item_pop {
2015-08-07 05:30:05 -07:00
[[Pop an item that is on top of the stack
2014-03-30 01:51:39 -07:00
2015-08-07 05:30:05 -07:00
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
2015-08-28 02:28:19 -07:00
stack will become visible.
2017-09-25 09:10:47 -07:00
2015-08-28 02:28:19 -07:00
When pop transition animation is in progress, new pop operation is blocked until current pop operation
is complete.
]]
2014-03-30 01:51:39 -07:00
2016-06-20 21:26:15 -07:00
return: Efl.Canvas.Object; [[$NULL or the content object(if the elm_naviframe_content_preserve_on_pop_get is true).]]
2014-03-30 01:51:39 -07:00
}
item_insert_before {
2015-08-07 05:30:05 -07:00
[[Insert a new item into the naviframe before item $before.
2014-03-30 01:51:39 -07:00
2015-08-07 05:30:05 -07:00
The item is inserted into the naviframe straight away without any
transition operations. This item will be deleted when it is popped.]]
2014-03-30 01:51:39 -07:00
2016-05-23 07:41:28 -07:00
return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
2014-03-30 01:51:39 -07:00
params {
2016-05-23 07:41:28 -07:00
@in before: Elm.Widget.Item; [[The naviframe item to insert before.]]
2016-05-31 08:02:26 -07:00
@in title_label: string @optional; [[The label in the title area. The name of the title label part is "elm.text.title"]]
2016-06-20 21:26:15 -07:00
@in prev_btn: Efl.Canvas.Object @nullable; [[The button to go to the previous item. If it is NULL, then naviframe will create a back button automatically. The name of the prev_btn part is "elm.swallow.prev_btn"]]
@in next_btn: Efl.Canvas.Object @nullable; [[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"]]
@in content: Efl.Canvas.Object; [[The main content object. The name of content part is "elm.swallow.content"]]
2016-05-31 08:02:26 -07:00
@in item_style: string @nullable; [[The current item style name. $NULL would be default.]]
2014-03-30 01:51:39 -07:00
}
}
item_push {
2015-08-07 05:30:05 -07:00
[[Push a new item to the top of the naviframe stack (and show it).
2014-03-30 01:51:39 -07:00
2015-08-07 05:30:05 -07:00
The item pushed becomes one page of the naviframe, this item will be
deleted when it is popped.
2017-09-25 09:10:47 -07:00
2015-08-28 02:28:19 -07:00
When push transition animation is in progress, pop operation is blocked until push is complete.
2014-03-30 01:51:39 -07:00
2015-08-07 05:30:05 -07:00
The following styles are available for this item:
"default"]]
2014-03-30 01:51:39 -07:00
2016-05-23 07:41:28 -07:00
return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
2014-03-30 01:51:39 -07:00
params {
2016-05-31 08:02:26 -07:00
@in title_label: string @optional; [[The label in the title area. The name of the title label part is "elm.text.title"]]
2016-06-20 21:26:15 -07:00
@in prev_btn: Efl.Canvas.Object @nullable; [[The button to go to the previous item. If it is NULL, then naviframe will create a back button automatically. The name of the prev_btn part is "elm.swallow.prev_btn"]]
@in next_btn: Efl.Canvas.Object @nullable; [[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"]]
@in content: Efl.Canvas.Object; [[The main content object. The name of content part is "elm.swallow.content"]]
2016-05-31 08:02:26 -07:00
@in item_style: string @nullable; [[The current item style name. $NULL would be default.]]
2014-03-30 01:51:39 -07:00
}
}
item_simple_promote {
2015-08-07 05:30:05 -07:00
[[Simple version of item_promote.]]
2014-03-30 01:51:39 -07:00
params {
2016-11-22 01:03:10 -08:00
@in content: Efl.Canvas.Object; [[Item to promote]]
2014-03-30 01:51:39 -07:00
}
}
item_insert_after {
2015-08-07 05:30:05 -07:00
[[Insert a new item into the naviframe after item $after.
2014-03-30 01:51:39 -07:00
2015-08-07 05:30:05 -07:00
The item is inserted into the naviframe straight away without any
transition operations. This item will be deleted when it is popped.
2014-03-30 01:51:39 -07:00
2015-08-07 05:30:05 -07:00
The following styles are available for this item:
"default"]]
2014-03-30 01:51:39 -07:00
2016-05-23 07:41:28 -07:00
return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
2014-03-30 01:51:39 -07:00
params {
2016-05-23 07:41:28 -07:00
@in after: Elm.Widget.Item; [[The naviframe item to insert after.]]
2016-05-31 08:02:26 -07:00
@in title_label: string @optional; [[The label in the title area. The name of the title label part is "elm.text.title"]]
2016-06-20 21:26:15 -07:00
@in prev_btn: Efl.Canvas.Object @nullable; [[The button to go to the previous item. If it is NULL, then naviframe will create a back button automatically. The name of the prev_btn part is "elm.swallow.prev_btn"]]
@in next_btn: Efl.Canvas.Object @nullable; [[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"]]
@in content: Efl.Canvas.Object; [[The main content object. The name of content part is "elm.swallow.content"]]
2016-05-31 08:02:26 -07:00
@in item_style: string @nullable; [[The current item style name. $NULL would be default.]]
2014-03-30 01:51:39 -07:00
}
}
}
implements {
2014-06-20 02:47:39 -07:00
class.constructor;
2016-08-10 07:23:04 -07:00
Efl.Object.constructor;
2018-04-05 01:47:26 -07:00
Efl.Gfx.Entity.visible { set; }
2018-01-07 20:55:35 -08:00
Efl.Ui.Widget.on_access_update;
2018-12-21 14:46:10 -08:00
Efl.Ui.L10n.translation_update;
2018-01-07 20:55:35 -08:00
Efl.Ui.Widget.theme_apply;
Efl.Ui.Widget.widget_event;
2017-12-04 21:39:20 -08:00
Efl.Layout.Signal.signal_emit;
2017-11-15 18:31:26 -08:00
Efl.Access.Widget.Action.elm_actions { get; }
2018-01-07 20:55:35 -08:00
Efl.Ui.Widget.resize_object { set; }
2018-05-03 16:34:17 -07:00
Efl.Part.part_get;
2014-03-30 01:51:39 -07:00
}
events {
efl: Add missing event types
Summary:
All events must have a type now, otherwise bindings don't know how to handle
the event_info field.
Most of the missing event types were actually "void" (no event_info present).
Some struct definitions had to be moved to eo instead of h files, so they
are available to bindings. Some have not, and are marked with FIXME.
Some namespaces have been fixed (like Efl_Event_Cb -> Efl.Event_Cb).
In general, there are hundreds of changed files, but mostly to add a type which
was not present before, so there's no harm done.
Also, A lot of FIXMEs have been added which should be, like, fixed.
For example, some events can send different types of event_info, which is
very inconvenient (and error prone).
Test Plan: make with c# bindings works, make check and make examples work too.
Reviewers: cedric, q66, lauromoura
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6169
2018-05-11 08:20:40 -07:00
transition,finished: Efl.Object; [[Called when naviframe transition finished]]
title,transition,finished: Efl.Object; [[Called when naviframe title transaction finished]]
title,clicked: Efl.Object; [[Called when naviframe title was clicked]]
item,activated: Efl.Object; [[Called when naviframe item was activated]]
2014-03-30 01:51:39 -07:00
}
}