ui_view(const char *name = NULL);
virtual ~ui_view();
- Evas_Object *set_content(Evas_Object *content, const char *title = NULL);
- Evas_Object *set_content(Evas_Object *content, const char *title, const char *subtitle, Elm_Button *title_left_btn, Elm_Button *title_right_btn);
+ bool set_content(Evas_Object *content, const char *title = NULL);
+ bool set_content(Evas_Object *content, const char *title, const char *subtitle, Elm_Button *title_left_btn, Elm_Button *title_right_btn);
bool set_title_badge(const char *text);
bool set_subtitle(const char *text);
bool set_title_left_btn(Elm_Button *title_left_btn);
*
* @return A previous content. If it wasn't, return value will be @c NULL.
*/
- virtual Evas_Object *set_content(Evas_Object *content);
+ virtual bool set_content(Evas_Object *content);
/** @brief This is for unsetting a content of the view.
*
ui_base_view::on_unload();
}
-Evas_Object *
-ui_view::set_content(Evas_Object *content, const char *title)
+bool ui_view::set_content(Evas_Object *content, const char *title)
{
- Evas_Object *pcontent = ui_base_view::set_content(content);
+ ui_base_view::set_content(content);
if (this->layout)
{
else
{
LOGE("Layout is not exist!");
+ return false;
}
- return pcontent;
+ return true;
}
bool ui_view::set_subtitle(const char *text)
return false;
}
-Evas_Object *ui_view::set_content(Evas_Object *content, const char *title, const char *subtitle, Elm_Button *title_left_btn,
+bool ui_view::set_content(Evas_Object *content, const char *title, const char *subtitle, Elm_Button *title_left_btn,
Elm_Button *title_right_btn)
{
- Evas_Object *pcontent = this->set_content(content);
+ if (!this->set_content(content)) return false;
if (this->layout)
{
else
{
LOGE("Layout is not exist!");
+ return false;
}
- return pcontent;
+ return true;
}
bool ui_view::set_toolbar(Elm_Toolbar *toolbar)
{
}
-Evas_Object *ui_base_view::set_content(Evas_Object *content)
+bool ui_base_view::set_content(Evas_Object *content)
{
- T pcontent = ui_iface_view::set_content(CONVERT_TO_T(content));
- return CONVERT_TO_EO(pcontent);
+ T pcontent = this->get_content();
+ if (pcontent) evas_object_del(CONVERT_TO_EO(pcontent));
+ if (content) ui_iface_view::set_content(CONVERT_TO_T(content));
+ else ui_iface_view::set_content(NULL);
+ return true;
}
Evas_Object *ui_base_view::unset_content()
{
T pcontent = ui_iface_view::unset_content();
- return static_cast<Evas_Object *>(pcontent);
+ return CONVERT_TO_EO(pcontent);
}
Evas_Object *ui_base_view::get_base()
return viewmgr->get_base();
}
+//FIXME: seems it could be replaced with set_content(NULL);
void ui_base_view::unload_content()
{
- Evas_Object *pcontent = this->set_content(NULL);
- if (pcontent) evas_object_del(pcontent);
+ T pcontent = this->get_content();
+ if (pcontent) evas_object_del(CONVERT_TO_EO(pcontent));
+ this->set_content(NULL);
}
Evas_Object *ui_base_view ::get_parent()