using namespace model;
+static const ViewType cAlarm = ViewType::ALARM;
+static const ViewType cWorldClock = ViewType::WORLD_CLOCK;
+static const ViewType cStopWatch = ViewType::STOP_WATCH;
+static const ViewType cTimer = ViewType::TIMER;
+
static void WinDeleteRequestCb(void *data, Evas_Object *obj, void *event_info)
{
elm_win_lower(obj);
void MainView::ToolbarItemCb(void *data, Evas_Object *obj, void *event_info)
{
- ui::IView **page = static_cast<ui::IView **>(data);
+ ViewType *type = static_cast<ViewType*>(data);
MainView *mainView = static_cast<MainView *>(evas_object_data_get(obj, "parent"));
- if (!*page) {
- ViewType type;
- if (page == &(mainView->alarm_))
- type = ViewType::ALARM;
- else if (page == &(mainView->world_clock_))
- type = ViewType::WORLD_CLOCK;
- else if (page == &(mainView->stop_watch_))
- type = ViewType::STOP_WATCH;
- else if (page == &(mainView->timer_))
- type = ViewType::TIMER;
- else
- return;
-
- mainView->GetView(type);
- }
+ ui::IView *page = mainView->GetView(*type);
+ if (!page) return;
Evas_Object *layout = elm_object_parent_widget_get(obj);
Evas_Object *navi = elm_object_parent_widget_get(layout);
Evas_Object *prev = elm_object_item_content_unset(top);
evas_object_hide(prev);
- evas_object_show((*page)->GetEvasObject());
- elm_object_item_content_set(top, (*page)->GetEvasObject());
+ evas_object_show(page->GetEvasObject());
+ elm_object_item_content_set(top, page->GetEvasObject());
}
MainView::MainView()
elm_object_content_set(conformant_, naviframe_);
}
-void MainView::CreateToolbarItem(const char *icon_path, const char *msgid, IView **content)
+void MainView::CreateToolbarItem(const char *icon_path, const char *msgid, const ViewType *type_ptr)
{
Elm_Object_Item *it = elm_toolbar_item_append(toolbar_, icon_path,
- Translate::Sprintf(msgid).c_str(), ToolbarItemCb, content);
+ Translate::Sprintf(msgid).c_str(), ToolbarItemCb, (void*)type_ptr);
elm_object_item_translatable_text_set(it, msgid);
evas_object_data_set(toolbar_, "parent", this);
void MainView::CreateToolbarButtons()
{
CreateToolbarItem(TizenAppUtils::GetResourcePath(TizenAppUtils::APP_DIR_RESOURCE,
- "images/tabs/clock_tabs_ic_alarm.png"), "IDS_CLOCK_BODY_ALARM", &alarm_);
+ "images/tabs/clock_tabs_ic_alarm.png"), "IDS_CLOCK_BODY_ALARM", &cAlarm);
CreateToolbarItem(TizenAppUtils::GetResourcePath(TizenAppUtils::APP_DIR_RESOURCE,
- "images/tabs/clock_tabs_ic_worldclock.png"), "IDS_CLOCK_BODY_WORLD_CLOCK", &world_clock_);
+ "images/tabs/clock_tabs_ic_worldclock.png"), "IDS_CLOCK_BODY_WORLD_CLOCK", &cWorldClock);
CreateToolbarItem(TizenAppUtils::GetResourcePath(TizenAppUtils::APP_DIR_RESOURCE,
- "images/tabs/clock_tabs_ic_stopwatch.png"), "IDS_CLOCK_BODY_STOPWATCH", &stop_watch_);
+ "images/tabs/clock_tabs_ic_stopwatch.png"), "IDS_CLOCK_BODY_STOPWATCH", &cStopWatch);
CreateToolbarItem(TizenAppUtils::GetResourcePath(TizenAppUtils::APP_DIR_RESOURCE,
- "images/tabs/clock_tabs_ic_timer.png"), "IDS_CLOCK_BODY_TIMER", &timer_);
+ "images/tabs/clock_tabs_ic_timer.png"), "IDS_CLOCK_BODY_TIMER", &cTimer);
}
void MainView::CreateToolbar()