From: lke01.lee Date: Fri, 21 Dec 2012 00:52:16 +0000 (+0900) Subject: window compoment has been changed X-Git-Tag: 2.1b_release~22^2~144 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=39e022fd43c178c6f3b656c557447c4fd6e476dd;p=platform%2Fframework%2Fweb%2Fwrt.git window compoment has been changed [Issue#] The new policy for window [Problem] [Cause] To support indicator, window structure need to be changed. [Solution] window structure have been changed. Change-Id: I90686e6e35b038468667ac33fc745a456053ebd2 --- diff --git a/src/wrt-client/window_data.cpp b/src/wrt-client/window_data.cpp index 6d7ba51..c7597dd 100644 --- a/src/wrt-client/window_data.cpp +++ b/src/wrt-client/window_data.cpp @@ -46,12 +46,14 @@ char const* const INDICATOR = "indicator"; char const* const NOINDICATOR = "noindicator"; char const* const INTERNAL_LAYOUT = "internal_layout"; char const* const FLOATBACKWARD_BUTTON_STYLE = "wrt/backward"; + } // anonymous namespace WindowData::WindowData(unsigned long pid, bool manualInit) : - m_win(NULL), m_naviBackButton(NULL), - m_toolbarTimer(NULL), - m_debugMode(false) + m_debugMode(false), + m_win(NULL), + m_naviBackButton(NULL), + m_toolbarTimer(NULL) { m_win = createWindow(pid); @@ -74,14 +76,14 @@ void WindowData::init() // import button theme elm_theme_overlay_add(NULL, THEME_EDJ_PATH); - m_platform_layout = createPlatformLayout(m_win); + m_conformant = createConformant(m_win); + evas_object_show(m_conformant); + m_platform_layout = createPlatformLayout(m_conformant); evas_object_show(m_platform_layout); m_navigation = createNavigationBar(m_platform_layout); evas_object_show(m_navigation); m_user_layout = createUserLayout(m_navigation); evas_object_show(m_user_layout); - m_conformant = createConformant(m_user_layout); - evas_object_show(m_conformant); } void WindowData::setEvasObjectForLayout(Evas_Object* evas_object) @@ -100,16 +102,8 @@ void WindowData::toggleIndicator(bool fullscreen) if (!fullscreen) { elm_win_indicator_mode_set(m_win, ELM_WIN_INDICATOR_SHOW); - elm_layout_theme_set(m_platform_layout, - LAYOUT, - APPLICATION, - INDICATOR); } else { elm_win_indicator_mode_set(m_win, ELM_WIN_INDICATOR_HIDE); - elm_layout_theme_set(m_platform_layout, - LAYOUT, - APPLICATION, - NOINDICATOR); } } @@ -118,7 +112,7 @@ void WindowData::setViewMode( bool backbutton, CtxMenuItems ctxMenuItems) { - LogDebug("setViewMode " <(data); - Elm_Object_Item *naviIt = elm_naviframe_top_item_get(This->m_navigation); - - if(!elm_naviframe_item_title_visible_get(naviIt)) { - const char* state = edje_object_part_state_get( - elm_layout_edje_get(This->m_user_layout), - "elm.swallow.toolbar", - NULL); - - if (state && !strncmp(state, "default", strlen("default"))) { - This->showToolbar(); - This->hideHiddenOption(This->m_user_layout); - } - else { - This->initFullViewMode(); - } + const char* state = edje_object_part_state_get( + elm_layout_edje_get(This->m_user_layout), "elm.swallow.toolbar", + NULL); + if (state && !strncmp(state, "default", strlen("default"))) { + This->showToolbar(); + This->hideHiddenOption(This->m_user_layout); + } else { + This->initFullViewMode(); } } @@ -508,9 +485,8 @@ void WindowData::toggleFullscreen(bool fullscreen) return; } - if (!m_fullscreen) { - //If ViewMode is not fullscreen, toggle the title bar and indicator + if (!m_fullscreen) //If ViewMode is not fullscreen, toggle indicator toggleIndicator(fullscreen); - } + alreadyFullscreen = !alreadyFullscreen; } diff --git a/src/wrt-client/window_data.h b/src/wrt-client/window_data.h index e5de07d..0082990 100644 --- a/src/wrt-client/window_data.h +++ b/src/wrt-client/window_data.h @@ -44,12 +44,10 @@ namespace { const char *const WRT_OPTION_LABEL_BACKWARD = "Backward"; const char *const WRT_OPTION_LABEL_FORWARD = "Forward"; const char *const WRT_OPTION_LABEL_RELOAD = "Reload"; -const char *const WRT_OPTION_LABEL_FULLVIEW = "Full view"; const char *const WRT_OPTION_ICON_BACKWARD = "/usr/etc/wrt/icon_left_arrow.png"; const char *const WRT_OPTION_ICON_FORWARD = "/usr/etc/wrt/icon_right_arrow.png"; const char *const WRT_OPTION_ICON_RELOAD = "/usr/etc/wrt/icon_refresh.png"; -const char *const WRT_OPTION_ICON_WINDOWVIEW = "/usr/etc/wrt/mp_stop.png"; } class WindowData : private DPL::Noncopyable @@ -74,9 +72,10 @@ class WindowData : private DPL::Noncopyable typedef std::vector EventWithFunctionVector; public: - Evas_Object* m_win; - Evas_Object* m_conformant; bool m_debugMode; + Evas_Object* m_win; + Evas_Object* m_user_layout; + struct CtxMenuItem { @@ -144,8 +143,8 @@ class WindowData : private DPL::Noncopyable void toggleFullscreen(bool fullscreen); protected: + Evas_Object* m_conformant; Evas_Object* m_platform_layout; - Evas_Object* m_user_layout; Evas_Object* m_navigation; Evas_Object* m_naviBackButton; Evas_Object* m_floatBackButton; @@ -165,7 +164,7 @@ class WindowData : private DPL::Noncopyable void hideHiddenOption(Evas_Object* parent); void alignProgressPosition(); - void toggleIndicator(bool indicator); + void toggleIndicator(bool fullscreen); void createFloatBackButton(); }; diff --git a/src/wrt-client/wrt-client.cpp b/src/wrt-client/wrt-client.cpp index c590938..5508920 100644 --- a/src/wrt-client/wrt-client.cpp +++ b/src/wrt-client/wrt-client.cpp @@ -35,6 +35,7 @@ const char *EDJE_SHOW_BACKWARD_SIGNAL = "show,backward,signal"; const std::string VIEWMODE_TYPE_FULLSCREEN = "fullscreen"; const std::string VIEWMODE_TYPE_MAXIMIZED = "maximized"; +char const* const ELM_SWALLOW_CONTENT = "elm.swallow.content"; WrtClient::WrtClient(int argc, char **argv) : Application(argc, argv, "wrt-client", false), @@ -538,7 +539,6 @@ void WrtClient::initializeWindowModes() (settings.getBackButtonPresence() == BackButton_Enable); } - FOREACH(it, windowModes) { std::string viewMode = DPL::ToUTF8String(*it); @@ -550,23 +550,15 @@ void WrtClient::initializeWindowModes() } } - WrtDB::WidgetLocalizedInfo localizedInfo = - W3CFileLocalization::getLocalizedInfo(m_dao); - std::string name = ""; - if (!(localizedInfo.name.IsNull())) { - name = DPL::ToUTF8String(*(localizedInfo.name)); - } LogInfo("initializeWindowModes " << m_debugMode); -#if 1 - m_windowData->m_debugMode = FALSE; -#else + if(m_debugMode) { m_windowData->m_debugMode = TRUE; } else { m_windowData->m_debugMode = FALSE; } -#endif + WindowData::CtxMenuItems ctxMenuItems; WindowData::CtxMenuItem ctxMenuBackword; @@ -674,16 +666,18 @@ void WrtClient::connectElmCallback() void WrtClient::setLayout(Evas_Object* newBuffer) { LogDebug("add new webkit buffer to window"); Assert(newBuffer); - elm_object_content_set(m_windowData->m_conformant, newBuffer); + + elm_object_part_content_set(m_windowData->m_user_layout, ELM_SWALLOW_CONTENT, newBuffer); + evas_object_show(newBuffer); - evas_object_focus_set(newBuffer, EINA_TRUE); } void WrtClient::unsetLayout(Evas_Object* currentBuffer) { LogDebug("remove current webkit buffer from window"); Assert(currentBuffer); evas_object_hide(currentBuffer); - elm_object_content_unset(m_windowData->m_conformant); + + elm_object_part_content_unset(m_windowData->m_user_layout, ELM_SWALLOW_CONTENT); } void WrtClient::shutdownStep()