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
This commit is contained in:
Mike Blumenkrantz 2019-03-05 17:00:37 -05:00 committed by Cedric BAIL
parent b7e92a49fe
commit 095b8bebc8
14 changed files with 1193 additions and 250 deletions

View File

@ -214,8 +214,6 @@ elm_legacy_eolian_files = \
lib/elementary/elm_actionslider_part.eo \
lib/elementary/elm_bubble_part.eo \
lib/elementary/elm_fileselector_part.eo \
lib/elementary/elm_naviframe.eo \
lib/elementary/elm_naviframe_item.eo \
lib/elementary/elm_photo.eo \
lib/elementary/elm_prefs.eo \
lib/elementary/elm_segment_control.eo \
@ -372,6 +370,10 @@ lib/elementary/elm_multibuttonentry_eo.c \
lib/elementary/elm_multibuttonentry_eo.legacy.c \
lib/elementary/elm_multibuttonentry_item_eo.c \
lib/elementary/elm_multibuttonentry_item_eo.legacy.c \
lib/elementary/elm_naviframe_eo.c \
lib/elementary/elm_naviframe_eo.legacy.c \
lib/elementary/elm_naviframe_item_eo.c \
lib/elementary/elm_naviframe_item_eo.legacy.c \
$(NULL)
elm_legacy_eo_headers = \
@ -521,6 +523,10 @@ lib/elementary/elm_multibuttonentry_eo.h \
lib/elementary/elm_multibuttonentry_eo.legacy.h \
lib/elementary/elm_multibuttonentry_item_eo.h \
lib/elementary/elm_multibuttonentry_item_eo.legacy.h \
lib/elementary/elm_naviframe_eo.h \
lib/elementary/elm_naviframe_eo.legacy.h \
lib/elementary/elm_naviframe_item_eo.h \
lib/elementary/elm_naviframe_item_eo.legacy.h \
$(NULL)

View File

@ -11,8 +11,8 @@
#include <Elementary.h>
#include "elm_priv.h"
#include "elm_naviframe.eo.h"
#include "elm_naviframe_item.eo.h"
#include "elm_naviframe_eo.h"
#include "elm_naviframe_item_eo.h"
#include "elm_widget_naviframe.h"
#include "elm_widget_container.h"
@ -2052,5 +2052,5 @@ ELM_PART_OVERRIDE_TEXT_GET(elm_naviframe, ELM_NAVIFRAME, Elm_Naviframe_Data)
ELM_LAYOUT_SIZING_EVAL_OPS(elm_naviframe), \
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_naviframe)
#include "elm_naviframe_item.eo.c"
#include "elm_naviframe.eo.c"
#include "elm_naviframe_item_eo.c"
#include "elm_naviframe_eo.c"

View File

@ -19,5 +19,5 @@ EAPI void elm_naviframe_item_style_set(Elm_Object_Item *obj, const char *style);
*/
EAPI const char *elm_naviframe_item_style_get(const Elm_Object_Item *obj);
#include "elm_naviframe_item.eo.legacy.h"
#include "elm_naviframe.eo.legacy.h"
#include "elm_naviframe_item_eo.legacy.h"
#include "elm_naviframe_eo.legacy.h"

View File

@ -1,162 +0,0 @@
class Elm.Naviframe extends Efl.Ui.Layout_Base implements Efl.Access.Widget.Action, Efl.Ui.Legacy
{
[[Elementary naviframe class]]
legacy_prefix: elm_naviframe;
eo_prefix: elm_obj_naviframe;
event_prefix: elm_naviframe;
methods {
@property event_enabled {
[[Control the event enabled when pushing/popping items
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.
Warning: Events will be blocked by calling evas_object_freeze_events_set()
internally. So don't call the API whiling pushing/popping items.]]
set {
}
get {
}
values {
enabled: bool; [[Events are received when enabled is $true, and ignored otherwise.]]
}
}
@property content_preserve_on_pop {
[[Preserve the content objects when items are popped.]]
set {
}
get {
}
values {
preserve: bool; [[Enable the preserve mode if $true, disable otherwise]]
}
}
@property prev_btn_auto_pushed {
[[Control if creating prev button automatically or not]]
set {
}
get {
}
values {
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]]
}
}
@property items {
get {
[[Get a list of all the naviframe items.]]
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.]]
}
}
@property top_item {
get {
[[Get a top item on the naviframe stack]]
return: Elm.Widget.Item; [[The top item on the naviframe stack or $NULL, if the stack is empty]]
}
}
@property bottom_item {
get {
[[Get a bottom item on the naviframe stack]]
return: Elm.Widget.Item; [[The bottom item on the naviframe stack or $NULL, if the stack is empty]]
}
}
item_pop {
[[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.
When pop transition animation is in progress, new pop operation is blocked until current pop operation
is complete.
]]
return: Efl.Canvas.Object; [[$NULL or the content object(if the elm_naviframe_content_preserve_on_pop_get is true).]]
}
item_insert_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.]]
return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
params {
@in before: Elm.Widget.Item; [[The naviframe item to insert before.]]
@in title_label: string @optional; [[The label in the title area. The name of the title label part is "elm.text.title"]]
@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"]]
@in item_style: string @nullable; [[The current item style name. $NULL would be default.]]
}
}
item_push {
[[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.
When push transition animation is in progress, pop operation is blocked until push is complete.
The following styles are available for this item:
"default"]]
return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
params {
@in title_label: string @optional; [[The label in the title area. The name of the title label part is "elm.text.title"]]
@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"]]
@in item_style: string @nullable; [[The current item style name. $NULL would be default.]]
}
}
item_simple_promote {
[[Simple version of item_promote.]]
params {
@in content: Efl.Canvas.Object; [[Item to promote]]
}
}
item_insert_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.
The following styles are available for this item:
"default"]]
return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
params {
@in after: Elm.Widget.Item; [[The naviframe item to insert after.]]
@in title_label: string @optional; [[The label in the title area. The name of the title label part is "elm.text.title"]]
@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"]]
@in item_style: string @nullable; [[The current item style name. $NULL would be default.]]
}
}
}
implements {
class.constructor;
Efl.Object.constructor;
Efl.Gfx.Entity.visible { set; }
Efl.Ui.Widget.on_access_update;
Efl.Ui.L10n.translation_update;
Efl.Ui.Widget.theme_apply;
Efl.Ui.Widget.widget_input_event_handler;
Efl.Layout.Signal.signal_emit;
Efl.Access.Widget.Action.elm_actions { get; }
Efl.Ui.Widget.resize_object { set; }
Efl.Part.part_get;
}
events {
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]]
}
}

View File

@ -0,0 +1,233 @@
EWAPI const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TRANSITION_FINISHED =
EFL_EVENT_DESCRIPTION("transition,finished");
EWAPI const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TITLE_TRANSITION_FINISHED =
EFL_EVENT_DESCRIPTION("title,transition,finished");
EWAPI const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TITLE_CLICKED =
EFL_EVENT_DESCRIPTION("title,clicked");
EWAPI const Efl_Event_Description _ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED =
EFL_EVENT_DESCRIPTION("item,activated");
void _elm_naviframe_event_enabled_set(Eo *obj, Elm_Naviframe_Data *pd, Eina_Bool enabled);
static Eina_Error
__eolian_elm_naviframe_event_enabled_set_reflect(Eo *obj, Eina_Value val)
{
Eina_Error r = 0; Eina_Bool cval;
if (!eina_value_bool_convert(&val, &cval))
{
r = EINA_ERROR_VALUE_FAILED;
goto end;
}
elm_obj_naviframe_event_enabled_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_event_enabled_set, EFL_FUNC_CALL(enabled), Eina_Bool enabled);
Eina_Bool _elm_naviframe_event_enabled_get(const Eo *obj, Elm_Naviframe_Data *pd);
static Eina_Value
__eolian_elm_naviframe_event_enabled_get_reflect(Eo *obj)
{
Eina_Bool val = elm_obj_naviframe_event_enabled_get(obj);
return eina_value_bool_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_event_enabled_get, Eina_Bool, 0);
void _elm_naviframe_content_preserve_on_pop_set(Eo *obj, Elm_Naviframe_Data *pd, Eina_Bool preserve);
static Eina_Error
__eolian_elm_naviframe_content_preserve_on_pop_set_reflect(Eo *obj, Eina_Value val)
{
Eina_Error r = 0; Eina_Bool cval;
if (!eina_value_bool_convert(&val, &cval))
{
r = EINA_ERROR_VALUE_FAILED;
goto end;
}
elm_obj_naviframe_content_preserve_on_pop_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_content_preserve_on_pop_set, EFL_FUNC_CALL(preserve), Eina_Bool preserve);
Eina_Bool _elm_naviframe_content_preserve_on_pop_get(const Eo *obj, Elm_Naviframe_Data *pd);
static Eina_Value
__eolian_elm_naviframe_content_preserve_on_pop_get_reflect(Eo *obj)
{
Eina_Bool val = elm_obj_naviframe_content_preserve_on_pop_get(obj);
return eina_value_bool_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_content_preserve_on_pop_get, Eina_Bool, 0);
void _elm_naviframe_prev_btn_auto_pushed_set(Eo *obj, Elm_Naviframe_Data *pd, Eina_Bool auto_pushed);
static Eina_Error
__eolian_elm_naviframe_prev_btn_auto_pushed_set_reflect(Eo *obj, Eina_Value val)
{
Eina_Error r = 0; Eina_Bool cval;
if (!eina_value_bool_convert(&val, &cval))
{
r = EINA_ERROR_VALUE_FAILED;
goto end;
}
elm_obj_naviframe_prev_btn_auto_pushed_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_prev_btn_auto_pushed_set, EFL_FUNC_CALL(auto_pushed), Eina_Bool auto_pushed);
Eina_Bool _elm_naviframe_prev_btn_auto_pushed_get(const Eo *obj, Elm_Naviframe_Data *pd);
static Eina_Value
__eolian_elm_naviframe_prev_btn_auto_pushed_get_reflect(Eo *obj)
{
Eina_Bool val = elm_obj_naviframe_prev_btn_auto_pushed_get(obj);
return eina_value_bool_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_prev_btn_auto_pushed_get, Eina_Bool, 0);
Eina_List *_elm_naviframe_items_get(const Eo *obj, Elm_Naviframe_Data *pd);
EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_items_get, Eina_List *, NULL);
Elm_Widget_Item *_elm_naviframe_top_item_get(const Eo *obj, Elm_Naviframe_Data *pd);
EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_top_item_get, Elm_Widget_Item *, NULL);
Elm_Widget_Item *_elm_naviframe_bottom_item_get(const Eo *obj, Elm_Naviframe_Data *pd);
EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_bottom_item_get, Elm_Widget_Item *, NULL);
Efl_Canvas_Object *_elm_naviframe_item_pop(Eo *obj, Elm_Naviframe_Data *pd);
EOAPI EFL_FUNC_BODY(elm_obj_naviframe_item_pop, Efl_Canvas_Object *, NULL);
Elm_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);
EOAPI 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);
Elm_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);
EOAPI 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);
void _elm_naviframe_item_simple_promote(Eo *obj, Elm_Naviframe_Data *pd, Efl_Canvas_Object *content);
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_item_simple_promote, EFL_FUNC_CALL(content), Efl_Canvas_Object *content);
Elm_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);
EOAPI 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);
Efl_Object *_elm_naviframe_efl_object_constructor(Eo *obj, Elm_Naviframe_Data *pd);
void _elm_naviframe_efl_gfx_entity_visible_set(Eo *obj, Elm_Naviframe_Data *pd, Eina_Bool v);
void _elm_naviframe_efl_ui_widget_on_access_update(Eo *obj, Elm_Naviframe_Data *pd, Eina_Bool enable);
void _elm_naviframe_efl_ui_l10n_translation_update(Eo *obj, Elm_Naviframe_Data *pd);
Eina_Error _elm_naviframe_efl_ui_widget_theme_apply(Eo *obj, Elm_Naviframe_Data *pd);
Eina_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);
void _elm_naviframe_efl_layout_signal_signal_emit(Eo *obj, Elm_Naviframe_Data *pd, const char *emission, const char *source);
const Efl_Access_Action_Data *_elm_naviframe_efl_access_widget_action_elm_actions_get(const Eo *obj, Elm_Naviframe_Data *pd);
void _elm_naviframe_efl_ui_widget_resize_object_set(Eo *obj, Elm_Naviframe_Data *pd, Efl_Canvas_Object *sobj);
Efl_Object *_elm_naviframe_efl_part_part_get(const Eo *obj, Elm_Naviframe_Data *pd, const char *name);
static Eina_Bool
_elm_naviframe_class_initializer(Efl_Class *klass)
{
const Efl_Object_Ops *opsp = NULL;
const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
#ifndef ELM_NAVIFRAME_EXTRA_OPS
#define ELM_NAVIFRAME_EXTRA_OPS
#endif
EFL_OPS_DEFINE(ops,
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_event_enabled_set, _elm_naviframe_event_enabled_set),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_event_enabled_get, _elm_naviframe_event_enabled_get),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_content_preserve_on_pop_set, _elm_naviframe_content_preserve_on_pop_set),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_content_preserve_on_pop_get, _elm_naviframe_content_preserve_on_pop_get),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_prev_btn_auto_pushed_set, _elm_naviframe_prev_btn_auto_pushed_set),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_prev_btn_auto_pushed_get, _elm_naviframe_prev_btn_auto_pushed_get),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_items_get, _elm_naviframe_items_get),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_top_item_get, _elm_naviframe_top_item_get),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_bottom_item_get, _elm_naviframe_bottom_item_get),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_pop, _elm_naviframe_item_pop),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_insert_before, _elm_naviframe_item_insert_before),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_push, _elm_naviframe_item_push),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_simple_promote, _elm_naviframe_item_simple_promote),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_insert_after, _elm_naviframe_item_insert_after),
EFL_OBJECT_OP_FUNC(efl_constructor, _elm_naviframe_efl_object_constructor),
EFL_OBJECT_OP_FUNC(efl_gfx_entity_visible_set, _elm_naviframe_efl_gfx_entity_visible_set),
EFL_OBJECT_OP_FUNC(efl_ui_widget_on_access_update, _elm_naviframe_efl_ui_widget_on_access_update),
EFL_OBJECT_OP_FUNC(efl_ui_l10n_translation_update, _elm_naviframe_efl_ui_l10n_translation_update),
EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_naviframe_efl_ui_widget_theme_apply),
EFL_OBJECT_OP_FUNC(efl_ui_widget_input_event_handler, _elm_naviframe_efl_ui_widget_widget_input_event_handler),
EFL_OBJECT_OP_FUNC(efl_layout_signal_emit, _elm_naviframe_efl_layout_signal_signal_emit),
EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _elm_naviframe_efl_access_widget_action_elm_actions_get),
EFL_OBJECT_OP_FUNC(efl_ui_widget_resize_object_set, _elm_naviframe_efl_ui_widget_resize_object_set),
EFL_OBJECT_OP_FUNC(efl_part_get, _elm_naviframe_efl_part_part_get),
ELM_NAVIFRAME_EXTRA_OPS
);
opsp = &ops;
static const Efl_Object_Property_Reflection refl_table[] = {
{"event_enabled", __eolian_elm_naviframe_event_enabled_set_reflect, __eolian_elm_naviframe_event_enabled_get_reflect},
{"content_preserve_on_pop", __eolian_elm_naviframe_content_preserve_on_pop_set_reflect, __eolian_elm_naviframe_content_preserve_on_pop_get_reflect},
{"prev_btn_auto_pushed", __eolian_elm_naviframe_prev_btn_auto_pushed_set_reflect, __eolian_elm_naviframe_prev_btn_auto_pushed_get_reflect},
};
static const Efl_Object_Property_Reflection_Ops rops = {
refl_table, EINA_C_ARRAY_LENGTH(refl_table)
};
ropsp = &rops;
return efl_class_functions_set(klass, opsp, ropsp);
}
static const Efl_Class_Description _elm_naviframe_class_desc = {
EO_VERSION,
"Elm.Naviframe",
EFL_CLASS_TYPE_REGULAR,
sizeof(Elm_Naviframe_Data),
_elm_naviframe_class_initializer,
_elm_naviframe_class_constructor,
NULL
};
EFL_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);
#include "elm_naviframe_eo.legacy.c"

View File

@ -0,0 +1,289 @@
#ifndef _ELM_NAVIFRAME_EO_H_
#define _ELM_NAVIFRAME_EO_H_
#ifndef _ELM_NAVIFRAME_EO_CLASS_TYPE
#define _ELM_NAVIFRAME_EO_CLASS_TYPE
typedef Eo Elm_Naviframe;
#endif
#ifndef _ELM_NAVIFRAME_EO_TYPES
#define _ELM_NAVIFRAME_EO_TYPES
#endif
/** Elementary naviframe class
*
* @ingroup Elm_Naviframe
*/
#define ELM_NAVIFRAME_CLASS elm_naviframe_class_get()
EWAPI const Efl_Class *elm_naviframe_class_get(void);
/**
* @brief Control the event enabled when pushing/popping items
*
* If @c enabled is @c 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 calling evas_object_freeze_events_set()
* internally. So don't call the API whiling pushing/popping items.
*
* @param[in] obj The object.
* @param[in] enabled Events are received when enabled is @c true, and ignored
* otherwise.
*
* @ingroup Elm_Naviframe
*/
EOAPI void elm_obj_naviframe_event_enabled_set(Eo *obj, Eina_Bool enabled);
/**
* @brief Control the event enabled when pushing/popping items
*
* If @c enabled is @c 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 calling evas_object_freeze_events_set()
* internally. So don't call the API whiling pushing/popping items.
*
* @param[in] obj The object.
*
* @return Events are received when enabled is @c true, and ignored otherwise.
*
* @ingroup Elm_Naviframe
*/
EOAPI Eina_Bool elm_obj_naviframe_event_enabled_get(const Eo *obj);
/**
* @brief Preserve the content objects when items are popped.
*
* @param[in] obj The object.
* @param[in] preserve Enable the preserve mode if @c true, disable otherwise
*
* @ingroup Elm_Naviframe
*/
EOAPI void elm_obj_naviframe_content_preserve_on_pop_set(Eo *obj, Eina_Bool preserve);
/**
* @brief Preserve the content objects when items are popped.
*
* @param[in] obj The object.
*
* @return Enable the preserve mode if @c true, disable otherwise
*
* @ingroup Elm_Naviframe
*/
EOAPI Eina_Bool elm_obj_naviframe_content_preserve_on_pop_get(const Eo *obj);
/**
* @brief Control if creating prev button automatically or not
*
* @param[in] obj The object.
* @param[in] auto_pushed If @c true, the previous button(back button) will be
* created internally when you pass the @c NULL to the prev_btn parameter in
* elm_naviframe_item_push
*
* @ingroup Elm_Naviframe
*/
EOAPI void elm_obj_naviframe_prev_btn_auto_pushed_set(Eo *obj, Eina_Bool auto_pushed);
/**
* @brief Control if creating prev button automatically or not
*
* @param[in] obj The object.
*
* @return If @c true, the previous button(back button) will be created
* internally when you pass the @c NULL to the prev_btn parameter in
* elm_naviframe_item_push
*
* @ingroup Elm_Naviframe
*/
EOAPI Eina_Bool elm_obj_naviframe_prev_btn_auto_pushed_get(const Eo *obj);
/**
* @brief Get a list of all the naviframe items.
*
* @param[in] obj The object.
*
* @return A list of naviframe items, @ref Elm_Widget_Item, or @c NULL on
* failure. Note: The returned list MUST be freed.
*
* @ingroup Elm_Naviframe
*/
EOAPI Eina_List *elm_obj_naviframe_items_get(const Eo *obj) EINA_WARN_UNUSED_RESULT;
/**
* @brief Get a top item on the naviframe stack
*
* @param[in] obj The object.
*
* @return The top item on the naviframe stack or @c NULL, if the stack is
* empty
*
* @ingroup Elm_Naviframe
*/
EOAPI Elm_Widget_Item *elm_obj_naviframe_top_item_get(const Eo *obj);
/**
* @brief Get a bottom item on the naviframe stack
*
* @param[in] obj The object.
*
* @return The bottom item on the naviframe stack or @c NULL, if the stack is
* empty
*
* @ingroup Elm_Naviframe
*/
EOAPI Elm_Widget_Item *elm_obj_naviframe_bottom_item_get(const Eo *obj);
/**
* @brief 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.
*
* When pop transition animation is in progress, new pop operation is blocked
* until current pop operation is complete.
*
* @param[in] obj The object.
*
* @return @c NULL or the content object(if the
* elm_naviframe_content_preserve_on_pop_get is true).
*
* @ingroup Elm_Naviframe
*/
EOAPI Efl_Canvas_Object *elm_obj_naviframe_item_pop(Eo *obj);
/**
* @brief Insert a new item into the naviframe before item @c before.
*
* The item is inserted into the naviframe straight away without any transition
* operations. This item will be deleted when it is popped.
*
* @param[in] obj The object.
* @param[in] before The naviframe item to insert before.
* @param[in] title_label The label in the title area. The name of the title
* label part is "elm.text.title"
* @param[in] prev_btn 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"
* @param[in] next_btn 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"
* @param[in] content The main content object. The name of content part is
* "elm.swallow.content"
* @param[in] item_style The current item style name. @c NULL would be default.
*
* @return The created item or @c NULL upon failure.
*
* @ingroup Elm_Naviframe
*/
EOAPI 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);
/**
* @brief 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.
*
* When push transition animation is in progress, pop operation is blocked
* until push is complete.
*
* The following styles are available for this item: "default"
*
* @param[in] obj The object.
* @param[in] title_label The label in the title area. The name of the title
* label part is "elm.text.title"
* @param[in] prev_btn 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"
* @param[in] next_btn 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"
* @param[in] content The main content object. The name of content part is
* "elm.swallow.content"
* @param[in] item_style The current item style name. @c NULL would be default.
*
* @return The created item or @c NULL upon failure.
*
* @ingroup Elm_Naviframe
*/
EOAPI 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);
/**
* @brief Simple version of item_promote.
*
* @param[in] obj The object.
* @param[in] content Item to promote
*
* @ingroup Elm_Naviframe
*/
EOAPI void elm_obj_naviframe_item_simple_promote(Eo *obj, Efl_Canvas_Object *content);
/**
* @brief Insert a new item into the naviframe after item @c after.
*
* The item is inserted into the naviframe straight away without any transition
* operations. This item will be deleted when it is popped.
*
* The following styles are available for this item: "default"
*
* @param[in] obj The object.
* @param[in] after The naviframe item to insert after.
* @param[in] title_label The label in the title area. The name of the title
* label part is "elm.text.title"
* @param[in] prev_btn 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"
* @param[in] next_btn 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"
* @param[in] content The main content object. The name of content part is
* "elm.swallow.content"
* @param[in] item_style The current item style name. @c NULL would be default.
*
* @return The created item or @c NULL upon failure.
*
* @ingroup Elm_Naviframe
*/
EOAPI 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);
EWAPI extern const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TRANSITION_FINISHED;
/** Called when naviframe transition finished
* @return Efl_Object *
*
* @ingroup Elm_Naviframe
*/
#define ELM_NAVIFRAME_EVENT_TRANSITION_FINISHED (&(_ELM_NAVIFRAME_EVENT_TRANSITION_FINISHED))
EWAPI extern const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TITLE_TRANSITION_FINISHED;
/** Called when naviframe title transaction finished
* @return Efl_Object *
*
* @ingroup Elm_Naviframe
*/
#define ELM_NAVIFRAME_EVENT_TITLE_TRANSITION_FINISHED (&(_ELM_NAVIFRAME_EVENT_TITLE_TRANSITION_FINISHED))
EWAPI extern const Efl_Event_Description _ELM_NAVIFRAME_EVENT_TITLE_CLICKED;
/** Called when naviframe title was clicked
* @return Efl_Object *
*
* @ingroup Elm_Naviframe
*/
#define ELM_NAVIFRAME_EVENT_TITLE_CLICKED (&(_ELM_NAVIFRAME_EVENT_TITLE_CLICKED))
EWAPI extern const Efl_Event_Description _ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED;
/** Called when naviframe item was activated
* @return Efl_Object *
*
* @ingroup Elm_Naviframe
*/
#define ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED (&(_ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED))
#endif

View File

@ -0,0 +1,84 @@
EAPI void
elm_naviframe_event_enabled_set(Elm_Naviframe *obj, Eina_Bool enabled)
{
elm_obj_naviframe_event_enabled_set(obj, enabled);
}
EAPI Eina_Bool
elm_naviframe_event_enabled_get(const Elm_Naviframe *obj)
{
return elm_obj_naviframe_event_enabled_get(obj);
}
EAPI void
elm_naviframe_content_preserve_on_pop_set(Elm_Naviframe *obj, Eina_Bool preserve)
{
elm_obj_naviframe_content_preserve_on_pop_set(obj, preserve);
}
EAPI Eina_Bool
elm_naviframe_content_preserve_on_pop_get(const Elm_Naviframe *obj)
{
return elm_obj_naviframe_content_preserve_on_pop_get(obj);
}
EAPI void
elm_naviframe_prev_btn_auto_pushed_set(Elm_Naviframe *obj, Eina_Bool auto_pushed)
{
elm_obj_naviframe_prev_btn_auto_pushed_set(obj, auto_pushed);
}
EAPI Eina_Bool
elm_naviframe_prev_btn_auto_pushed_get(const Elm_Naviframe *obj)
{
return elm_obj_naviframe_prev_btn_auto_pushed_get(obj);
}
EAPI Eina_List *
elm_naviframe_items_get(const Elm_Naviframe *obj)
{
return elm_obj_naviframe_items_get(obj);
}
EAPI Elm_Widget_Item *
elm_naviframe_top_item_get(const Elm_Naviframe *obj)
{
return elm_obj_naviframe_top_item_get(obj);
}
EAPI Elm_Widget_Item *
elm_naviframe_bottom_item_get(const Elm_Naviframe *obj)
{
return elm_obj_naviframe_bottom_item_get(obj);
}
EAPI Efl_Canvas_Object *
elm_naviframe_item_pop(Elm_Naviframe *obj)
{
return elm_obj_naviframe_item_pop(obj);
}
EAPI 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)
{
return elm_obj_naviframe_item_insert_before(obj, before, title_label, prev_btn, next_btn, content, item_style);
}
EAPI 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)
{
return elm_obj_naviframe_item_push(obj, title_label, prev_btn, next_btn, content, item_style);
}
EAPI void
elm_naviframe_item_simple_promote(Elm_Naviframe *obj, Efl_Canvas_Object *content)
{
elm_obj_naviframe_item_simple_promote(obj, content);
}
EAPI 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)
{
return elm_obj_naviframe_item_insert_after(obj, after, title_label, prev_btn, next_btn, content, item_style);
}

View File

@ -0,0 +1,246 @@
#ifndef _ELM_NAVIFRAME_EO_LEGACY_H_
#define _ELM_NAVIFRAME_EO_LEGACY_H_
#ifndef _ELM_NAVIFRAME_EO_CLASS_TYPE
#define _ELM_NAVIFRAME_EO_CLASS_TYPE
typedef Eo Elm_Naviframe;
#endif
#ifndef _ELM_NAVIFRAME_EO_TYPES
#define _ELM_NAVIFRAME_EO_TYPES
#endif
/**
* @brief Control the event enabled when pushing/popping items
*
* If @c enabled is @c 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 calling evas_object_freeze_events_set()
* internally. So don't call the API whiling pushing/popping items.
*
* @param[in] obj The object.
* @param[in] enabled Events are received when enabled is @c true, and ignored
* otherwise.
*
* @ingroup Elm_Naviframe_Group
*/
EAPI void elm_naviframe_event_enabled_set(Elm_Naviframe *obj, Eina_Bool enabled);
/**
* @brief Control the event enabled when pushing/popping items
*
* If @c enabled is @c 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 calling evas_object_freeze_events_set()
* internally. So don't call the API whiling pushing/popping items.
*
* @param[in] obj The object.
*
* @return Events are received when enabled is @c true, and ignored otherwise.
*
* @ingroup Elm_Naviframe_Group
*/
EAPI Eina_Bool elm_naviframe_event_enabled_get(const Elm_Naviframe *obj);
/**
* @brief Preserve the content objects when items are popped.
*
* @param[in] obj The object.
* @param[in] preserve Enable the preserve mode if @c true, disable otherwise
*
* @ingroup Elm_Naviframe_Group
*/
EAPI void elm_naviframe_content_preserve_on_pop_set(Elm_Naviframe *obj, Eina_Bool preserve);
/**
* @brief Preserve the content objects when items are popped.
*
* @param[in] obj The object.
*
* @return Enable the preserve mode if @c true, disable otherwise
*
* @ingroup Elm_Naviframe_Group
*/
EAPI Eina_Bool elm_naviframe_content_preserve_on_pop_get(const Elm_Naviframe *obj);
/**
* @brief Control if creating prev button automatically or not
*
* @param[in] obj The object.
* @param[in] auto_pushed If @c true, the previous button(back button) will be
* created internally when you pass the @c NULL to the prev_btn parameter in
* elm_naviframe_item_push
*
* @ingroup Elm_Naviframe_Group
*/
EAPI void elm_naviframe_prev_btn_auto_pushed_set(Elm_Naviframe *obj, Eina_Bool auto_pushed);
/**
* @brief Control if creating prev button automatically or not
*
* @param[in] obj The object.
*
* @return If @c true, the previous button(back button) will be created
* internally when you pass the @c NULL to the prev_btn parameter in
* elm_naviframe_item_push
*
* @ingroup Elm_Naviframe_Group
*/
EAPI Eina_Bool elm_naviframe_prev_btn_auto_pushed_get(const Elm_Naviframe *obj);
/**
* @brief Get a list of all the naviframe items.
*
* @param[in] obj The object.
*
* @return A list of naviframe items, @ref Elm_Widget_Item, or @c NULL on
* failure. Note: The returned list MUST be freed.
*
* @ingroup Elm_Naviframe_Group
*/
EAPI Eina_List *elm_naviframe_items_get(const Elm_Naviframe *obj) EINA_WARN_UNUSED_RESULT;
/**
* @brief Get a top item on the naviframe stack
*
* @param[in] obj The object.
*
* @return The top item on the naviframe stack or @c NULL, if the stack is
* empty
*
* @ingroup Elm_Naviframe_Group
*/
EAPI Elm_Widget_Item *elm_naviframe_top_item_get(const Elm_Naviframe *obj);
/**
* @brief Get a bottom item on the naviframe stack
*
* @param[in] obj The object.
*
* @return The bottom item on the naviframe stack or @c NULL, if the stack is
* empty
*
* @ingroup Elm_Naviframe_Group
*/
EAPI Elm_Widget_Item *elm_naviframe_bottom_item_get(const Elm_Naviframe *obj);
/**
* @brief 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.
*
* When pop transition animation is in progress, new pop operation is blocked
* until current pop operation is complete.
*
* @param[in] obj The object.
*
* @return @c NULL or the content object(if the
* elm_naviframe_content_preserve_on_pop_get is true).
*
* @ingroup Elm_Naviframe_Group
*/
EAPI Efl_Canvas_Object *elm_naviframe_item_pop(Elm_Naviframe *obj);
/**
* @brief Insert a new item into the naviframe before item @c before.
*
* The item is inserted into the naviframe straight away without any transition
* operations. This item will be deleted when it is popped.
*
* @param[in] obj The object.
* @param[in] before The naviframe item to insert before.
* @param[in] title_label The label in the title area. The name of the title
* label part is "elm.text.title"
* @param[in] prev_btn 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"
* @param[in] next_btn 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"
* @param[in] content The main content object. The name of content part is
* "elm.swallow.content"
* @param[in] item_style The current item style name. @c NULL would be default.
*
* @return The created item or @c NULL upon failure.
*
* @ingroup Elm_Naviframe_Group
*/
EAPI 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);
/**
* @brief 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.
*
* When push transition animation is in progress, pop operation is blocked
* until push is complete.
*
* The following styles are available for this item: "default"
*
* @param[in] obj The object.
* @param[in] title_label The label in the title area. The name of the title
* label part is "elm.text.title"
* @param[in] prev_btn 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"
* @param[in] next_btn 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"
* @param[in] content The main content object. The name of content part is
* "elm.swallow.content"
* @param[in] item_style The current item style name. @c NULL would be default.
*
* @return The created item or @c NULL upon failure.
*
* @ingroup Elm_Naviframe_Group
*/
EAPI 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);
/**
* @brief Simple version of item_promote.
*
* @param[in] obj The object.
* @param[in] content Item to promote
*
* @ingroup Elm_Naviframe_Group
*/
EAPI void elm_naviframe_item_simple_promote(Elm_Naviframe *obj, Efl_Canvas_Object *content);
/**
* @brief Insert a new item into the naviframe after item @c after.
*
* The item is inserted into the naviframe straight away without any transition
* operations. This item will be deleted when it is popped.
*
* The following styles are available for this item: "default"
*
* @param[in] obj The object.
* @param[in] after The naviframe item to insert after.
* @param[in] title_label The label in the title area. The name of the title
* label part is "elm.text.title"
* @param[in] prev_btn 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"
* @param[in] next_btn 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"
* @param[in] content The main content object. The name of content part is
* "elm.swallow.content"
* @param[in] item_style The current item style name. @c NULL would be default.
*
* @return The created item or @c NULL upon failure.
*
* @ingroup Elm_Naviframe_Group
*/
EAPI 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);
#endif

View File

@ -1,78 +0,0 @@
type Elm_Naviframe_Item_Pop_Cb: __undefined_type; [[Elementary naviframe item pop callback type]]
class Elm.Naviframe.Item extends Elm.Widget.Item implements Efl.Ui.Legacy
{
[[Elementary naviframe item class]]
legacy_prefix: elm_naviframe_item;
eo_prefix: elm_obj_naviframe_item;
methods {
pop_to {
[[Pop the top item and delete the items between the top and the
above one on the given item.
The items between the top and the given item will be deleted
first, and then the top item will be popped at last.
Warning: The pop callback function set by
elm_naviframe_item_pop_cb_set is not called for items between the
top item and the destination item since those items are deleted
without being popped.
]]
}
title_enabled_get @const {
[[Get a value whether title area is enabled or not.]]
return: bool; [[If $true, title area will be enabled, disabled otherwise]]
}
title_enabled_set {
[[Enable/Disable the title area with transition effect
When the title area is disabled, then the controls would be
hidden so as to expand the content area to full-size.
]]
params {
@in enable: bool; [[If $true, title area will be enabled, disabled otherwise]]
@in transition: bool; [[If $true, transition effect of the title will be visible, invisible otherwise]]
}
}
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.
]]
}
pop_cb_set {
[[Set a function to be called when an item of the naviframe is
going to be popped.
Warning: Don't set "clicked" callback to the prev button
additionally if the function does an exact same logic with
this $func. When hardware back key is pressed then both
callbacks will be called.
Warning: The pop callback function is called only if the item is
popped. Therefore, the pop callback function is not called if the
item is deleted without being popped.
@since 1.8
]]
params {
@in func: Elm_Naviframe_Item_Pop_Cb @nullable; [[The callback function.]]
@in data: void_ptr @optional; [[Data to be passed to func call.]]
}
}
}
implements {
Efl.Object.constructor;
Efl.Object.invalidate;
Efl.Object.destructor;
Elm.Widget.Item.signal_emit;
Elm.Widget.Item.part_text { get; set; }
Elm.Widget.Item.part_content { get; set; }
Elm.Widget.Item.part_content_unset;
Elm.Widget.Item.style { set; }
Efl.Access.Object.access_children { get; }
}
}

View File

@ -0,0 +1,102 @@
void _elm_naviframe_item_pop_to(Eo *obj, Elm_Naviframe_Item_Data *pd);
EOAPI EFL_VOID_FUNC_BODY(elm_obj_naviframe_item_pop_to);
Eina_Bool _elm_naviframe_item_title_enabled_get(const Eo *obj, Elm_Naviframe_Item_Data *pd);
EOAPI EFL_FUNC_BODY_CONST(elm_obj_naviframe_item_title_enabled_get, Eina_Bool, 0);
void _elm_naviframe_item_title_enabled_set(Eo *obj, Elm_Naviframe_Item_Data *pd, Eina_Bool enable, Eina_Bool transition);
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_item_title_enabled_set, EFL_FUNC_CALL(enable, transition), Eina_Bool enable, Eina_Bool transition);
void _elm_naviframe_item_promote(Eo *obj, Elm_Naviframe_Item_Data *pd);
EOAPI EFL_VOID_FUNC_BODY(elm_obj_naviframe_item_promote);
void _elm_naviframe_item_pop_cb_set(Eo *obj, Elm_Naviframe_Item_Data *pd, Elm_Naviframe_Item_Pop_Cb func, void *data);
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_naviframe_item_pop_cb_set, EFL_FUNC_CALL(func, data), Elm_Naviframe_Item_Pop_Cb func, void *data);
Efl_Object *_elm_naviframe_item_efl_object_constructor(Eo *obj, Elm_Naviframe_Item_Data *pd);
void _elm_naviframe_item_efl_object_invalidate(Eo *obj, Elm_Naviframe_Item_Data *pd);
void _elm_naviframe_item_efl_object_destructor(Eo *obj, Elm_Naviframe_Item_Data *pd);
void _elm_naviframe_item_elm_widget_item_signal_emit(Eo *obj, Elm_Naviframe_Item_Data *pd, const char *emission, const char *source);
void _elm_naviframe_item_elm_widget_item_part_text_set(Eo *obj, Elm_Naviframe_Item_Data *pd, const char *part, const char *label);
const char *_elm_naviframe_item_elm_widget_item_part_text_get(const Eo *obj, Elm_Naviframe_Item_Data *pd, const char *part);
void _elm_naviframe_item_elm_widget_item_part_content_set(Eo *obj, Elm_Naviframe_Item_Data *pd, const char *part, Efl_Canvas_Object *content);
Efl_Canvas_Object *_elm_naviframe_item_elm_widget_item_part_content_get(const Eo *obj, Elm_Naviframe_Item_Data *pd, const char *part);
Efl_Canvas_Object *_elm_naviframe_item_elm_widget_item_part_content_unset(Eo *obj, Elm_Naviframe_Item_Data *pd, const char *part);
void _elm_naviframe_item_elm_widget_item_style_set(Eo *obj, Elm_Naviframe_Item_Data *pd, const char *style);
Eina_List *_elm_naviframe_item_efl_access_object_access_children_get(const Eo *obj, Elm_Naviframe_Item_Data *pd);
static Eina_Bool
_elm_naviframe_item_class_initializer(Efl_Class *klass)
{
const Efl_Object_Ops *opsp = NULL;
const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
#ifndef ELM_NAVIFRAME_ITEM_EXTRA_OPS
#define ELM_NAVIFRAME_ITEM_EXTRA_OPS
#endif
EFL_OPS_DEFINE(ops,
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_pop_to, _elm_naviframe_item_pop_to),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_title_enabled_get, _elm_naviframe_item_title_enabled_get),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_title_enabled_set, _elm_naviframe_item_title_enabled_set),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_promote, _elm_naviframe_item_promote),
EFL_OBJECT_OP_FUNC(elm_obj_naviframe_item_pop_cb_set, _elm_naviframe_item_pop_cb_set),
EFL_OBJECT_OP_FUNC(efl_constructor, _elm_naviframe_item_efl_object_constructor),
EFL_OBJECT_OP_FUNC(efl_invalidate, _elm_naviframe_item_efl_object_invalidate),
EFL_OBJECT_OP_FUNC(efl_destructor, _elm_naviframe_item_efl_object_destructor),
EFL_OBJECT_OP_FUNC(elm_wdg_item_signal_emit, _elm_naviframe_item_elm_widget_item_signal_emit),
EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_set, _elm_naviframe_item_elm_widget_item_part_text_set),
EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_get, _elm_naviframe_item_elm_widget_item_part_text_get),
EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_set, _elm_naviframe_item_elm_widget_item_part_content_set),
EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_get, _elm_naviframe_item_elm_widget_item_part_content_get),
EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_unset, _elm_naviframe_item_elm_widget_item_part_content_unset),
EFL_OBJECT_OP_FUNC(elm_wdg_item_style_set, _elm_naviframe_item_elm_widget_item_style_set),
EFL_OBJECT_OP_FUNC(efl_access_object_access_children_get, _elm_naviframe_item_efl_access_object_access_children_get),
ELM_NAVIFRAME_ITEM_EXTRA_OPS
);
opsp = &ops;
return efl_class_functions_set(klass, opsp, ropsp);
}
static const Efl_Class_Description _elm_naviframe_item_class_desc = {
EO_VERSION,
"Elm.Naviframe.Item",
EFL_CLASS_TYPE_REGULAR,
sizeof(Elm_Naviframe_Item_Data),
_elm_naviframe_item_class_initializer,
NULL,
NULL
};
EFL_DEFINE_CLASS(elm_naviframe_item_class_get, &_elm_naviframe_item_class_desc, ELM_WIDGET_ITEM_CLASS, EFL_UI_LEGACY_INTERFACE, NULL);
#include "elm_naviframe_item_eo.legacy.c"

View File

@ -0,0 +1,99 @@
#ifndef _ELM_NAVIFRAME_ITEM_EO_H_
#define _ELM_NAVIFRAME_ITEM_EO_H_
#ifndef _ELM_NAVIFRAME_ITEM_EO_CLASS_TYPE
#define _ELM_NAVIFRAME_ITEM_EO_CLASS_TYPE
typedef Eo Elm_Naviframe_Item;
#endif
#ifndef _ELM_NAVIFRAME_ITEM_EO_TYPES
#define _ELM_NAVIFRAME_ITEM_EO_TYPES
#endif
/** Elementary naviframe item class
*
* @ingroup Elm_Naviframe_Item
*/
#define ELM_NAVIFRAME_ITEM_CLASS elm_naviframe_item_class_get()
EWAPI const Efl_Class *elm_naviframe_item_class_get(void);
/**
* @brief Pop the top item and delete the items between the top and the above
* one on the given item.
*
* The items between the top and the given item will be deleted first, and then
* the top item will be popped at last.
*
* @warning The pop callback function set by elm_naviframe_item_pop_cb_set is
* not called for items between the top item and the destination item since
* those items are deleted without being popped.
* @param[in] obj The object.
*
* @ingroup Elm_Naviframe_Item
*/
EOAPI void elm_obj_naviframe_item_pop_to(Eo *obj);
/**
* @brief Get a value whether title area is enabled or not.
*
* @param[in] obj The object.
*
* @return If @c true, title area will be enabled, disabled otherwise
*
* @ingroup Elm_Naviframe_Item
*/
EOAPI Eina_Bool elm_obj_naviframe_item_title_enabled_get(const Eo *obj);
/**
* @brief Enable/Disable the title area with transition effect
*
* When the title area is disabled, then the controls would be hidden so as to
* expand the content area to full-size.
*
* @param[in] obj The object.
* @param[in] enable If @c true, title area will be enabled, disabled otherwise
* @param[in] transition If @c true, transition effect of the title will be
* visible, invisible otherwise
*
* @ingroup Elm_Naviframe_Item
*/
EOAPI void elm_obj_naviframe_item_title_enabled_set(Eo *obj, Eina_Bool enable, Eina_Bool transition);
/**
* @brief 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.
* @param[in] obj The object.
*
* @ingroup Elm_Naviframe_Item
*/
EOAPI void elm_obj_naviframe_item_promote(Eo *obj);
/**
* @brief Set a function to be called when an item of the naviframe is going to
* be popped.
*
* @warning Don't set "clicked" callback to the prev button additionally if the
* function does an exact same logic with this @c func. When hardware back key
* is pressed then both callbacks will be called. Warning: The pop callback
* function is called only if the item is popped. Therefore, the pop callback
* function is not called if the item is deleted without being popped.
*
* @param[in] obj The object.
* @param[in] func The callback function.
* @param[in] data Data to be passed to func call.
*
* @since 1.8
*
* @ingroup Elm_Naviframe_Item
*/
EOAPI void elm_obj_naviframe_item_pop_cb_set(Eo *obj, Elm_Naviframe_Item_Pop_Cb func, void *data);
#endif

View File

@ -0,0 +1,30 @@
EAPI void
elm_naviframe_item_pop_to(Elm_Naviframe_Item *obj)
{
elm_obj_naviframe_item_pop_to(obj);
}
EAPI Eina_Bool
elm_naviframe_item_title_enabled_get(const Elm_Naviframe_Item *obj)
{
return elm_obj_naviframe_item_title_enabled_get(obj);
}
EAPI void
elm_naviframe_item_title_enabled_set(Elm_Naviframe_Item *obj, Eina_Bool enable, Eina_Bool transition)
{
elm_obj_naviframe_item_title_enabled_set(obj, enable, transition);
}
EAPI void
elm_naviframe_item_promote(Elm_Naviframe_Item *obj)
{
elm_obj_naviframe_item_promote(obj);
}
EAPI void
elm_naviframe_item_pop_cb_set(Elm_Naviframe_Item *obj, Elm_Naviframe_Item_Pop_Cb func, void *data)
{
elm_obj_naviframe_item_pop_cb_set(obj, func, data);
}

View File

@ -0,0 +1,92 @@
#ifndef _ELM_NAVIFRAME_ITEM_EO_LEGACY_H_
#define _ELM_NAVIFRAME_ITEM_EO_LEGACY_H_
#ifndef _ELM_NAVIFRAME_ITEM_EO_CLASS_TYPE
#define _ELM_NAVIFRAME_ITEM_EO_CLASS_TYPE
typedef Eo Elm_Naviframe_Item;
#endif
#ifndef _ELM_NAVIFRAME_ITEM_EO_TYPES
#define _ELM_NAVIFRAME_ITEM_EO_TYPES
#endif
/**
* @brief Pop the top item and delete the items between the top and the above
* one on the given item.
*
* The items between the top and the given item will be deleted first, and then
* the top item will be popped at last.
*
* @warning The pop callback function set by elm_naviframe_item_pop_cb_set is
* not called for items between the top item and the destination item since
* those items are deleted without being popped.
* @param[in] obj The object.
*
* @ingroup Elm_Naviframe_Item_Group
*/
EAPI void elm_naviframe_item_pop_to(Elm_Naviframe_Item *obj);
/**
* @brief Get a value whether title area is enabled or not.
*
* @param[in] obj The object.
*
* @return If @c true, title area will be enabled, disabled otherwise
*
* @ingroup Elm_Naviframe_Item_Group
*/
EAPI Eina_Bool elm_naviframe_item_title_enabled_get(const Elm_Naviframe_Item *obj);
/**
* @brief Enable/Disable the title area with transition effect
*
* When the title area is disabled, then the controls would be hidden so as to
* expand the content area to full-size.
*
* @param[in] obj The object.
* @param[in] enable If @c true, title area will be enabled, disabled otherwise
* @param[in] transition If @c true, transition effect of the title will be
* visible, invisible otherwise
*
* @ingroup Elm_Naviframe_Item_Group
*/
EAPI void elm_naviframe_item_title_enabled_set(Elm_Naviframe_Item *obj, Eina_Bool enable, Eina_Bool transition);
/**
* @brief 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.
* @param[in] obj The object.
*
* @ingroup Elm_Naviframe_Item_Group
*/
EAPI void elm_naviframe_item_promote(Elm_Naviframe_Item *obj);
/**
* @brief Set a function to be called when an item of the naviframe is going to
* be popped.
*
* @warning Don't set "clicked" callback to the prev button additionally if the
* function does an exact same logic with this @c func. When hardware back key
* is pressed then both callbacks will be called. Warning: The pop callback
* function is called only if the item is popped. Therefore, the pop callback
* function is not called if the item is deleted without being popped.
*
* @param[in] obj The object.
* @param[in] func The callback function.
* @param[in] data Data to be passed to func call.
*
* @since 1.8
*
* @ingroup Elm_Naviframe_Item_Group
*/
EAPI void elm_naviframe_item_pop_cb_set(Elm_Naviframe_Item *obj, Elm_Naviframe_Item_Pop_Cb func, void *data);
#endif

View File

@ -30,8 +30,6 @@ pub_legacy_eo_files = [
'elm_actionslider_part.eo',
'elm_bubble_part.eo',
'elm_fileselector_part.eo',
'elm_naviframe.eo',
'elm_naviframe_item.eo',
'elm_photo.eo',
'elm_prefs.eo',
'elm_segment_control.eo',
@ -775,6 +773,10 @@ elementary_pub_headers = [
'elm_multibuttonentry_eo.legacy.h',
'elm_multibuttonentry_item_eo.h',
'elm_multibuttonentry_item_eo.legacy.h',
'elm_naviframe_eo.h',
'elm_naviframe_eo.legacy.h',
'elm_naviframe_item_eo.h',
'elm_naviframe_item_eo.legacy.h',
]
elementary_header_src = [