summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-03-05 17:00:37 -0500
committerCedric BAIL <cedric.bail@free.fr>2019-03-07 14:15:52 -0800
commit095b8bebc825641253fd9ec62b5084a847b4c553 (patch)
tree5e59d45ec30a4d68c02732bac4e162b5cac5ba11
parentb7e92a49fec9f363a2f3402001427115be8628e5 (diff)
elm_naviframe*: remove all legacy usage from eo files
this takes the current generated output from eolian for legacy code in efl and adds it to the tree, then removes legacy references from the corresponding eo files. in the case where the entire eo file was for a legacy object, that eo file has been removed from the tree ref T7724 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D8186
-rw-r--r--src/Makefile_Elementary.am10
-rw-r--r--src/lib/elementary/elc_naviframe.c8
-rw-r--r--src/lib/elementary/elc_naviframe_legacy.h4
-rw-r--r--src/lib/elementary/elm_naviframe.eo162
-rw-r--r--src/lib/elementary/elm_naviframe_eo.c233
-rw-r--r--src/lib/elementary/elm_naviframe_eo.h289
-rw-r--r--src/lib/elementary/elm_naviframe_eo.legacy.c84
-rw-r--r--src/lib/elementary/elm_naviframe_eo.legacy.h246
-rw-r--r--src/lib/elementary/elm_naviframe_item.eo78
-rw-r--r--src/lib/elementary/elm_naviframe_item_eo.c102
-rw-r--r--src/lib/elementary/elm_naviframe_item_eo.h99
-rw-r--r--src/lib/elementary/elm_naviframe_item_eo.legacy.c30
-rw-r--r--src/lib/elementary/elm_naviframe_item_eo.legacy.h92
-rw-r--r--src/lib/elementary/meson.build6
14 files changed, 1193 insertions, 250 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 87390e5..7ceb4b1 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -214,8 +214,6 @@ elm_legacy_eolian_files = \
214 lib/elementary/elm_actionslider_part.eo \ 214 lib/elementary/elm_actionslider_part.eo \
215 lib/elementary/elm_bubble_part.eo \ 215 lib/elementary/elm_bubble_part.eo \
216 lib/elementary/elm_fileselector_part.eo \ 216 lib/elementary/elm_fileselector_part.eo \
217 lib/elementary/elm_naviframe.eo \
218 lib/elementary/elm_naviframe_item.eo \
219 lib/elementary/elm_photo.eo \ 217 lib/elementary/elm_photo.eo \
220 lib/elementary/elm_prefs.eo \ 218 lib/elementary/elm_prefs.eo \
221 lib/elementary/elm_segment_control.eo \ 219 lib/elementary/elm_segment_control.eo \
@@ -372,6 +370,10 @@ lib/elementary/elm_multibuttonentry_eo.c \
372lib/elementary/elm_multibuttonentry_eo.legacy.c \ 370lib/elementary/elm_multibuttonentry_eo.legacy.c \
373lib/elementary/elm_multibuttonentry_item_eo.c \ 371lib/elementary/elm_multibuttonentry_item_eo.c \
374lib/elementary/elm_multibuttonentry_item_eo.legacy.c \ 372lib/elementary/elm_multibuttonentry_item_eo.legacy.c \
373lib/elementary/elm_naviframe_eo.c \
374lib/elementary/elm_naviframe_eo.legacy.c \
375lib/elementary/elm_naviframe_item_eo.c \
376lib/elementary/elm_naviframe_item_eo.legacy.c \
375$(NULL) 377$(NULL)
376 378
377elm_legacy_eo_headers = \ 379elm_legacy_eo_headers = \
@@ -521,6 +523,10 @@ lib/elementary/elm_multibuttonentry_eo.h \
521lib/elementary/elm_multibuttonentry_eo.legacy.h \ 523lib/elementary/elm_multibuttonentry_eo.legacy.h \
522lib/elementary/elm_multibuttonentry_item_eo.h \ 524lib/elementary/elm_multibuttonentry_item_eo.h \
523lib/elementary/elm_multibuttonentry_item_eo.legacy.h \ 525lib/elementary/elm_multibuttonentry_item_eo.legacy.h \
526lib/elementary/elm_naviframe_eo.h \
527lib/elementary/elm_naviframe_eo.legacy.h \
528lib/elementary/elm_naviframe_item_eo.h \
529lib/elementary/elm_naviframe_item_eo.legacy.h \
524$(NULL) 530$(NULL)
525 531
526 532
diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c
index a04f98d..251b3eb 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -11,8 +11,8 @@
11 11
12#include <Elementary.h> 12#include <Elementary.h>
13#include "elm_priv.h" 13#include "elm_priv.h"
14#include "elm_naviframe.eo.h" 14#include "elm_naviframe_eo.h"
15#include "elm_naviframe_item.eo.h" 15#include "elm_naviframe_item_eo.h"
16#include "elm_widget_naviframe.h" 16#include "elm_widget_naviframe.h"
17#include "elm_widget_container.h" 17#include "elm_widget_container.h"
18 18
@@ -2052,5 +2052,5 @@ ELM_PART_OVERRIDE_TEXT_GET(elm_naviframe, ELM_NAVIFRAME, Elm_Naviframe_Data)
2052 ELM_LAYOUT_SIZING_EVAL_OPS(elm_naviframe), \ 2052 ELM_LAYOUT_SIZING_EVAL_OPS(elm_naviframe), \
2053 EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_naviframe) 2053 EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_naviframe)
2054 2054
2055#include "elm_naviframe_item.eo.c" 2055#include "elm_naviframe_item_eo.c"
2056#include "elm_naviframe.eo.c" 2056#include "elm_naviframe_eo.c"
diff --git a/src/lib/elementary/elc_naviframe_legacy.h b/src/lib/elementary/elc_naviframe_legacy.h
index 7bcba3a..38f06ca 100644
--- a/src/lib/elementary/elc_naviframe_legacy.h
+++ b/src/lib/elementary/elc_naviframe_legacy.h
@@ -19,5 +19,5 @@ EAPI void elm_naviframe_item_style_set(Elm_Object_Item *obj, const char *style);
19 */ 19 */
20EAPI const char *elm_naviframe_item_style_get(const Elm_Object_Item *obj); 20EAPI const char *elm_naviframe_item_style_get(const Elm_Object_Item *obj);
21 21
22#include "elm_naviframe_item.eo.legacy.h" 22#include "elm_naviframe_item_eo.legacy.h"
23#include "elm_naviframe.eo.legacy.h" 23#include "elm_naviframe_eo.legacy.h"
diff --git a/src/lib/elementary/elm_naviframe.eo b/src/lib/elementary/elm_naviframe.eo
deleted file mode 100644
index d3b44cc..0000000
--- a/src/lib/elementary/elm_naviframe.eo
+++ /dev/null
@@ -1,162 +0,0 @@
1class Elm.Naviframe extends Efl.Ui.Layout_Base implements Efl.Access.Widget.Action, Efl.Ui.Legacy
2{
3 [[Elementary naviframe class]]
4 legacy_prefix: elm_naviframe;
5 eo_prefix: elm_obj_naviframe;
6 event_prefix: elm_naviframe;
7 methods {
8 @property event_enabled {
9 [[Control the event enabled when pushing/popping items
10
11 If $enabled is $true, the contents of the naviframe item will
12 receives events from mouse and keyboard during view changing such as
13 item push/pop.
14
15 Warning: Events will be blocked by calling evas_object_freeze_events_set()
16 internally. So don't call the API whiling pushing/popping items.]]
17 set {
18 }
19 get {
20 }
21 values {
22 enabled: bool; [[Events are received when enabled is $true, and ignored otherwise.]]
23 }
24 }
25 @property content_preserve_on_pop {
26 [[Preserve the content objects when items are popped.]]
27 set {
28 }
29 get {
30 }
31 values {
32 preserve: bool; [[Enable the preserve mode if $true, disable otherwise]]
33 }
34 }
35 @property prev_btn_auto_pushed {
36 [[Control if creating prev button automatically or not]]
37 set {
38 }
39 get {
40 }
41 values {
42 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]]
43 }
44 }
45 @property items {
46 get {
47 [[Get a list of all the naviframe items.]]
48
49 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.]]
50 }
51 }
52 @property top_item {
53 get {
54 [[Get a top item on the naviframe stack]]
55
56 return: Elm.Widget.Item; [[The top item on the naviframe stack or $NULL, if the stack is empty]]
57 }
58 }
59 @property bottom_item {
60 get {
61 [[Get a bottom item on the naviframe stack]]
62
63 return: Elm.Widget.Item; [[The bottom item on the naviframe stack or $NULL, if the stack is empty]]
64 }
65 }
66 item_pop {
67 [[Pop an item that is on top of the stack
68
69 This pops an item that is on the top(visible) of the naviframe, makes it
70 disappear, then deletes the item. The item that was underneath it on the
71 stack will become visible.
72
73 When pop transition animation is in progress, new pop operation is blocked until current pop operation
74 is complete.
75 ]]
76
77 return: Efl.Canvas.Object; [[$NULL or the content object(if the elm_naviframe_content_preserve_on_pop_get is true).]]
78 }
79 item_insert_before {
80 [[Insert a new item into the naviframe before item $before.
81
82 The item is inserted into the naviframe straight away without any
83 transition operations. This item will be deleted when it is popped.]]
84
85 return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
86 params {
87 @in before: Elm.Widget.Item; [[The naviframe item to insert before.]]
88 @in title_label: string @optional; [[The label in the title area. The name of the title label part is "elm.text.title"]]
89 @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"]]
90 @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"]]
91 @in content: Efl.Canvas.Object; [[The main content object. The name of content part is "elm.swallow.content"]]
92 @in item_style: string @nullable; [[The current item style name. $NULL would be default.]]
93 }
94 }
95 item_push {
96 [[Push a new item to the top of the naviframe stack (and show it).
97
98
99 The item pushed becomes one page of the naviframe, this item will be
100 deleted when it is popped.
101
102 When push transition animation is in progress, pop operation is blocked until push is complete.
103
104 The following styles are available for this item:
105 "default"]]
106
107 return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
108 params {
109 @in title_label: string @optional; [[The label in the title area. The name of the title label part is "elm.text.title"]]
110 @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"]]
111 @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"]]
112 @in content: Efl.Canvas.Object; [[The main content object. The name of content part is "elm.swallow.content"]]
113 @in item_style: string @nullable; [[The current item style name. $NULL would be default.]]
114 }
115 }
116 item_simple_promote {
117 [[Simple version of item_promote.]]
118
119 params {
120 @in content: Efl.Canvas.Object; [[Item to promote]]
121 }
122 }
123 item_insert_after {
124 [[Insert a new item into the naviframe after item $after.
125
126 The item is inserted into the naviframe straight away without any
127 transition operations. This item will be deleted when it is popped.
128
129 The following styles are available for this item:
130 "default"]]
131
132 return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
133 params {
134 @in after: Elm.Widget.Item; [[The naviframe item to insert after.]]
135 @in title_label: string @optional; [[The label in the title area. The name of the title label part is "elm.text.title"]]
136 @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"]]
137 @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"]]
138 @in content: Efl.Canvas.Object; [[The main content object. The name of content part is "elm.swallow.content"]]
139 @in item_style: string @nullable; [[The current item style name. $NULL would be default.]]
140 }
141 }
142 }
143 implements {
144 class.constructor;
145 Efl.Object.constructor;
146 Efl.Gfx.Entity.visible { set; }
147 Efl.Ui.Widget.on_access_update;
148 Efl.Ui.L10n.translation_update;
149 Efl.Ui.Widget.theme_apply;
150 Efl.Ui.Widget.widget_input_event_handler;
151 Efl.Layout.Signal.signal_emit;
152 Efl.Access.Widget.Action.elm_actions { get; }
153 Efl.Ui.Widget.resize_object { set; }
154 Efl.Part.part_get;
155 }
156 events {
157 transition,finished: Efl.Object; [[Called when naviframe transition finished]]
158 title,transition,finished: Efl.Object; [[Called when naviframe title transaction finished]]
159 title,clicked: Efl.Object; [[Called when naviframe title was clicked]]
160 item,activated: Efl.Object; [[Called when naviframe item was activated]]
161 }
162}
diff --git a/src/lib/elementary/elm_naviframe_eo.c b/src/lib/elementary/elm_naviframe_eo.c
new file mode 100644
index 0000000..c4ecbba
--- /dev/null
+++ b/src/lib/elementary/elm_naviframe_eo.c
@@ -0,0 +1,233 @@
1EWAPI const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TRANSITION_FINISHED =
2 EFL_EVENT_DESCRIPTION("transition,finished");
3EWAPI const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TITLE_TRANSITION_FINISHED =
4 EFL_EVENT_DESCRIPTION("title,transition,finished");
5EWAPI const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TITLE_CLICKED =
6 EFL_EVENT_DESCRIPTION("title,clicked");
7EWAPI const Efl_Event_Description _ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED =
8 EFL_EVENT_DESCRIPTION("item,activated");
9
10void _elm_naviframe_event_enabled_set(Eo *obj, Elm_Naviframe_Data *pd, Eina_Bool enabled);
11
12
13static Eina_Error
14__eolian_elm_naviframe_event_enabled_set_reflect(Eo *obj, Eina_Value val)
15{
16 Eina_Error r = 0; Eina_Bool cval;
17 if (!eina_value_bool_convert(&val, &cval))
18 {
19 r = EINA_ERROR_VALUE_FAILED;
20 goto end;
21 }
22 elm_obj_naviframe_event_enabled_set(obj, cval);
23 end:
24 eina_value_flush(&val);
25 return r;
26}
27
28EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_event_enabled_set, EFL_FUNC_CALL(enabled), Eina_Bool enabled);
29
30Eina_Bool _elm_naviframe_event_enabled_get(const Eo *obj, Elm_Naviframe_Data *pd);
31
32
33static Eina_Value
34__eolian_elm_naviframe_event_enabled_get_reflect(Eo *obj)
35{
36 Eina_Bool val = elm_obj_naviframe_event_enabled_get(obj);
37 return eina_value_bool_init(val);
38}
39
40EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_event_enabled_get, Eina_Bool, 0);
41
42void _elm_naviframe_content_preserve_on_pop_set(Eo *obj, Elm_Naviframe_Data *pd, Eina_Bool preserve);
43
44
45static Eina_Error
46__eolian_elm_naviframe_content_preserve_on_pop_set_reflect(Eo *obj, Eina_Value val)
47{
48 Eina_Error r = 0; Eina_Bool cval;
49 if (!eina_value_bool_convert(&val, &cval))
50 {
51 r = EINA_ERROR_VALUE_FAILED;
52 goto end;
53 }
54 elm_obj_naviframe_content_preserve_on_pop_set(obj, cval);
55 end:
56 eina_value_flush(&val);
57 return r;
58}
59
60EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_content_preserve_on_pop_set, EFL_FUNC_CALL(preserve), Eina_Bool preserve);
61
62Eina_Bool _elm_naviframe_content_preserve_on_pop_get(const Eo *obj, Elm_Naviframe_Data *pd);
63
64
65static Eina_Value
66__eolian_elm_naviframe_content_preserve_on_pop_get_reflect(Eo *obj)
67{
68 Eina_Bool val = elm_obj_naviframe_content_preserve_on_pop_get(obj);
69 return eina_value_bool_init(val);
70}
71
72EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_content_preserve_on_pop_get, Eina_Bool, 0);
73
74void _elm_naviframe_prev_btn_auto_pushed_set(Eo *obj, Elm_Naviframe_Data *pd, Eina_Bool auto_pushed);
75
76
77static Eina_Error
78__eolian_elm_naviframe_prev_btn_auto_pushed_set_reflect(Eo *obj, Eina_Value val)
79{
80 Eina_Error r = 0; Eina_Bool cval;
81 if (!eina_value_bool_convert(&val, &cval))
82 {
83 r = EINA_ERROR_VALUE_FAILED;
84 goto end;
85 }
86 elm_obj_naviframe_prev_btn_auto_pushed_set(obj, cval);
87 end:
88 eina_value_flush(&val);
89 return r;
90}
91
92EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_prev_btn_auto_pushed_set, EFL_FUNC_CALL(auto_pushed), Eina_Bool auto_pushed);
93
94Eina_Bool _elm_naviframe_prev_btn_auto_pushed_get(const Eo *obj, Elm_Naviframe_Data *pd);
95
96
97static Eina_Value
98__eolian_elm_naviframe_prev_btn_auto_pushed_get_reflect(Eo *obj)
99{
100 Eina_Bool val = elm_obj_naviframe_prev_btn_auto_pushed_get(obj);
101 return eina_value_bool_init(val);
102}
103
104EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_prev_btn_auto_pushed_get, Eina_Bool, 0);
105
106Eina_List *_elm_naviframe_items_get(const Eo *obj, Elm_Naviframe_Data *pd);
107
108EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_items_get, Eina_List *, NULL);
109
110Elm_Widget_Item *_elm_naviframe_top_item_get(const Eo *obj, Elm_Naviframe_Data *pd);
111
112EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_top_item_get, Elm_Widget_Item *, NULL);
113
114Elm_Widget_Item *_elm_naviframe_bottom_item_get(const Eo *obj, Elm_Naviframe_Data *pd);
115
116EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_bottom_item_get, Elm_Widget_Item *, NULL);
117
118Efl_Canvas_Object *_elm_naviframe_item_pop(Eo *obj, Elm_Naviframe_Data *pd);
119
120EOAPI EFL_FUNC_BODY(elm_obj_naviframe_item_pop, Efl_Canvas_Object *, NULL);
121
122Elm_Widget_Item *_elm_naviframe_item_insert_before(Eo *obj, Elm_Naviframe_Data *pd, Elm_Widget_Item *before, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
123
124EOAPI EFL_FUNC_BODYV(elm_obj_naviframe_item_insert_before, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(before, title_label, prev_btn, next_btn, content, item_style), Elm_Widget_Item *before, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
125
126Elm_Widget_Item *_elm_naviframe_item_push(Eo *obj, Elm_Naviframe_Data *pd, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
127
128EOAPI EFL_FUNC_BODYV(elm_obj_naviframe_item_push, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(title_label, prev_btn, next_btn, content, item_style), const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
129
130void _elm_naviframe_item_simple_promote(Eo *obj, Elm_Naviframe_Data *pd, Efl_Canvas_Object *content);
131
132EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_item_simple_promote, EFL_FUNC_CALL(content), Efl_Canvas_Object *content);
133
134Elm_Widget_Item *_elm_naviframe_item_insert_after(Eo *obj, Elm_Naviframe_Data *pd, Elm_Widget_Item *after, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
135
136EOAPI EFL_FUNC_BODYV(elm_obj_naviframe_item_insert_after, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(after, title_label, prev_btn, next_btn, content, item_style), Elm_Widget_Item *after, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
137
138Efl_Object *_elm_naviframe_efl_object_constructor(Eo *obj, Elm_Naviframe_Data *pd);
139
140
141void _elm_naviframe_efl_gfx_entity_visible_set(Eo *obj, Elm_Naviframe_Data *pd, Eina_Bool v);
142
143
144void _elm_naviframe_efl_ui_widget_on_access_update(Eo *obj, Elm_Naviframe_Data *pd, Eina_Bool enable);
145
146
147void _elm_naviframe_efl_ui_l10n_translation_update(Eo *obj, Elm_Naviframe_Data *pd);
148
149
150Eina_Error _elm_naviframe_efl_ui_widget_theme_apply(Eo *obj, Elm_Naviframe_Data *pd);
151
152
153Eina_Bool _elm_naviframe_efl_ui_widget_widget_input_event_handler(Eo *obj, Elm_Naviframe_Data *pd, const Efl_Event *eo_event, Efl_Canvas_Object *source);
154
155
156void _elm_naviframe_efl_layout_signal_signal_emit(Eo *obj, Elm_Naviframe_Data *pd, const char *emission, const char *source);
157
158
159const Efl_Access_Action_Data *_elm_naviframe_efl_access_widget_action_elm_actions_get(const Eo *obj, Elm_Naviframe_Data *pd);
160
161
162void _elm_naviframe_efl_ui_widget_resize_object_set(Eo *obj, Elm_Naviframe_Data *pd, Efl_Canvas_Object *sobj);
163
164
165Efl_Object *_elm_naviframe_efl_part_part_get(const Eo *obj, Elm_Naviframe_Data *pd, const char *name);
166
167
168static Eina_Bool
169_elm_naviframe_class_initializer(Efl_Class *klass)
170{
171 const Efl_Object_Ops *opsp = NULL;
172
173 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
174
175#ifndef ELM_NAVIFRAME_EXTRA_OPS
176#define ELM_NAVIFRAME_EXTRA_OPS
177#endif
178
179 EFL_OPS_DEFINE(ops,
180 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_event_enabled_set, _elm_naviframe_event_enabled_set),
181 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_event_enabled_get, _elm_naviframe_event_enabled_get),
182 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_content_preserve_on_pop_set, _elm_naviframe_content_preserve_on_pop_set),
183 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_content_preserve_on_pop_get, _elm_naviframe_content_preserve_on_pop_get),
184 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_prev_btn_auto_pushed_set, _elm_naviframe_prev_btn_auto_pushed_set),
185 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_prev_btn_auto_pushed_get, _elm_naviframe_prev_btn_auto_pushed_get),
186 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_items_get, _elm_naviframe_items_get),
187 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_top_item_get, _elm_naviframe_top_item_get),
188 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_bottom_item_get, _elm_naviframe_bottom_item_get),
189 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_pop, _elm_naviframe_item_pop),
190 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_insert_before, _elm_naviframe_item_insert_before),
191 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_push, _elm_naviframe_item_push),
192 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_simple_promote, _elm_naviframe_item_simple_promote),
193 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_insert_after, _elm_naviframe_item_insert_after),
194 EFL_OBJECT_OP_FUNC(efl_constructor, _elm_naviframe_efl_object_constructor),
195 EFL_OBJECT_OP_FUNC(efl_gfx_entity_visible_set, _elm_naviframe_efl_gfx_entity_visible_set),
196 EFL_OBJECT_OP_FUNC(efl_ui_widget_on_access_update, _elm_naviframe_efl_ui_widget_on_access_update),
197 EFL_OBJECT_OP_FUNC(efl_ui_l10n_translation_update, _elm_naviframe_efl_ui_l10n_translation_update),
198 EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_naviframe_efl_ui_widget_theme_apply),
199 EFL_OBJECT_OP_FUNC(efl_ui_widget_input_event_handler, _elm_naviframe_efl_ui_widget_widget_input_event_handler),
200 EFL_OBJECT_OP_FUNC(efl_layout_signal_emit, _elm_naviframe_efl_layout_signal_signal_emit),
201 EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _elm_naviframe_efl_access_widget_action_elm_actions_get),
202 EFL_OBJECT_OP_FUNC(efl_ui_widget_resize_object_set, _elm_naviframe_efl_ui_widget_resize_object_set),
203 EFL_OBJECT_OP_FUNC(efl_part_get, _elm_naviframe_efl_part_part_get),
204 ELM_NAVIFRAME_EXTRA_OPS
205 );
206 opsp = &ops;
207
208 static const Efl_Object_Property_Reflection refl_table[] = {
209 {"event_enabled", __eolian_elm_naviframe_event_enabled_set_reflect, __eolian_elm_naviframe_event_enabled_get_reflect},
210 {"content_preserve_on_pop", __eolian_elm_naviframe_content_preserve_on_pop_set_reflect, __eolian_elm_naviframe_content_preserve_on_pop_get_reflect},
211 {"prev_btn_auto_pushed", __eolian_elm_naviframe_prev_btn_auto_pushed_set_reflect, __eolian_elm_naviframe_prev_btn_auto_pushed_get_reflect},
212 };
213 static const Efl_Object_Property_Reflection_Ops rops = {
214 refl_table, EINA_C_ARRAY_LENGTH(refl_table)
215 };
216 ropsp = &rops;
217
218 return efl_class_functions_set(klass, opsp, ropsp);
219}
220
221static const Efl_Class_Description _elm_naviframe_class_desc = {
222 EO_VERSION,
223 "Elm.Naviframe",
224 EFL_CLASS_TYPE_REGULAR,
225 sizeof(Elm_Naviframe_Data),
226 _elm_naviframe_class_initializer,
227 _elm_naviframe_class_constructor,
228 NULL
229};
230
231EFL_DEFINE_CLASS(elm_naviframe_class_get, &_elm_naviframe_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
232
233#include "elm_naviframe_eo.legacy.c"
diff --git a/src/lib/elementary/elm_naviframe_eo.h b/src/lib/elementary/elm_naviframe_eo.h
new file mode 100644
index 0000000..8b4f4d8
--- /dev/null
+++ b/src/lib/elementary/elm_naviframe_eo.h
@@ -0,0 +1,289 @@
1#ifndef _ELM_NAVIFRAME_EO_H_
2#define _ELM_NAVIFRAME_EO_H_
3
4#ifndef _ELM_NAVIFRAME_EO_CLASS_TYPE
5#define _ELM_NAVIFRAME_EO_CLASS_TYPE
6
7typedef Eo Elm_Naviframe;
8
9#endif
10
11#ifndef _ELM_NAVIFRAME_EO_TYPES
12#define _ELM_NAVIFRAME_EO_TYPES
13
14
15#endif
16/** Elementary naviframe class
17 *
18 * @ingroup Elm_Naviframe
19 */
20#define ELM_NAVIFRAME_CLASS elm_naviframe_class_get()
21
22EWAPI const Efl_Class *elm_naviframe_class_get(void);
23
24/**
25 * @brief Control the event enabled when pushing/popping items
26 *
27 * If @c enabled is @c true, the contents of the naviframe item will receives
28 * events from mouse and keyboard during view changing such as item push/pop.
29 *
30 * @warning Events will be blocked by calling evas_object_freeze_events_set()
31 * internally. So don't call the API whiling pushing/popping items.
32 *
33 * @param[in] obj The object.
34 * @param[in] enabled Events are received when enabled is @c true, and ignored
35 * otherwise.
36 *
37 * @ingroup Elm_Naviframe
38 */
39EOAPI void elm_obj_naviframe_event_enabled_set(Eo *obj, Eina_Bool enabled);
40
41/**
42 * @brief Control the event enabled when pushing/popping items
43 *
44 * If @c enabled is @c true, the contents of the naviframe item will receives
45 * events from mouse and keyboard during view changing such as item push/pop.
46 *
47 * @warning Events will be blocked by calling evas_object_freeze_events_set()
48 * internally. So don't call the API whiling pushing/popping items.
49 *
50 * @param[in] obj The object.
51 *
52 * @return Events are received when enabled is @c true, and ignored otherwise.
53 *
54 * @ingroup Elm_Naviframe
55 */
56EOAPI Eina_Bool elm_obj_naviframe_event_enabled_get(const Eo *obj);
57
58/**
59 * @brief Preserve the content objects when items are popped.
60 *
61 * @param[in] obj The object.
62 * @param[in] preserve Enable the preserve mode if @c true, disable otherwise
63 *
64 * @ingroup Elm_Naviframe
65 */
66EOAPI void elm_obj_naviframe_content_preserve_on_pop_set(Eo *obj, Eina_Bool preserve);
67
68/**
69 * @brief Preserve the content objects when items are popped.
70 *
71 * @param[in] obj The object.
72 *
73 * @return Enable the preserve mode if @c true, disable otherwise
74 *
75 * @ingroup Elm_Naviframe
76 */
77EOAPI Eina_Bool elm_obj_naviframe_content_preserve_on_pop_get(const Eo *obj);
78
79/**
80 * @brief Control if creating prev button automatically or not
81 *
82 * @param[in] obj The object.
83 * @param[in] auto_pushed If @c true, the previous button(back button) will be
84 * created internally when you pass the @c NULL to the prev_btn parameter in
85 * elm_naviframe_item_push
86 *
87 * @ingroup Elm_Naviframe
88 */
89EOAPI void elm_obj_naviframe_prev_btn_auto_pushed_set(Eo *obj, Eina_Bool auto_pushed);
90
91/**
92 * @brief Control if creating prev button automatically or not
93 *
94 * @param[in] obj The object.
95 *
96 * @return If @c true, the previous button(back button) will be created
97 * internally when you pass the @c NULL to the prev_btn parameter in
98 * elm_naviframe_item_push
99 *
100 * @ingroup Elm_Naviframe
101 */
102EOAPI Eina_Bool elm_obj_naviframe_prev_btn_auto_pushed_get(const Eo *obj);
103
104/**
105 * @brief Get a list of all the naviframe items.
106 *
107 * @param[in] obj The object.
108 *
109 * @return A list of naviframe items, @ref Elm_Widget_Item, or @c NULL on
110 * failure. Note: The returned list MUST be freed.
111 *
112 * @ingroup Elm_Naviframe
113 */
114EOAPI Eina_List *elm_obj_naviframe_items_get(const Eo *obj) EINA_WARN_UNUSED_RESULT;
115
116/**
117 * @brief Get a top item on the naviframe stack
118 *
119 * @param[in] obj The object.
120 *
121 * @return The top item on the naviframe stack or @c NULL, if the stack is
122 * empty
123 *
124 * @ingroup Elm_Naviframe
125 */
126EOAPI Elm_Widget_Item *elm_obj_naviframe_top_item_get(const Eo *obj);
127
128/**
129 * @brief Get a bottom item on the naviframe stack
130 *
131 * @param[in] obj The object.
132 *
133 * @return The bottom item on the naviframe stack or @c NULL, if the stack is
134 * empty
135 *
136 * @ingroup Elm_Naviframe
137 */
138EOAPI Elm_Widget_Item *elm_obj_naviframe_bottom_item_get(const Eo *obj);
139
140/**
141 * @brief Pop an item that is on top of the stack
142 *
143 * This pops an item that is on the top(visible) of the naviframe, makes it
144 * disappear, then deletes the item. The item that was underneath it on the
145 * stack will become visible.
146 *
147 * When pop transition animation is in progress, new pop operation is blocked
148 * until current pop operation is complete.
149 *
150 * @param[in] obj The object.
151 *
152 * @return @c NULL or the content object(if the
153 * elm_naviframe_content_preserve_on_pop_get is true).
154 *
155 * @ingroup Elm_Naviframe
156 */
157EOAPI Efl_Canvas_Object *elm_obj_naviframe_item_pop(Eo *obj);
158
159/**
160 * @brief Insert a new item into the naviframe before item @c before.
161 *
162 * The item is inserted into the naviframe straight away without any transition
163 * operations. This item will be deleted when it is popped.
164 *
165 * @param[in] obj The object.
166 * @param[in] before The naviframe item to insert before.
167 * @param[in] title_label The label in the title area. The name of the title
168 * label part is "elm.text.title"
169 * @param[in] prev_btn The button to go to the previous item. If it is NULL,
170 * then naviframe will create a back button automatically. The name of the
171 * prev_btn part is "elm.swallow.prev_btn"
172 * @param[in] next_btn The button to go to the next item. Or It could be just
173 * an extra function button. The name of the next_btn part is
174 * "elm.swallow.next_btn"
175 * @param[in] content The main content object. The name of content part is
176 * "elm.swallow.content"
177 * @param[in] item_style The current item style name. @c NULL would be default.
178 *
179 * @return The created item or @c NULL upon failure.
180 *
181 * @ingroup Elm_Naviframe
182 */
183EOAPI Elm_Widget_Item *elm_obj_naviframe_item_insert_before(Eo *obj, Elm_Widget_Item *before, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
184
185/**
186 * @brief Push a new item to the top of the naviframe stack (and show it).
187 *
188 * The item pushed becomes one page of the naviframe, this item will be deleted
189 * when it is popped.
190 *
191 * When push transition animation is in progress, pop operation is blocked
192 * until push is complete.
193 *
194 * The following styles are available for this item: "default"
195 *
196 * @param[in] obj The object.
197 * @param[in] title_label The label in the title area. The name of the title
198 * label part is "elm.text.title"
199 * @param[in] prev_btn The button to go to the previous item. If it is NULL,
200 * then naviframe will create a back button automatically. The name of the
201 * prev_btn part is "elm.swallow.prev_btn"
202 * @param[in] next_btn The button to go to the next item. Or It could be just
203 * an extra function button. The name of the next_btn part is
204 * "elm.swallow.next_btn"
205 * @param[in] content The main content object. The name of content part is
206 * "elm.swallow.content"
207 * @param[in] item_style The current item style name. @c NULL would be default.
208 *
209 * @return The created item or @c NULL upon failure.
210 *
211 * @ingroup Elm_Naviframe
212 */
213EOAPI Elm_Widget_Item *elm_obj_naviframe_item_push(Eo *obj, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
214
215/**
216 * @brief Simple version of item_promote.
217 *
218 * @param[in] obj The object.
219 * @param[in] content Item to promote
220 *
221 * @ingroup Elm_Naviframe
222 */
223EOAPI void elm_obj_naviframe_item_simple_promote(Eo *obj, Efl_Canvas_Object *content);
224
225/**
226 * @brief Insert a new item into the naviframe after item @c after.
227 *
228 * The item is inserted into the naviframe straight away without any transition
229 * operations. This item will be deleted when it is popped.
230 *
231 * The following styles are available for this item: "default"
232 *
233 * @param[in] obj The object.
234 * @param[in] after The naviframe item to insert after.
235 * @param[in] title_label The label in the title area. The name of the title
236 * label part is "elm.text.title"
237 * @param[in] prev_btn The button to go to the previous item. If it is NULL,
238 * then naviframe will create a back button automatically. The name of the
239 * prev_btn part is "elm.swallow.prev_btn"
240 * @param[in] next_btn The button to go to the next item. Or It could be just
241 * an extra function button. The name of the next_btn part is
242 * "elm.swallow.next_btn"
243 * @param[in] content The main content object. The name of content part is
244 * "elm.swallow.content"
245 * @param[in] item_style The current item style name. @c NULL would be default.
246 *
247 * @return The created item or @c NULL upon failure.
248 *
249 * @ingroup Elm_Naviframe
250 */
251EOAPI Elm_Widget_Item *elm_obj_naviframe_item_insert_after(Eo *obj, Elm_Widget_Item *after, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
252
253EWAPI extern const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TRANSITION_FINISHED;
254
255/** Called when naviframe transition finished
256 * @return Efl_Object *
257 *
258 * @ingroup Elm_Naviframe
259 */
260#define ELM_NAVIFRAME_EVENT_TRANSITION_FINISHED (&(_ELM_NAVIFRAME_EVENT_TRANSITION_FINISHED))
261
262EWAPI extern const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TITLE_TRANSITION_FINISHED;
263
264/** Called when naviframe title transaction finished
265 * @return Efl_Object *
266 *
267 * @ingroup Elm_Naviframe
268 */
269#define ELM_NAVIFRAME_EVENT_TITLE_TRANSITION_FINISHED (&(_ELM_NAVIFRAME_EVENT_TITLE_TRANSITION_FINISHED))
270
271EWAPI extern const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TITLE_CLICKED;
272
273/** Called when naviframe title was clicked
274 * @return Efl_Object *
275 *
276 * @ingroup Elm_Naviframe
277 */
278#define ELM_NAVIFRAME_EVENT_TITLE_CLICKED (&(_ELM_NAVIFRAME_EVENT_TITLE_CLICKED))
279
280EWAPI extern const Efl_Event_Description _ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED;
281
282/** Called when naviframe item was activated
283 * @return Efl_Object *
284 *
285 * @ingroup Elm_Naviframe
286 */
287#define ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED (&(_ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED))
288
289#endif
diff --git a/src/lib/elementary/elm_naviframe_eo.legacy.c b/src/lib/elementary/elm_naviframe_eo.legacy.c
new file mode 100644
index 0000000..02d4717
--- /dev/null
+++ b/src/lib/elementary/elm_naviframe_eo.legacy.c
@@ -0,0 +1,84 @@
1
2EAPI void
3elm_naviframe_event_enabled_set(Elm_Naviframe *obj, Eina_Bool enabled)
4{
5 elm_obj_naviframe_event_enabled_set(obj, enabled);
6}
7
8EAPI Eina_Bool
9elm_naviframe_event_enabled_get(const Elm_Naviframe *obj)
10{
11 return elm_obj_naviframe_event_enabled_get(obj);
12}
13
14EAPI void
15elm_naviframe_content_preserve_on_pop_set(Elm_Naviframe *obj, Eina_Bool preserve)
16{
17 elm_obj_naviframe_content_preserve_on_pop_set(obj, preserve);
18}
19
20EAPI Eina_Bool
21elm_naviframe_content_preserve_on_pop_get(const Elm_Naviframe *obj)
22{
23 return elm_obj_naviframe_content_preserve_on_pop_get(obj);
24}
25
26EAPI void
27elm_naviframe_prev_btn_auto_pushed_set(Elm_Naviframe *obj, Eina_Bool auto_pushed)
28{
29 elm_obj_naviframe_prev_btn_auto_pushed_set(obj, auto_pushed);
30}
31
32EAPI Eina_Bool
33elm_naviframe_prev_btn_auto_pushed_get(const Elm_Naviframe *obj)
34{
35 return elm_obj_naviframe_prev_btn_auto_pushed_get(obj);
36}
37
38EAPI Eina_List *
39elm_naviframe_items_get(const Elm_Naviframe *obj)
40{
41 return elm_obj_naviframe_items_get(obj);
42}
43
44EAPI Elm_Widget_Item *
45elm_naviframe_top_item_get(const Elm_Naviframe *obj)
46{
47 return elm_obj_naviframe_top_item_get(obj);
48}
49
50EAPI Elm_Widget_Item *
51elm_naviframe_bottom_item_get(const Elm_Naviframe *obj)
52{
53 return elm_obj_naviframe_bottom_item_get(obj);
54}
55
56EAPI Efl_Canvas_Object *
57elm_naviframe_item_pop(Elm_Naviframe *obj)
58{
59 return elm_obj_naviframe_item_pop(obj);
60}
61
62EAPI Elm_Widget_Item *
63elm_naviframe_item_insert_before(Elm_Naviframe *obj, Elm_Widget_Item *before, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style)
64{
65 return elm_obj_naviframe_item_insert_before(obj, before, title_label, prev_btn, next_btn, content, item_style);
66}
67
68EAPI Elm_Widget_Item *
69elm_naviframe_item_push(Elm_Naviframe *obj, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style)
70{
71 return elm_obj_naviframe_item_push(obj, title_label, prev_btn, next_btn, content, item_style);
72}
73
74EAPI void
75elm_naviframe_item_simple_promote(Elm_Naviframe *obj, Efl_Canvas_Object *content)
76{
77 elm_obj_naviframe_item_simple_promote(obj, content);
78}
79
80EAPI Elm_Widget_Item *
81elm_naviframe_item_insert_after(Elm_Naviframe *obj, Elm_Widget_Item *after, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style)
82{
83 return elm_obj_naviframe_item_insert_after(obj, after, title_label, prev_btn, next_btn, content, item_style);
84}
diff --git a/src/lib/elementary/elm_naviframe_eo.legacy.h b/src/lib/elementary/elm_naviframe_eo.legacy.h
new file mode 100644
index 0000000..155e751
--- /dev/null
+++ b/src/lib/elementary/elm_naviframe_eo.legacy.h
@@ -0,0 +1,246 @@
1#ifndef _ELM_NAVIFRAME_EO_LEGACY_H_
2#define _ELM_NAVIFRAME_EO_LEGACY_H_
3
4#ifndef _ELM_NAVIFRAME_EO_CLASS_TYPE
5#define _ELM_NAVIFRAME_EO_CLASS_TYPE
6
7typedef Eo Elm_Naviframe;
8
9#endif
10
11#ifndef _ELM_NAVIFRAME_EO_TYPES
12#define _ELM_NAVIFRAME_EO_TYPES
13
14
15#endif
16
17/**
18 * @brief Control the event enabled when pushing/popping items
19 *
20 * If @c enabled is @c true, the contents of the naviframe item will receives
21 * events from mouse and keyboard during view changing such as item push/pop.
22 *
23 * @warning Events will be blocked by calling evas_object_freeze_events_set()
24 * internally. So don't call the API whiling pushing/popping items.
25 *
26 * @param[in] obj The object.
27 * @param[in] enabled Events are received when enabled is @c true, and ignored
28 * otherwise.
29 *
30 * @ingroup Elm_Naviframe_Group
31 */
32EAPI void elm_naviframe_event_enabled_set(Elm_Naviframe *obj, Eina_Bool enabled);
33
34/**
35 * @brief Control the event enabled when pushing/popping items
36 *
37 * If @c enabled is @c true, the contents of the naviframe item will receives
38 * events from mouse and keyboard during view changing such as item push/pop.
39 *
40 * @warning Events will be blocked by calling evas_object_freeze_events_set()
41 * internally. So don't call the API whiling pushing/popping items.
42 *
43 * @param[in] obj The object.
44 *
45 * @return Events are received when enabled is @c true, and ignored otherwise.
46 *
47 * @ingroup Elm_Naviframe_Group
48 */
49EAPI Eina_Bool elm_naviframe_event_enabled_get(const Elm_Naviframe *obj);
50
51/**
52 * @brief Preserve the content objects when items are popped.
53 *
54 * @param[in] obj The object.
55 * @param[in] preserve Enable the preserve mode if @c true, disable otherwise
56 *
57 * @ingroup Elm_Naviframe_Group
58 */
59EAPI void elm_naviframe_content_preserve_on_pop_set(Elm_Naviframe *obj, Eina_Bool preserve);
60
61/**
62 * @brief Preserve the content objects when items are popped.
63 *
64 * @param[in] obj The object.
65 *
66 * @return Enable the preserve mode if @c true, disable otherwise
67 *
68 * @ingroup Elm_Naviframe_Group
69 */
70EAPI Eina_Bool elm_naviframe_content_preserve_on_pop_get(const Elm_Naviframe *obj);
71
72/**
73 * @brief Control if creating prev button automatically or not
74 *
75 * @param[in] obj The object.
76 * @param[in] auto_pushed If @c true, the previous button(back button) will be
77 * created internally when you pass the @c NULL to the prev_btn parameter in
78 * elm_naviframe_item_push
79 *
80 * @ingroup Elm_Naviframe_Group
81 */
82EAPI void elm_naviframe_prev_btn_auto_pushed_set(Elm_Naviframe *obj, Eina_Bool auto_pushed);
83
84/**
85 * @brief Control if creating prev button automatically or not
86 *
87 * @param[in] obj The object.
88 *
89 * @return If @c true, the previous button(back button) will be created
90 * internally when you pass the @c NULL to the prev_btn parameter in
91 * elm_naviframe_item_push
92 *
93 * @ingroup Elm_Naviframe_Group
94 */
95EAPI Eina_Bool elm_naviframe_prev_btn_auto_pushed_get(const Elm_Naviframe *obj);
96
97/**
98 * @brief Get a list of all the naviframe items.
99 *
100 * @param[in] obj The object.
101 *
102 * @return A list of naviframe items, @ref Elm_Widget_Item, or @c NULL on
103 * failure. Note: The returned list MUST be freed.
104 *
105 * @ingroup Elm_Naviframe_Group
106 */
107EAPI Eina_List *elm_naviframe_items_get(const Elm_Naviframe *obj) EINA_WARN_UNUSED_RESULT;
108
109/**
110 * @brief Get a top item on the naviframe stack
111 *
112 * @param[in] obj The object.
113 *
114 * @return The top item on the naviframe stack or @c NULL, if the stack is
115 * empty
116 *
117 * @ingroup Elm_Naviframe_Group
118 */
119EAPI Elm_Widget_Item *elm_naviframe_top_item_get(const Elm_Naviframe *obj);
120
121/**
122 * @brief Get a bottom item on the naviframe stack
123 *
124 * @param[in] obj The object.
125 *
126 * @return The bottom item on the naviframe stack or @c NULL, if the stack is
127 * empty
128 *
129 * @ingroup Elm_Naviframe_Group
130 */
131EAPI Elm_Widget_Item *elm_naviframe_bottom_item_get(const Elm_Naviframe *obj);
132
133/**
134 * @brief Pop an item that is on top of the stack
135 *
136 * This pops an item that is on the top(visible) of the naviframe, makes it
137 * disappear, then deletes the item. The item that was underneath it on the
138 * stack will become visible.
139 *
140 * When pop transition animation is in progress, new pop operation is blocked
141 * until current pop operation is complete.
142 *
143 * @param[in] obj The object.
144 *
145 * @return @c NULL or the content object(if the
146 * elm_naviframe_content_preserve_on_pop_get is true).
147 *
148 * @ingroup Elm_Naviframe_Group
149 */
150EAPI Efl_Canvas_Object *elm_naviframe_item_pop(Elm_Naviframe *obj);
151
152/**
153 * @brief Insert a new item into the naviframe before item @c before.
154 *
155 * The item is inserted into the naviframe straight away without any transition
156 * operations. This item will be deleted when it is popped.
157 *
158 * @param[in] obj The object.
159 * @param[in] before The naviframe item to insert before.
160 * @param[in] title_label The label in the title area. The name of the title
161 * label part is "elm.text.title"
162 * @param[in] prev_btn The button to go to the previous item. If it is NULL,
163 * then naviframe will create a back button automatically. The name of the
164 * prev_btn part is "elm.swallow.prev_btn"
165 * @param[in] next_btn The button to go to the next item. Or It could be just
166 * an extra function button. The name of the next_btn part is
167 * "elm.swallow.next_btn"
168 * @param[in] content The main content object. The name of content part is
169 * "elm.swallow.content"
170 * @param[in] item_style The current item style name. @c NULL would be default.
171 *
172 * @return The created item or @c NULL upon failure.
173 *
174 * @ingroup Elm_Naviframe_Group
175 */
176EAPI Elm_Widget_Item *elm_naviframe_item_insert_before(Elm_Naviframe *obj, Elm_Widget_Item *before, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
177
178/**
179 * @brief Push a new item to the top of the naviframe stack (and show it).
180 *
181 * The item pushed becomes one page of the naviframe, this item will be deleted
182 * when it is popped.
183 *
184 * When push transition animation is in progress, pop operation is blocked
185 * until push is complete.
186 *
187 * The following styles are available for this item: "default"
188 *
189 * @param[in] obj The object.
190 * @param[in] title_label The label in the title area. The name of the title
191 * label part is "elm.text.title"
192 * @param[in] prev_btn The button to go to the previous item. If it is NULL,
193 * then naviframe will create a back button automatically. The name of the
194 * prev_btn part is "elm.swallow.prev_btn"
195 * @param[in] next_btn The button to go to the next item. Or It could be just
196 * an extra function button. The name of the next_btn part is
197 * "elm.swallow.next_btn"
198 * @param[in] content The main content object. The name of content part is
199 * "elm.swallow.content"
200 * @param[in] item_style The current item style name. @c NULL would be default.
201 *
202 * @return The created item or @c NULL upon failure.
203 *
204 * @ingroup Elm_Naviframe_Group
205 */
206EAPI Elm_Widget_Item *elm_naviframe_item_push(Elm_Naviframe *obj, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
207
208/**
209 * @brief Simple version of item_promote.
210 *
211 * @param[in] obj The object.
212 * @param[in] content Item to promote
213 *
214 * @ingroup Elm_Naviframe_Group
215 */
216EAPI void elm_naviframe_item_simple_promote(Elm_Naviframe *obj, Efl_Canvas_Object *content);
217
218/**
219 * @brief Insert a new item into the naviframe after item @c after.
220 *
221 * The item is inserted into the naviframe straight away without any transition
222 * operations. This item will be deleted when it is popped.
223 *
224 * The following styles are available for this item: "default"
225 *
226 * @param[in] obj The object.
227 * @param[in] after The naviframe item to insert after.
228 * @param[in] title_label The label in the title area. The name of the title
229 * label part is "elm.text.title"
230 * @param[in] prev_btn The button to go to the previous item. If it is NULL,
231 * then naviframe will create a back button automatically. The name of the
232 * prev_btn part is "elm.swallow.prev_btn"
233 * @param[in] next_btn The button to go to the next item. Or It could be just
234 * an extra function button. The name of the next_btn part is
235 * "elm.swallow.next_btn"
236 * @param[in] content The main content object. The name of content part is
237 * "elm.swallow.content"
238 * @param[in] item_style The current item style name. @c NULL would be default.
239 *
240 * @return The created item or @c NULL upon failure.
241 *
242 * @ingroup Elm_Naviframe_Group
243 */
244EAPI Elm_Widget_Item *elm_naviframe_item_insert_after(Elm_Naviframe *obj, Elm_Widget_Item *after, const char *title_label, Efl_Canvas_Object *prev_btn, Efl_Canvas_Object *next_btn, Efl_Canvas_Object *content, const char *item_style);
245
246#endif
diff --git a/src/lib/elementary/elm_naviframe_item.eo b/src/lib/elementary/elm_naviframe_item.eo
deleted file mode 100644
index c35f345..0000000
--- a/src/lib/elementary/elm_naviframe_item.eo
+++ /dev/null
@@ -1,78 +0,0 @@
1type Elm_Naviframe_Item_Pop_Cb: __undefined_type; [[Elementary naviframe item pop callback type]]
2
3class Elm.Naviframe.Item extends Elm.Widget.Item implements Efl.Ui.Legacy
4{
5 [[Elementary naviframe item class]]
6 legacy_prefix: elm_naviframe_item;
7 eo_prefix: elm_obj_naviframe_item;
8 methods {
9 pop_to {
10 [[Pop the top item and delete the items between the top and the
11 above one on the given item.
12
13 The items between the top and the given item will be deleted
14 first, and then the top item will be popped at last.
15
16 Warning: The pop callback function set by
17 elm_naviframe_item_pop_cb_set is not called for items between the
18 top item and the destination item since those items are deleted
19 without being popped.
20 ]]
21 }
22 title_enabled_get @const {
23 [[Get a value whether title area is enabled or not.]]
24 return: bool; [[If $true, title area will be enabled, disabled otherwise]]
25 }
26 title_enabled_set {
27 [[Enable/Disable the title area with transition effect
28
29 When the title area is disabled, then the controls would be
30 hidden so as to expand the content area to full-size.
31 ]]
32 params {
33 @in enable: bool; [[If $true, title area will be enabled, disabled otherwise]]
34 @in transition: bool; [[If $true, transition effect of the title will be visible, invisible otherwise]]
35 }
36 }
37 promote {
38 [[Promote an item already in the naviframe stack to the top of
39 the stack.
40
41 This will take the indicated item and promote it to the top of
42 the stack as if it had been pushed there. The item must already
43 be inside the naviframe stack to work.
44 ]]
45 }
46
47 pop_cb_set {
48 [[Set a function to be called when an item of the naviframe is
49 going to be popped.
50
51 Warning: Don't set "clicked" callback to the prev button
52 additionally if the function does an exact same logic with
53 this $func. When hardware back key is pressed then both
54 callbacks will be called.
55 Warning: The pop callback function is called only if the item is
56 popped. Therefore, the pop callback function is not called if the
57 item is deleted without being popped.
58
59 @since 1.8
60 ]]
61 params {
62 @in func: Elm_Naviframe_Item_Pop_Cb @nullable; [[The callback function.]]
63 @in data: void_ptr @optional; [[Data to be passed to func call.]]
64 }
65 }
66 }
67 implements {
68 Efl.Object.constructor;
69 Efl.Object.invalidate;
70 Efl.Object.destructor;
71 Elm.Widget.Item.signal_emit;
72 Elm.Widget.Item.part_text { get; set; }
73 Elm.Widget.Item.part_content { get; set; }
74 Elm.Widget.Item.part_content_unset;
75 Elm.Widget.Item.style { set; }
76 Efl.Access.Object.access_children { get; }
77 }
78}
diff --git a/src/lib/elementary/elm_naviframe_item_eo.c b/src/lib/elementary/elm_naviframe_item_eo.c
new file mode 100644
index 0000000..49f0583
--- /dev/null
+++ b/src/lib/elementary/elm_naviframe_item_eo.c
@@ -0,0 +1,102 @@
1
2void _elm_naviframe_item_pop_to(Eo *obj, Elm_Naviframe_Item_Data *pd);
3
4EOAPI EFL_VOID_FUNC_BODY(elm_obj_naviframe_item_pop_to);
5
6Eina_Bool _elm_naviframe_item_title_enabled_get(const Eo *obj, Elm_Naviframe_Item_Data *pd);
7
8EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_item_title_enabled_get, Eina_Bool, 0);
9
10void _elm_naviframe_item_title_enabled_set(Eo *obj, Elm_Naviframe_Item_Data *pd, Eina_Bool enable, Eina_Bool transition);
11
12EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_item_title_enabled_set, EFL_FUNC_CALL(enable, transition), Eina_Bool enable, Eina_Bool transition);
13
14void _elm_naviframe_item_promote(Eo *obj, Elm_Naviframe_Item_Data *pd);
15
16EOAPI EFL_VOID_FUNC_BODY(elm_obj_naviframe_item_promote);
17
18void _elm_naviframe_item_pop_cb_set(Eo *obj, Elm_Naviframe_Item_Data *pd, Elm_Naviframe_Item_Pop_Cb func, void *data);
19
20EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_item_pop_cb_set, EFL_FUNC_CALL(func, data), Elm_Naviframe_Item_Pop_Cb func, void *data);
21
22Efl_Object *_elm_naviframe_item_efl_object_constructor(Eo *obj, Elm_Naviframe_Item_Data *pd);
23
24
25void _elm_naviframe_item_efl_object_invalidate(Eo *obj, Elm_Naviframe_Item_Data *pd);
26
27
28void _elm_naviframe_item_efl_object_destructor(Eo *obj, Elm_Naviframe_Item_Data *pd);
29
30
31void _elm_naviframe_item_elm_widget_item_signal_emit(Eo *obj, Elm_Naviframe_Item_Data *pd, const char *emission, const char *source);
32
33
34void _elm_naviframe_item_elm_widget_item_part_text_set(Eo *obj, Elm_Naviframe_Item_Data *pd, const char *part, const char *label);
35
36
37const char *_elm_naviframe_item_elm_widget_item_part_text_get(const Eo *obj, Elm_Naviframe_Item_Data *pd, const char *part);
38
39
40void _elm_naviframe_item_elm_widget_item_part_content_set(Eo *obj, Elm_Naviframe_Item_Data *pd, const char *part, Efl_Canvas_Object *content);
41
42
43Efl_Canvas_Object *_elm_naviframe_item_elm_widget_item_part_content_get(const Eo *obj, Elm_Naviframe_Item_Data *pd, const char *part);
44
45
46Efl_Canvas_Object *_elm_naviframe_item_elm_widget_item_part_content_unset(Eo *obj, Elm_Naviframe_Item_Data *pd, const char *part);
47
48
49void _elm_naviframe_item_elm_widget_item_style_set(Eo *obj, Elm_Naviframe_Item_Data *pd, const char *style);
50
51
52Eina_List *_elm_naviframe_item_efl_access_object_access_children_get(const Eo *obj, Elm_Naviframe_Item_Data *pd);
53
54
55static Eina_Bool
56_elm_naviframe_item_class_initializer(Efl_Class *klass)
57{
58 const Efl_Object_Ops *opsp = NULL;
59
60 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
61
62#ifndef ELM_NAVIFRAME_ITEM_EXTRA_OPS
63#define ELM_NAVIFRAME_ITEM_EXTRA_OPS
64#endif
65
66 EFL_OPS_DEFINE(ops,
67 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_pop_to, _elm_naviframe_item_pop_to),
68 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_title_enabled_get, _elm_naviframe_item_title_enabled_get),
69 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_title_enabled_set, _elm_naviframe_item_title_enabled_set),
70 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_promote, _elm_naviframe_item_promote),
71 EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_pop_cb_set, _elm_naviframe_item_pop_cb_set),
72 EFL_OBJECT_OP_FUNC(efl_constructor, _elm_naviframe_item_efl_object_constructor),
73 EFL_OBJECT_OP_FUNC(efl_invalidate, _elm_naviframe_item_efl_object_invalidate),
74 EFL_OBJECT_OP_FUNC(efl_destructor, _elm_naviframe_item_efl_object_destructor),
75 EFL_OBJECT_OP_FUNC(elm_wdg_item_signal_emit, _elm_naviframe_item_elm_widget_item_signal_emit),
76 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_set, _elm_naviframe_item_elm_widget_item_part_text_set),
77 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_get, _elm_naviframe_item_elm_widget_item_part_text_get),
78 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_set, _elm_naviframe_item_elm_widget_item_part_content_set),
79 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_get, _elm_naviframe_item_elm_widget_item_part_content_get),
80 EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_unset, _elm_naviframe_item_elm_widget_item_part_content_unset),
81 EFL_OBJECT_OP_FUNC(elm_wdg_item_style_set, _elm_naviframe_item_elm_widget_item_style_set),
82 EFL_OBJECT_OP_FUNC(efl_access_object_access_children_get, _elm_naviframe_item_efl_access_object_access_children_get),
83 ELM_NAVIFRAME_ITEM_EXTRA_OPS
84 );
85 opsp = &ops;
86
87 return efl_class_functions_set(klass, opsp, ropsp);
88}
89
90static const Efl_Class_Description _elm_naviframe_item_class_desc = {
91 EO_VERSION,
92 "Elm.Naviframe.Item",
93 EFL_CLASS_TYPE_REGULAR,
94 sizeof(Elm_Naviframe_Item_Data),
95 _elm_naviframe_item_class_initializer,
96 NULL,
97 NULL
98};
99
100EFL_DEFINE_CLASS(elm_naviframe_item_class_get, &_elm_naviframe_item_class_desc, ELM_WIDGET_ITEM_CLASS, EFL_UI_LEGACY_INTERFACE, NULL);
101
102#include "elm_naviframe_item_eo.legacy.c"
diff --git a/src/lib/elementary/elm_naviframe_item_eo.h b/src/lib/elementary/elm_naviframe_item_eo.h
new file mode 100644
index 0000000..d5b8684
--- /dev/null
+++ b/src/lib/elementary/elm_naviframe_item_eo.h
@@ -0,0 +1,99 @@
1#ifndef _ELM_NAVIFRAME_ITEM_EO_H_
2#define _ELM_NAVIFRAME_ITEM_EO_H_
3
4#ifndef _ELM_NAVIFRAME_ITEM_EO_CLASS_TYPE
5#define _ELM_NAVIFRAME_ITEM_EO_CLASS_TYPE
6
7typedef Eo Elm_Naviframe_Item;
8
9#endif
10
11#ifndef _ELM_NAVIFRAME_ITEM_EO_TYPES
12#define _ELM_NAVIFRAME_ITEM_EO_TYPES
13
14
15#endif
16/** Elementary naviframe item class
17 *
18 * @ingroup Elm_Naviframe_Item
19 */
20#define ELM_NAVIFRAME_ITEM_CLASS elm_naviframe_item_class_get()
21
22EWAPI const Efl_Class *elm_naviframe_item_class_get(void);
23
24/**
25 * @brief Pop the top item and delete the items between the top and the above
26 * one on the given item.
27 *
28 * The items between the top and the given item will be deleted first, and then
29 * the top item will be popped at last.
30 *
31 * @warning The pop callback function set by elm_naviframe_item_pop_cb_set is
32 * not called for items between the top item and the destination item since
33 * those items are deleted without being popped.
34 * @param[in] obj The object.
35 *
36 * @ingroup Elm_Naviframe_Item
37 */
38EOAPI void elm_obj_naviframe_item_pop_to(Eo *obj);
39
40/**
41 * @brief Get a value whether title area is enabled or not.
42 *
43 * @param[in] obj The object.
44 *
45 * @return If @c true, title area will be enabled, disabled otherwise
46 *
47 * @ingroup Elm_Naviframe_Item
48 */
49EOAPI Eina_Bool elm_obj_naviframe_item_title_enabled_get(const Eo *obj);
50
51/**
52 * @brief Enable/Disable the title area with transition effect
53 *
54 * When the title area is disabled, then the controls would be hidden so as to
55 * expand the content area to full-size.
56 *
57 * @param[in] obj The object.
58 * @param[in] enable If @c true, title area will be enabled, disabled otherwise
59 * @param[in] transition If @c true, transition effect of the title will be
60 * visible, invisible otherwise
61 *
62 * @ingroup Elm_Naviframe_Item
63 */
64EOAPI void elm_obj_naviframe_item_title_enabled_set(Eo *obj, Eina_Bool enable, Eina_Bool transition);
65
66/**
67 * @brief Promote an item already in the naviframe stack to the top of the
68 * stack.
69 *
70 * This will take the indicated item and promote it to the top of the stack as
71 * if it had been pushed there. The item must already be inside the naviframe
72 * stack to work.
73 * @param[in] obj The object.
74 *
75 * @ingroup Elm_Naviframe_Item
76 */
77EOAPI void elm_obj_naviframe_item_promote(Eo *obj);
78
79/**
80 * @brief Set a function to be called when an item of the naviframe is going to
81 * be popped.
82 *
83 * @warning Don't set "clicked" callback to the prev button additionally if the
84 * function does an exact same logic with this @c func. When hardware back key
85 * is pressed then both callbacks will be called. Warning: The pop callback
86 * function is called only if the item is popped. Therefore, the pop callback
87 * function is not called if the item is deleted without being popped.
88 *
89 * @param[in] obj The object.
90 * @param[in] func The callback function.
91 * @param[in] data Data to be passed to func call.
92 *
93 * @since 1.8
94 *
95 * @ingroup Elm_Naviframe_Item
96 */
97EOAPI void elm_obj_naviframe_item_pop_cb_set(Eo *obj, Elm_Naviframe_Item_Pop_Cb func, void *data);
98
99#endif
diff --git a/src/lib/elementary/elm_naviframe_item_eo.legacy.c b/src/lib/elementary/elm_naviframe_item_eo.legacy.c
new file mode 100644
index 0000000..83d18b5
--- /dev/null
+++ b/src/lib/elementary/elm_naviframe_item_eo.legacy.c
@@ -0,0 +1,30 @@
1
2EAPI void
3elm_naviframe_item_pop_to(Elm_Naviframe_Item *obj)
4{
5 elm_obj_naviframe_item_pop_to(obj);
6}
7
8EAPI Eina_Bool
9elm_naviframe_item_title_enabled_get(const Elm_Naviframe_Item *obj)
10{
11 return elm_obj_naviframe_item_title_enabled_get(obj);
12}
13
14EAPI void
15elm_naviframe_item_title_enabled_set(Elm_Naviframe_Item *obj, Eina_Bool enable, Eina_Bool transition)
16{
17 elm_obj_naviframe_item_title_enabled_set(obj, enable, transition);
18}
19
20EAPI void
21elm_naviframe_item_promote(Elm_Naviframe_Item *obj)
22{
23 elm_obj_naviframe_item_promote(obj);
24}
25
26EAPI void
27elm_naviframe_item_pop_cb_set(Elm_Naviframe_Item *obj, Elm_Naviframe_Item_Pop_Cb func, void *data)
28{
29 elm_obj_naviframe_item_pop_cb_set(obj, func, data);
30}
diff --git a/src/lib/elementary/elm_naviframe_item_eo.legacy.h b/src/lib/elementary/elm_naviframe_item_eo.legacy.h
new file mode 100644
index 0000000..70be465
--- /dev/null
+++ b/src/lib/elementary/elm_naviframe_item_eo.legacy.h
@@ -0,0 +1,92 @@
1#ifndef _ELM_NAVIFRAME_ITEM_EO_LEGACY_H_
2#define _ELM_NAVIFRAME_ITEM_EO_LEGACY_H_
3
4#ifndef _ELM_NAVIFRAME_ITEM_EO_CLASS_TYPE
5#define _ELM_NAVIFRAME_ITEM_EO_CLASS_TYPE
6
7typedef Eo Elm_Naviframe_Item;
8
9#endif
10
11#ifndef _ELM_NAVIFRAME_ITEM_EO_TYPES
12#define _ELM_NAVIFRAME_ITEM_EO_TYPES
13
14
15#endif
16
17/**
18 * @brief Pop the top item and delete the items between the top and the above
19 * one on the given item.
20 *
21 * The items between the top and the given item will be deleted first, and then
22 * the top item will be popped at last.
23 *
24 * @warning The pop callback function set by elm_naviframe_item_pop_cb_set is
25 * not called for items between the top item and the destination item since
26 * those items are deleted without being popped.
27 * @param[in] obj The object.
28 *
29 * @ingroup Elm_Naviframe_Item_Group
30 */
31EAPI void elm_naviframe_item_pop_to(Elm_Naviframe_Item *obj);
32
33/**
34 * @brief Get a value whether title area is enabled or not.
35 *
36 * @param[in] obj The object.
37 *
38 * @return If @c true, title area will be enabled, disabled otherwise
39 *
40 * @ingroup Elm_Naviframe_Item_Group
41 */
42EAPI Eina_Bool elm_naviframe_item_title_enabled_get(const Elm_Naviframe_Item *obj);
43
44/**
45 * @brief Enable/Disable the title area with transition effect
46 *
47 * When the title area is disabled, then the controls would be hidden so as to
48 * expand the content area to full-size.
49 *
50 * @param[in] obj The object.
51 * @param[in] enable If @c true, title area will be enabled, disabled otherwise
52 * @param[in] transition If @c true, transition effect of the title will be
53 * visible, invisible otherwise
54 *
55 * @ingroup Elm_Naviframe_Item_Group
56 */
57EAPI void elm_naviframe_item_title_enabled_set(Elm_Naviframe_Item *obj, Eina_Bool enable, Eina_Bool transition);
58
59/**
60 * @brief Promote an item already in the naviframe stack to the top of the
61 * stack.
62 *
63 * This will take the indicated item and promote it to the top of the stack as
64 * if it had been pushed there. The item must already be inside the naviframe
65 * stack to work.
66 * @param[in] obj The object.
67 *
68 * @ingroup Elm_Naviframe_Item_Group
69 */
70EAPI void elm_naviframe_item_promote(Elm_Naviframe_Item *obj);
71
72/**
73 * @brief Set a function to be called when an item of the naviframe is going to
74 * be popped.
75 *
76 * @warning Don't set "clicked" callback to the prev button additionally if the
77 * function does an exact same logic with this @c func. When hardware back key
78 * is pressed then both callbacks will be called. Warning: The pop callback
79 * function is called only if the item is popped. Therefore, the pop callback
80 * function is not called if the item is deleted without being popped.
81 *
82 * @param[in] obj The object.
83 * @param[in] func The callback function.
84 * @param[in] data Data to be passed to func call.
85 *
86 * @since 1.8
87 *
88 * @ingroup Elm_Naviframe_Item_Group
89 */
90EAPI void elm_naviframe_item_pop_cb_set(Elm_Naviframe_Item *obj, Elm_Naviframe_Item_Pop_Cb func, void *data);
91
92#endif
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index b738020..6437926 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -30,8 +30,6 @@ pub_legacy_eo_files = [
30 'elm_actionslider_part.eo', 30 'elm_actionslider_part.eo',
31 'elm_bubble_part.eo', 31 'elm_bubble_part.eo',
32 'elm_fileselector_part.eo', 32 'elm_fileselector_part.eo',
33 'elm_naviframe.eo',
34 'elm_naviframe_item.eo',
35 'elm_photo.eo', 33 'elm_photo.eo',
36 'elm_prefs.eo', 34 'elm_prefs.eo',
37 'elm_segment_control.eo', 35 'elm_segment_control.eo',
@@ -775,6 +773,10 @@ elementary_pub_headers = [
775 'elm_multibuttonentry_eo.legacy.h', 773 'elm_multibuttonentry_eo.legacy.h',
776 'elm_multibuttonentry_item_eo.h', 774 'elm_multibuttonentry_item_eo.h',
777 'elm_multibuttonentry_item_eo.legacy.h', 775 'elm_multibuttonentry_item_eo.legacy.h',
776 'elm_naviframe_eo.h',
777 'elm_naviframe_eo.legacy.h',
778 'elm_naviframe_item_eo.h',
779 'elm_naviframe_item_eo.legacy.h',
778] 780]
779 781
780elementary_header_src = [ 782elementary_header_src = [