}
void WindowData::setViewMode(
- const char *title,
bool fullscreen,
+ bool backbutton,
CtxMenuItems ctxMenuItems)
{
LogDebug("setViewMode " <<m_debugMode);
LogDebug("fullscreen: " << fullscreen);
+ LogDebug("backbutton: " << backbutton);
m_fullscreen = fullscreen;
toggleIndicator(m_fullscreen);
- m_title = title;
+ if (backbutton) {
+ createFloatBackButton();
+ }
+
m_ctxMenuItems = ctxMenuItems;
if(m_debugMode) {
- if(fullscreen)
- showHiddenOption(m_user_layout);
- else
- createTitle(m_title.c_str(), m_ctxMenuItems);
-
+ showHiddenOption(m_user_layout);
createToolbar(m_ctxMenuItems);
}
- else
- if(!fullscreen)
- createTitle(m_title.c_str(), m_ctxMenuItems);
-}
-
-void WindowData::createTitle(const char *data, CtxMenuItems ctxMenuItems)
-{
- LogDebug("createTitle");
- showTitle(data);
- if(m_debugMode) {
- createMoreButton();
- createTitleToolbar(ctxMenuItems);
- }
-}
-
-void WindowData::showTitle(const char *data)
-{
- LogInfo("showTitle");
-
- Elm_Object_Item* naviIt = elm_naviframe_top_item_get(m_navigation);
- elm_naviframe_item_title_visible_set(naviIt, EINA_TRUE);
- elm_object_item_text_set(naviIt, data);
-}
-
-void WindowData::hideTitle()
-{
- LogInfo("hideTitle");
-
- Elm_Object_Item* naviIt = elm_naviframe_top_item_get(m_navigation);
- elm_object_item_signal_emit(naviIt, "elm,state,optionheader,instant_close", "");
- optionheaderClose = FALSE;
-
- elm_naviframe_item_title_visible_set(naviIt, EINA_FALSE);
-}
-
-void WindowData::createMoreButton()
-{
- Evas_Object *btn = elm_button_add(m_navigation);
- if (!btn)
- return;
- Elm_Object_Item* naviIt = elm_naviframe_top_item_get(m_navigation);
- elm_object_style_set(btn, "naviframe/more/default");
- evas_object_smart_callback_add(btn, "clicked", moreButtonCallback, this);
- elm_object_item_part_content_set(naviIt, "title_more_btn", btn);
- evas_object_show(btn);
-
-}
-
-void WindowData::createTitleToolbar(CtxMenuItems ctxMenuItems)
-{
- Elm_Object_Item *toolbarIt;
- Evas_Object *toolbarButton;
- Elm_Object_Item *naviIt = elm_naviframe_top_item_get(m_navigation);
-
- Evas_Object *toolbar = elm_toolbar_add(m_navigation);
- if (!toolbar)
- return;
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
-
- elm_object_style_set(toolbar, "naviframe");
-
- toolbarButton = elm_button_add(m_navigation);
- if (!toolbarButton)
- return;
-
- std::list<CtxMenuItem>::iterator itor;
- for (itor = ctxMenuItems.begin(); itor != ctxMenuItems.end(); ++itor) {
- toolbarButton = elm_button_add(toolbar);
- elm_object_style_set(toolbarButton, "naviframe_contrl/default");
- evas_object_size_hint_align_set(toolbarButton,
- EVAS_HINT_FILL,
- EVAS_HINT_FILL);
- elm_object_text_set(toolbarButton, ((*itor).label).c_str());
- evas_object_smart_callback_add(toolbarButton,
- "clicked",
- (*itor).callback,
- (*itor).data);
- toolbarIt = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(toolbarIt, "object", toolbarButton);
- }
-
- toolbarButton = elm_button_add(toolbar);
- elm_object_style_set(toolbarButton, "naviframe_contrl/default");
- evas_object_size_hint_align_set(toolbarButton,
- EVAS_HINT_FILL,
- EVAS_HINT_FILL);
- elm_object_text_set(toolbarButton, WRT_OPTION_LABEL_FULLVIEW);
- evas_object_smart_callback_add(toolbarButton,
- "clicked",
- changeViewModeCallback,
- this);
- toolbarIt = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(toolbarIt, "object", toolbarButton);
-
- elm_object_item_part_content_set(naviIt, "optionheader", toolbar);
- elm_object_item_signal_emit(naviIt,
- "elm,state,optionheader,instant_close",
- "");
- optionheaderClose = TRUE;
}
void WindowData::createToolbar(CtxMenuItems ctxMenuItems)
}
}
-void WindowData::createTitleButton()
-{
- // Add left button for back action
- m_naviBackButton = elm_button_add(m_navigation);
- elm_object_style_set(m_naviBackButton, "navigationbar_backbutton/default");
-
- Elm_Object_Item* naviIt = elm_naviframe_top_item_get(m_navigation);
- elm_object_item_part_content_set(naviIt, "prev_btn", m_naviBackButton);
-}
-
void WindowData::createFloatBackButton()
{
// Add float backbutton on the left coner
evas_object_show(m_floatBackButton);
}
-void WindowData::updateTitleButton(const bool display)
-{
- if (display) {
- evas_object_show(m_naviBackButton);
- } else {
- evas_object_hide(m_naviBackButton);
- }
-}
-
Evas_Object* WindowData::createWindow(unsigned long pid)
{
Evas_Object* window = elm_win_add(NULL, "wrt-widget", ELM_WIN_BASIC);
Elm_Object_Item *naviIt = elm_naviframe_top_item_get(This->m_navigation);
if(elm_naviframe_item_title_visible_get(naviIt)) {
- This->hideTitle();
This->showHiddenOption(This->m_user_layout);
} else {
- This->createTitle(This->m_title.c_str(), This->m_ctxMenuItems);
This ->hideToolbar();
}
}
if (!m_fullscreen) {
//If ViewMode is not fullscreen, toggle the title bar and indicator
- fullscreen ? hideTitle() : showTitle(m_title.c_str());
toggleIndicator(fullscreen);
}
alreadyFullscreen = !alreadyFullscreen;