Fix AppWidgetPopupView
authorChoi Munseok <ms47.choi@samsung.com>
Tue, 19 Mar 2013 02:04:28 +0000 (11:04 +0900)
committerChoi Munseok <ms47.choi@samsung.com>
Tue, 19 Mar 2013 02:04:28 +0000 (11:04 +0900)
Change-Id: I7f4371e8c953812d3cb52a203168da32ef4976ba
Signed-off-by: Choi Munseok <ms47.choi@samsung.com>
src/FShell_AppWidgetPopupView.cpp
src/FShell_AppWidgetPopupView.h

index 563134d..62338d0 100644 (file)
 #include <FBase_StringConverter.h>
 #include <FGrp_BitmapImpl.h>
 #include <FMedia_ImageDecoder.h>
+#include <FUi_ControlManager.h>
+#include <FUiAnim_EflNode.h>
+#include <FUiAnim_VisualElement.h>
+#include <FUiAnim_VisualElementImpl.h>
+#include <FUiAnim_VisualElementSurfaceImpl.h>
+#include <FUi_CoordinateSystemUtils.h>
+#include <FUiCtrl_Frame.h>
 #include "FShell_AppWidgetPopupView.h"
 #include "FShell_AppWidgetPopupViewPresenter.h"
 #include "FShell_AppWidgetPopupViewEvent.h"
 #include "FShell_AppWidgetView.h"
 #include "FShell_IAppWidgetPopupViewEventListener.h"
-#include "FUi_ControlManager.h"
-#include "FUiAnim_EflNode.h"
-#include "FUiAnim_VisualElement.h"
-#include "FUiAnim_VisualElementImpl.h"
-#include "FUiAnim_VisualElementSurfaceImpl.h"
-#include "FUi_CoordinateSystemUtils.h"
 
 using namespace std;
 using namespace Tizen::Base;
@@ -383,6 +384,63 @@ _AppWidgetPopupView::OnDraw(void)
        __pAppWidgetPopupViewPresenter->Draw();
 }
 
+result
+_AppWidgetPopupView::OnAttachedToMainTree(void)
+{
+       result r = _Window::OnAttachedToMainTree();
+
+       _Window* pWindow = _ControlManager::GetInstance()->GetCurrentFrame();
+       if (pWindow)
+       {
+               _Frame* pFrame = dynamic_cast<_Frame*>(pWindow);
+               if (pFrame)
+               {
+                       pFrame->AddFrameEventListener(*this);
+               }
+       }
+
+       return r;
+}
+
+result
+_AppWidgetPopupView::OnDetachingFromMainTree(void)
+{
+       result r = _Window::OnDetachingFromMainTree();
+
+       _Window* pWindow = _ControlManager::GetInstance()->GetCurrentFrame();
+       if (pWindow)
+       {
+               _Frame* pFrame = dynamic_cast<_Frame*>(pWindow);
+               if (pFrame)
+               {
+                       pFrame->RemoveFrameEventListener(*this);
+               }
+       }
+
+       return r;
+}
+
+void
+_AppWidgetPopupView::OnFrameActivated(const Tizen::Ui::Controls::_Frame& source)
+{
+}
+
+void
+_AppWidgetPopupView::OnFrameDeactivated(const Tizen::Ui::Controls::_Frame& source)
+{
+       PlayAnimation(false);
+}
+
+void
+_AppWidgetPopupView::OnFrameMinimized(const Tizen::Ui::Controls::_Frame& source)
+{
+}
+
+void
+_AppWidgetPopupView::OnFrameRestored(const Tizen::Ui::Controls::_Frame& source)
+{
+}
+
 void
 _AppWidgetPopupView::OnAppWidgetUpdated(const Tizen::Graphics::Bitmap& bitmap, const Tizen::Graphics::FloatDimension& size)
 {
index a5a7bf5..fcee1bf 100644 (file)
 // See the License for the specific language governing permissions and
 // limitations under the License.
 //
+
 /**
  * @file               FShell_AppWidgetPopupView.h
  * @brief              This is the header file for the _AppWidgetPopupView class.
  *
  * This header file contains the declarations of the %_AppWidgetPopupView class.
  */
+
 #ifndef _FSHELL_INTERNAL_APPWIDGET_POPUP_VIEW_H_
 #define _FSHELL_INTERNAL_APPWIDGET_POPUP_VIEW_H_
 
@@ -28,7 +30,8 @@
 #include <Ecore.h>
 #include <Ecore_X.h>
 #include <FUiAnimIVisualElementAnimationStatusEventListener.h>
-#include "FUi_Window.h"
+#include <FUiCtrl_IFrameEventListener.h>
+#include <FUi_Window.h>
 
 namespace Tizen { namespace Base
 {
@@ -64,6 +67,7 @@ class _IAppWidgetPopupViewEventListener;
 class _AppWidgetPopupView
        : public Tizen::Ui::_Window
        , public Tizen::Ui::Animations::IVisualElementAnimationStatusEventListener
+       , public Tizen::Ui::Controls::_IFrameEventListener
 {
 public:
        static _AppWidgetPopupView* CreateAppWidgetPopupN(_AppWidgetView& appwidgetView);
@@ -97,6 +101,13 @@ private:
        virtual void OnVisualElementAnimationFinished(const Tizen::Ui::Animations::VisualElementAnimation& animation, const Tizen::Base::String& keyName, Tizen::Ui::Animations::VisualElement& target, bool completedNormally);
        virtual void OnVisualElementAnimationRepeated(const Tizen::Ui::Animations::VisualElementAnimation& animation, const Tizen::Base::String& keyName, Tizen::Ui::Animations::VisualElement& target, long currentRepeatCount);
        virtual void OnDraw(void);
+       virtual result OnAttachedToMainTree(void);
+       virtual result OnDetachingFromMainTree(void);
+
+       virtual void OnFrameActivated(const Tizen::Ui::Controls::_Frame& source);
+       virtual void OnFrameDeactivated(const Tizen::Ui::Controls::_Frame& source);
+       virtual void OnFrameMinimized(const Tizen::Ui::Controls::_Frame& source);
+       virtual void OnFrameRestored(const Tizen::Ui::Controls::_Frame& source);
 
        void OnAppWidgetUpdated(const Tizen::Graphics::Bitmap& bitmap, const Tizen::Graphics::FloatDimension& size);
        void OnAppWidgetUpdated(int pixmap);