struct _Widget_Data
{
- Eina_Inlist *stack;
- Evas_Object *base;
- Evas_Object *rect;
- Eina_Bool preserve: 1;
- Eina_Bool auto_pushed: 1;
- Eina_Bool freeze_events: 1;
+ Eina_Inlist *stack;
+ Evas_Object *base;
+ Evas_Object *rect;
+ Eina_Bool preserve: 1;
+ Eina_Bool auto_pushed: 1;
+ Eina_Bool freeze_events: 1;
};
struct _Elm_Naviframe_Content_Item_Pair
static void
_back_btn_clicked(void *data,
- Evas_Object *obj __UNUSED__,
+ Evas_Object *obj,
void *event_info __UNUSED__)
{
+ evas_object_smart_callback_del(obj, "clicked", _back_btn_clicked);
elm_naviframe_item_pop(data);
}
SIG_TRANSITION_FINISHED,
data);
if (wd->freeze_events)
- {
- evas_object_hide(wd->rect);
- //FIXME:
- evas_object_pass_events_set(wd->base, EINA_FALSE);
- }
+ evas_object_hide(wd->rect);
}
static void
wd = elm_widget_data_get(navi_it->base.widget);
if (wd && wd->freeze_events)
- {
- evas_object_hide(wd->rect);
- //FIXME:
- evas_object_pass_events_set(wd->base, EINA_FALSE);
- }
+ evas_object_hide(wd->rect);
}
EAPI Evas_Object *
if (prev_it)
{
if (wd->freeze_events)
- {
- evas_object_show(wd->rect);
- //FIXME:
- evas_object_pass_events_set(wd->base, EINA_TRUE);
- }
+ evas_object_show(wd->rect);
+
edje_object_signal_emit(prev_it->base.view,
"elm,state,cur,pushed",
"elm");
if (prev_it)
{
if (wd->freeze_events)
- {
- evas_object_show(wd->rect);
- //FIXME:
- evas_object_pass_events_set(wd->base, EINA_TRUE);
- }
- edje_object_signal_emit(it->base.view, "elm,state,cur,popped", "elm");
+ evas_object_show(wd->rect);
evas_object_show(prev_it->base.view);
evas_object_raise(prev_it->base.view);
edje_object_signal_emit(prev_it->base.view,
"elm,state,prev,popped",
"elm");
+ edje_object_signal_emit(it->base.view, "elm,state,cur,popped", "elm");
}
else
_item_del(it);
prev_it = EINA_INLIST_CONTAINER_GET(wd->stack->last->prev,
Elm_Naviframe_Item);
if (wd->freeze_events)
- {
- evas_object_show(wd->rect);
- //FIXME:
- evas_object_pass_events_set(wd->base, EINA_TRUE);
- }
+ evas_object_show(wd->rect);
edje_object_signal_emit(prev_it->base.view,
"elm,state,cur,pushed",
"elm");