add patch
[framework/osp/web.git] / src / controls / FWebCtrl_WebManager.cpp
index 364ede6..d62b8c7 100755 (executable)
  */\r
 \r
 #include <FBaseSysLog.h>\r
+#include <FUiControl.h>\r
+#include <FUiCtrl_FormImpl.h>\r
 #include "FWebCtrl_WebImpl.h"\r
 #include "FWebCtrl_WebManager.h"\r
+#include "FWebCtrl_WebPopup.h"\r
 \r
 using namespace Tizen::Base;\r
 using namespace Tizen::Base::Collection;\r
+using namespace Tizen::Ui;\r
+using namespace Tizen::Ui::Controls;\r
 \r
 namespace Tizen { namespace Web { namespace Controls\r
 {\r
@@ -35,6 +40,8 @@ namespace Tizen { namespace Web { namespace Controls
 _WebManager::_WebManager(void)\r
        : __pWebList(null)\r
        , __pCallbackList(null)\r
+       , __pActiveWeb(null)\r
+       , __pActivePopup(null)\r
 {\r
 }\r
 \r
@@ -152,4 +159,64 @@ _WebManager::IsValidCallback(int callerAdress, int callbackAdress) const
        return ret;\r
 }\r
 \r
+void\r
+_WebManager::SetActiveWeb(Tizen::Web::Controls::_WebImpl* pWebAddress)\r
+{\r
+       if (__pActiveWeb == null)\r
+       {\r
+               __pActiveWeb = pWebAddress;\r
+       }\r
+       else\r
+       {\r
+               if (__pActiveWeb->IsVisible() == true)\r
+               {\r
+                       return;\r
+               }\r
+               __pActiveWeb = pWebAddress;\r
+       }\r
+\r
+       if (__pActivePopup != null)\r
+       {\r
+               __pActivePopup->SetShowState(false);\r
+\r
+               _FormImpl* pFormImpl = __pActiveWeb->GetParentFormImpl(__pActiveWeb);\r
+\r
+               if (pFormImpl != null)\r
+               {\r
+                       __pActivePopup->SetOwner(&pFormImpl->GetPublic());\r
+               }\r
+               else\r
+               {\r
+                       __pActivePopup->SetOwner(&__pActiveWeb->GetPublic());\r
+               }\r
+\r
+               __pActivePopup->SetShowState(true);\r
+               __pActivePopup->Show();\r
+       }\r
+}\r
+\r
+void\r
+_WebManager::RemoveActiveWeb(Tizen::Web::Controls::_WebImpl* pWebAddress)\r
+{\r
+       if (__pActiveWeb == pWebAddress)\r
+       {\r
+               __pActiveWeb = null;\r
+       }\r
+}\r
+\r
+void\r
+_WebManager::SetActivePopup(Tizen::Web::Controls::_WebPopup* pPopupAddress)\r
+{\r
+       __pActivePopup = pPopupAddress;\r
+}\r
+\r
+void\r
+_WebManager::RemoveActivePopup(Tizen::Web::Controls::_WebPopup* pPopupAddress)\r
+{\r
+       if (__pActivePopup == pPopupAddress)\r
+       {\r
+               __pActivePopup = null;\r
+       }\r
+}\r
+\r
 } } }\r