Remove calling virtual function in class destructor.
The derived class resources should clean-up in their
destructors.
Fix minor issues reffering to PageView usage.
Change-Id: I6b41a187d8b233cca3429ed189c023b5023fe6f8
typedef std::function<void(void)> ButtonClickedCallback;
DeleteAlarmView(ui::IView &main);
+ ~DeleteAlarmView();
void RegisterCancelButtonClickedCallback(ButtonClickedCallback cb) { onCancelButtonClicked_ = cb; }
void RegisterDeleteButtonClickedCallback(ButtonClickedCallback cb) { onDeleteButtonClicked_ = cb; }
EditAlarmView(ui::IView &main);
+ ~EditAlarmView();
Evas_Object *GetEvasObject();
const AlarmViewInfo& GetData() const { return data_; }
delete alarm;
AlarmProvider::Sync();
+ view_.PopPage();
}
void EditAlarmPresenter::OnEditCancel()
{
- DBG("Cancel adding alarm");
+ view_.PopPage();
}
{
}
+DeleteAlarmView::~DeleteAlarmView()
+{
+ DestroyContent();
+}
+
void DeleteAlarmView::ItemSelectToggle(void *data, Evas_Object *obj, void *event)
{
ItemData *id = static_cast<ItemData*>(data);
std::bind(&EditAlarmView::OnWeekFlagsPagePopped, this));
}
+EditAlarmView::~EditAlarmView()
+{
+ DestroyContent();
+}
+
Evas_Object *EditAlarmView::GetEvasObject()
{
return content_;
Evas_Object *win = static_cast<Evas_Object *>(data);
elm_win_lower(win);
+ return EINA_FALSE;
}
void toolbar_it_cb (void *data, Evas_Object *obj, void *event_info)
{
- PageView *page = static_cast<PageView *>(data);
-
- /*TODO
- * Send data refresh request
- * e.g. page->RefreshContent();
- */
+ ui::IView *page = static_cast<ui::IView*>(data);
Evas_Object *layout = elm_object_parent_widget_get(obj);
Evas_Object *navi = elm_object_parent_widget_get(layout);
timer_ = new TimerView(*this);
}
-
-
void MainView::CreateToolbarButtons()
{
elm_toolbar_item_append(toolbar_, Utils::GetAppResourcePath(Utils::APP_DIR_RESOURCE,
elm_toolbar_select_mode_set(toolbar_, ELM_OBJECT_SELECT_MODE_ALWAYS);
evas_object_show(toolbar_);
-
}
void MainView::CreateContent()
PageView::~PageView()
{
- PopPage();
+ if (navi_item_) {
+ elm_object_item_del_cb_set(navi_item_, nullptr);
+ elm_object_item_del(navi_item_);
+ }
}
PageView::PageView(ui::IView &main)
if (!navi_item_)
return;
- if (elm_naviframe_top_item_get(GetNaviframe()) == navi_item_) {
- elm_naviframe_item_pop(GetNaviframe());
- EmitPoppedEvent();
- navi_item_ = NULL;
- DestroyContent();
- }
+ DestroyContent();
+ elm_object_item_del_cb_set(navi_item_, nullptr);
+ elm_object_item_del(navi_item_);
+ navi_item_ = NULL;
+ EmitPoppedEvent();
}
Evas_Object *PageView::GetNaviframe()