elm_object_part_content_set(layout, "elm.swallow.content", CONVERT_TO_EO(this->get_content()));
}
+ //Set soft back key, if it's needed
+ ui_viewmgr *viewmgr = dynamic_cast<ui_viewmgr *>(ui_view_base::get_viewmgr());
+ if (viewmgr->get_soft_back_key())
+ {
+ Evas_Object *prev_btn = elm_button_add(layout);
+
+ if (!prev_btn)
+ {
+ LOGE("Failed to create a button = ui_basic_view(%p)", this);
+ }
+ else
+ {
+ evas_object_smart_callback_add(prev_btn, "clicked", [](void *data, Evas_Object *obj, void *event_info) -> void
+ {
+ ui_viewmgr *viewmgr = static_cast<ui_viewmgr *>(data);
+ viewmgr->pop_view();
+ }, viewmgr);
+ //FIXME: Its not a naviframe :)
+ elm_object_style_set(prev_btn, "naviframe/back_btn/default");
+ elm_object_part_content_set(layout, "elm.swallow.prev_btn", prev_btn);
+ elm_object_signal_emit(layout, "elm,state,prev_btn,show", "elm");
+ }
+ }
+
this->layout = layout;
return true;
ui_viewmgr_base::ui_viewmgr_base()
: event_block(true), activated(false)
{
- //TODO: Initialize ?
+ //FIXME: Read binary profile to decide whether support software back key or not.
+ // software back key is needed in latest UX(Tizen_2.4)
+ this->soft_back_key = true;
}
ui_viewmgr_base::~ui_viewmgr_base()
list<ui_view_base*> view_list; //view list.
bool event_block; //event block on view transition. This value should be configurable by system.
bool activated; //activated status of this viewmgr.
+ bool soft_back_key; //If system doesn't support HW back key, then this value is true.
/**
* @brief link a given view to this viewmgr.
return this->activated;
}
+ /**
+ * @brief Return the whether software back key need or not.
+ *
+ * @return whether need software back key.
+ *
+ */
+ bool get_soft_back_key()
+ {
+ return this->soft_back_key;
+ }
+
};
#endif /* UI_WINDOW_BASE_H_ */